Currently, the approach for removing OpenStack loadbalancers is to look
for appropriate tag (i.e. openshiftClusterID=<cluster_id>) and then
delete it. Issue with this approach is that no such tags are applied on
the loadbalancer resources, and also there is no such tag in description
field. Hence, deleteLoadBalancer function will give 0 results for
existing loadbalancers, as they have no such tag either in tags nor on
description.
With this patch, deleteLoadBalancer has been refactored to get all the
loadbalancers and filter out that resources which have ClusterID in
description, so that they will be safely deleted.
Set the minimum MTU to 1380 when deploying on IPv6. This value
corresponds to the minimum MTU for IPv6, which is 1280, and the
ovn-kubernetes overhead, which is 100.
In 4.15 Kuryr is no longer a supported NetworkType, following its
deprecation in 4.12. This commit removes mentions of Kuryr from the
documentation and code, but also adds validation to prevent
installations from being executed when `networkType` is set to `Kuryr`.
With the bump to Gophercloud v1.1.1, the library should be able to
handle HTTP status 204 responses without `content-type` without
erroring. The workaround that was in place to force contentful responses
can then be removed.
* Replace terraform modules with github.com/hashicorp/terraform-exec.
* Remove all terraform providers.
* Remove all unneeded replaces.
* Tidy up the replace stanzas so that it is more clear why each replace is needed.
* Remove and re-create all indirect requires to clean up ones that are
no longer needed.
When an user wants to deploy with rootVolume, they need to specify
a volume type.
We already checked that the volume type was set but we didn't check that
the type was actually existing.
With this patch, we now check that the type exists.
If the Volume Type doesn't exist, it'll show this error message:
```
FATAL failed to fetch Metadata: failed to load asset "Install Config": compute[0].platform.openstack.rootVolume.type.type: Invalid value: "wrong": Volume Type either does not exist in this cloud, or is not available
```
Note: this patch also adds test coverage when the type is an empty
string, which wasn't done before.
Bump gophercloud/utils to include
https://github.com/gophercloud/utils/pull/149
This commit ensures gophercloud keeps working fine when using a custom
CA cert and Proxy at the same time.
* github.com/gophercloud/gophercloud
* github.com/gophercloud/utils
* github.com/terraform-provider-openstack/terraform-provider-openstack
Also adjust a call to servergroup.List to comply with the new function
signature[1].
[1]: gophercloud/gophercloud#2070
Signed-off-by: Emilien Macchi <emilien@redhat.com>
This patch introduces recent optimizations for tls config generation.
1. Now the library ignores the fact the CA certificate can be broken
(if it can't parse it for some reason, it just leaves an empty string
without a notice). From now we raise an error in this case.
2. It tries to prevent some obvious formatting errors in the certificate
like leading and trailing spaces, additional new lines etc.
A new helper was added into gophercloud/utils to list the available
availability zones.
Switch the getZones() function in cloudinfo to use it, so we don't
have the carry that logic in the installer anymore.
Related bug: https://issues.redhat.com/browse/OSASINFRA-1848
Signed-off-by: Emilien Macchi <emilien@redhat.com>
In order to get a change from gophercloud-utils (TLS options when
creating a service, see https://github.com/gophercloud/utils/pull/131),
we also need to update terraform-provider-openstack since mutexkv and
hashcode were moved to their own packages in gophercloud/utils and
these modules need to be updated together or we end-up with an error
like:
`plugin.terraform-provider-openstack: panic: assignment to entry in nil
map`
Signed-off-by: Emilien Macchi <emilien@redhat.com>
This PR enables the installer to track certain ironic terraform provider error messages and translates it into easy-to-understand errors output by the installer.
Examples:
Terraform errors such as "Error: could not contact Ironic API: timeout reached" and "Error: could not inspect: could not inspect node, node is currently 'inspect failed', last error was 'timeout reached while inspecting the node" will each get translated to their corresponding user-friendly error messages.
The newest version includes important features, like HTTP headers support,
that are required for the successful installation of OpenShift on OpenStack
without Swift.
This parameter is not used by the installer and completely ignored
during the installation, so it just confuses users and should be removed.
The real region value is taken from clouds.yaml file.
gophercloud for openstack has a set of update and bug fix
while the current code last update is 8 months before.
those 2 commands has been executed:
dep ensure -update github.com/gophercloud/utils
dep ensure -update github.com/gophercloud/gophercloud
With baseimage user query removed from TUI, this function is no longer required.
This also
- drops the vendored files
- updates the mocks using `hack/go-genmock.sh`