Whenever a BMC only has an IPv6 address, the Baremetal Operator will
change the "external_http_url" in the driver to an IPv6 contained in
IRONIC_EXTERNAL_URL_V6, if set.
Introduce 'externalHttpIPv6' in values for the BMO, in order to generate
such environment variable in configmap-ironic.yaml.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Revert the change that translated ironicIP into provisioningIP, as well
as the messages on deprecation. This is to allow for the use with Metal
LB in SV.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Commit 03d7a39 introduced the possibility to externally configure
IRONIC_EXTERNAL_HTTP_URL, while removing also the value when the host
was not user provided.
Revert this last behaviour, by always adding the variable in the ironic
ConfigMap even if the host is not set in values, leveraging either
ironicIP or provisioningIP. This is required to fix the use of VMedia
TLS.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Make sure that the services are created with both IPv4 and IPv6
addresses when the cluster has been created with both IPv4 and IPv6
ranges. They will behave as single stack otherwise.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
The BMO should now connect via the provisioningHostname if set or an IP
address. Add a helper that returns the ironic hostname or correctly
formatted IP to define the ironicApiHost variable in the BMO configmap.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Recently provisioningHostname has been introduced as an alternative way
to configure the IPs to bind and respond to. This however requires that
the Certificates for HTTPS also include a dnsNames section whenver such
value is present.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
So far ironicIP has been part of values.yaml under the global section,
however this is very misleading: this variable is internal to the Ironic
startup scripts and should not be set, moreover it conflicts with
provisioningIP, which is instead a public configuration variable for the
purpose.
This commits thus introduces the following changes:
- removes the creation of IRONIC_IP in the Ironic configmap
- does not yet remove ironicIP from values.yaml to avoid breaking
forward compatibility
- introduces a utility function to perform input validation while still
prioritizing ironicIP if present
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
It should be possible to enable or disable the environment variable
LISTEN_ALL_INTERFACE in the Ironic configmap, as it allows to the way
Ironic binds to socket, especially in combination with the changes
introduced in v29.
However, if listenOnAll is false, Ironic will bind to a specific IPv4
and/or IPv6 address and the 127.0.0.1 address used for the liveness
and readiness probe will not be accepted. Also add a named template
that, when it is set to false, picks a different host IP or address,
according to the following priority:
- ironicIP (deprecated)
- provisioningIP
- provisioningHostname
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Create a new provisioningHostname value in values.yaml in order to set
the new IRONIC_URL_HOSTNAME, that allows to set the address(es) Ironic
will bind to.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Since currently we can only define the provisioning network and the
external HTTP host, remove some clutter generating unused variables.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
The purpose of this commit is to:
- avoid providing IRONIC_EXTERNAL_HTTP_URL by default, as the Ironic
startup scripts will be able to derive the value from other variables
- define a new global value under the top values.yaml to generate
IRONIC_EXTERNAL_HTTP_URL when actually needed
- make sure that the input, which can either be a hostname or an IP
address, is correctly formatted in case of an IPv6.
This change also allows subsequent cleanups of the whole Configmap
template for Ironic.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Apparently the ironic-bmo ConfigMap used to be shared with both Ironic
and the BareMetalOperator. Since it is no longer the case and many
variables are not used by Ironic, remove them.
Also, rename the ConfigMap, so that it is clearer it is for Ironic only.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Change the version of the metal3-chart include the latest IPA fixes,
and update the release manifest accordingly.
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
- Make the different ipa-ramdisk packages installable side by side
- Clean the ipa-downloader Dockerfile from what seems to be unneeded
- Get both images in
- Use zstd instead of xz for better speed
- Check sums before redoing certs integration
- Add value to metal3 chart to select between architectures
- Get the two ESP available as well
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>