Chain: ipi-conf-openstack-techpreview

The ipi-conf-openstack-techpreview chain contains all the refs and chains necessary to configure the system before deploying an IPI installation of OpenShift onto OpenStack. This configuration will create a cluster with a TechPreviewNoUpgrade FeatureGate installed.

Steps

Name Description
openstack-conf-clouds The ipi-conf-openstack-clouds ref configures the required cloud credentials and installs the required security certificates.
openstack-conf-resourcenames Selects the values for OPENSTACK_EXTERNAL_NETWORK, OPENSTACK_COMPUTE_FLAVOR and ZONES based on a matrix that uses CLUSTER_TYPE. Also generates a safe CLUSTER_NAME. All values are persisted in $SHARED_DIR.
openstack-conf-createfips Creates two floating IPs in OPENSTACK_EXTERNAL_NETWORK with the description set to "${SHARED_DIR/CLUSTER_NAME".api-fip and "${SHARED_DIR/CLUSTER_NAME".ingress-fip. Writes IP and UID of created FIPs to $SHARED_DIR for later reference.
openstack-conf-generateconfig Generates the necessary install-config.yaml file based on the requested CONFIG_TYPE. Saves the file as ${SHARED_DIR}/install-config.yaml. Load balancer IP and cluster name, are expected to be in ${SHARED}/API_IP and ${SHARED_DIR}/CLUSTER_NAME respectively. This ref is compatible with OCP 4.6+ and will break 4.5, because `ingressFloatingIP` was only introduced in 4.6.
openstack-conf-creatednsrecords This steps creates the required dns records for the ingress and api FIPS. Expects the following to exist ${SHARED_DIR}/API_IP, ${SHARED_DIR}/INGRESS_IP, and ${SHARED_DIR}/CLUSTER_NAME. Creates ${SHARED_DIR}/api-record.json and ${SHARED_DIR}/ingress-record.json.
openstack-conf-exportcindercredentials Prepares a file to export the OpenStack credentials for Cinder.
ipi-conf-etcd-on-ramfs This step creates a machine config for the master nodes to use ramfs for etcd
ipi-conf-openstack-precheck The ipi-conf-openstack-precheck verifies the OpenStack infrastructure is ready for deploying an OpenShift cluster on to it.
ipi-install-monitoringpvc The IPI install monitoringpvc step configures cluster-monitoring operator to save prometheus data in a persistent storage. This would ensure metrics are kept during upgrades.
ipi-conf-techpreview Apply TechPreviewNoUpgrade featureGate configuration to cluster to enable tech preview features

Dependencies

No step in this chain sets dependencies.[?]

Environment

In addition to the default environment, the following variables are consumed through this chain

Variable Name Variable Content Consumed By Steps
ADDITIONAL_WORKERS_NETWORKS Space-separated list of Neutron network names that will be connected to the worker nodes. openstack-conf-generateconfig
APPLICATION_CREDENTIALS If this variable is not empty, the provided clouds.yaml will contain ephemeral application credentials. openstack-conf-clouds
APPLICATION_CREDENTIALS_EXPIRATION When to set the expiration of the application credentials. Use a format that `date -d` would understand. This variable has no effect if APPLICATION_CREDENTIALS is empty. (default: 5 hours) openstack-conf-clouds
BASE_DOMAIN openstack-conf-generateconfig openstack-conf-creatednsrecords ipi-conf-openstack-precheck
CLUSTER_TYPE_OVERRIDE This will override CLUSTER_TYPE in the `commands` file if set. openstack-conf-clouds openstack-conf-resourcenames
CONFIG_TYPE The type of config for the environment to deploy. * 'minimal' - Configure the install-config with the minimal options to make it work on our tests, which requires the usage of floating IPs. This config type doesn't require a proxy server to be deployed. * 'byon' - Configure the install-config to use a pre-created network (BYON) so it wouln't require the usage of floating IPs. This config type will require a proxy server to be deployed. * 'proxy' - Configure the install-config to use a pre-created restricted network (BYON) and a Cluster Proxy. openstack-conf-createfips openstack-conf-generateconfig openstack-conf-generateconfig openstack-conf-creatednsrecords
FIPS_ENABLED (default: false) openstack-conf-generateconfig
IGNITIONVERSION ignition version to use for mco. (default: 3.1.0) ipi-conf-etcd-on-ramfs
NETWORK_TYPE used to select the networkType to be used. For example, OpenShiftSDN, OVNKubernetes, or Kuryr (default: OpenShiftSDN) openstack-conf-generateconfig
OPENSTACK_COMPUTE_FLAVOR If not passed, the command script chooses the value based on CLUSTER_TYPE. openstack-conf-resourcenames openstack-conf-generateconfig
OPENSTACK_CONTROLPLANE_FLAVOR If not passed, the command script chooses the value based on CLUSTER_TYPE. openstack-conf-resourcenames openstack-conf-generateconfig
OPENSTACK_EXTERNAL_NETWORK If not passed, the command script chooses the value based on CLUSTER_TYPE. openstack-conf-resourcenames openstack-conf-createfips openstack-conf-generateconfig
OPENSTACK_PROVIDER_NETWORK Name of the OpenStack provider network if any. openstack-conf-generateconfig
OS_CLOUD Name of cloud to use from the clouds.yaml file (default: openstack) openstack-conf-clouds openstack-conf-createfips openstack-conf-generateconfig openstack-conf-exportcindercredentials
TRY_COUNT number of times to retry (default: 5) ipi-conf-openstack-precheck
WAIT_TIME number of seconds to wait before trying. (default: 60) ipi-conf-openstack-precheck
ZONES If not passed, the command script chooses the value based on CLUSTER_TYPE. openstack-conf-resourcenames openstack-conf-generateconfig
ZONES_COUNT The number of AZs to present in the cluster. Accepted values are 0 and 1. (default: 0) openstack-conf-generateconfig

Step Graph

Webreg Chain "ipi-conf-openstack-techpreview" 0 openstack-conf-clouds 1 openstack-conf-resourcenames 0->1 2 openstack-conf-createfips 1->2 3 openstack-conf-generateconfig 2->3 4 openstack-conf-creatednsrecords 3->4 5 openstack-conf-exportcindercredentials 4->5 6 ipi-conf-etcd-on-ramfs 5->6 7 ipi-conf-openstack-precheck 6->7 8 ipi-install-monitoringpvc 7->8 9 ipi-conf-techpreview 8->9

GitHub Link:

https://github.com/openshift/release/blob/master/ci-operator/step-registry/ipi/conf/openstack/techpreview/ipi-conf-openstack-techpreview-chain.yaml

Owners:

Approvers:

Reviewers:

Source code for this page located on GitHub