Create the OpenStack Control Plane

Reference: See Setion 4.2. Creating the control plane from RHOSP18.0-DP3 deployment guide. Use the Sample configuration file from upstream repository.

In this deployment, the bastion has a preconfigured NFS service that we will be using to store glance images and cinder volumes.
  1. Copy sample controlplane deployment configuration from upstream repository link mentioned above.

    or

    Use ctlplane-deploy.sample file.

  2. Create a copy of sample configuration file.

    cp ctlplane-deploy.sample osp-ng-ctlplane-deploy.yaml
  3. Edit the file with your preferred editor.

    vi osp-ng-ctlplane-deploy.yaml
  4. Change the configuration as per your setup.

    1. Change storageClass from local-storage to ocs-storagecluster-ceph-rbd

    2. Setup dns by configuring dmsmasq service

      1. Under dns: section’s template: block, change the metallb.universe.tf/loadBalancerIPs to 172.22.0.89

      2. Above configuration sets the dnsmasq service to listen on IP 172.22.0.89.

      3. Set the server ip from 192.168.122.1 to 192.168.123.100

      4. IP 192.168.123.100 belongs to an external DNS server that dnsmasq service will use to forward the queries.

      5. This configuration reflects in /etc/dnsmasq.d/config.cfg file of dnsmasq-dns pod.

    3. Configure nfs cinder volume: Refer step #2 in 9.1.2. Configuring the control plane to use the generic NFS driver

    4. Configure customServiceConfig for glance: Refer step #2 in 9.2.1. Configuring the control plane Image service to use the Block Storage service

    5. As we are not using object storage for this deployment, disable swift by setting enabled: false

    6. You may delete the blocks for barbican and designate if not required.

  5. Finally create the OpenStack control plane

    oc create -f osp-ng-ctlplane-deploy.yaml
  6. Wait until the OpenStack control plane deployment is completed:

    oc get openstackcontrolplane -n openstack
    This can take several minutes.

    To track the progress, you may utilize the following command, which will automatically terminate upon completion of the job.

    while ! (oc get openstackcontrolplane -n openstack -o custom-columns=Name:.metadata.name,Status:.status.conditions[0].message | grep 'Setup complete'); do oc get openstackcontrolplane -n openstack; sleep 30; done