Verify OpenStack control plane configuration

  1. Verify that OpenStack control plane deployment is completed:

    oc get openstackcontrolplane -n openstack
    Sample Output
    NAME                                 STATUS   MESSAGE
    openstack-galera-network-isolation   True     Setup complete
  2. List the pods generated by OpenStack control plane deployment in openstack namespace

    oc get pods -n openstack
    Sample Output
    NAME                           READY   STATUS      RESTARTS   AGE
    ceilometer-0                   3/3     Running     0          137m
    cinder-api-0                   2/2     Running     0          136m
    cinder-scheduler-0             2/2     Running     0          137m
    cinder-volume-nfs-0            2/2     Running     0          130m
    dnsmasq-dns-68cfcd59cd-fxkww   1/1     Running     0          53s
    glance-default-single-0        3/3     Running     0          129m
    keystone-cc54dd4d7-zv2w4       1/1     Running     0          137m
    keystone-cron-28587661-7qzgt   0/1     Completed   0          123m
    keystone-cron-28587721-mz8dm   0/1     Completed   0          63m
    keystone-cron-28587781-zs4fw   0/1     Completed   0          3m35s
    memcached-0                    1/1     Running     0          139m
    neutron-66c8988f65-xjfd7       2/2     Running     0          136m
    nova-api-0                     2/2     Running     0          135m
    nova-cell0-conductor-0         1/1     Running     0          136m
    nova-cell1-conductor-0         1/1     Running     0          135m
    nova-cell1-novncproxy-0        1/1     Running     0          136m
    nova-metadata-0                2/2     Running     0          135m
    nova-scheduler-0               1/1     Running     0          135m
    openstack-cell1-galera-0       1/1     Running     0          139m
    openstack-galera-0             1/1     Running     0          139m
    openstackclient                1/1     Running     0          137m
    ovn-controller-7dt6d           3/3     Running     0          139m
    ovn-controller-v47bm           3/3     Running     0          139m
    ovn-controller-xj6bg           3/3     Running     0          139m
    ovn-northd-59d8f84596-tkck6    1/1     Running     0          138m
    ovsdbserver-nb-0               1/1     Running     0          139m
    ovsdbserver-sb-0               1/1     Running     0          139m
    placement-fbdc9597b-f9bzm      2/2     Running     0          136m
    rabbitmq-cell1-server-0        1/1     Running     0          139m
    rabbitmq-server-0              1/1     Running     0          139m
  3. Check the assignment of additional networks to the control plane service pods.

    for pod in `oc get pods -o custom-columns=POD:.metadata.name --no-headers`
    do
    echo -e "===== $pod ====="
    oc rsh $pod ip -4 addr
    done
    Sample Output
    __output trimmed to show relevant pods__
    
    ===== cinder-volume-nfs-0 =====
    Defaulted container "cinder-volume" out of: cinder-volume, probe
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    Error: Peer netns reference is invalid.
    Error: Peer netns reference is invalid.
    3: eth0@if51: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netns 7425bf91-87ff-48d1-911b-a1ad273f604d
        inet 10.131.0.41/23 brd 10.131.1.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: storage@if46: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netns 7425bf91-87ff-48d1-911b-a1ad273f604d
        inet 172.18.0.31/24 brd 172.18.0.255 scope global storage
           valid_lft forever preferred_lft forever
    
    ===== glance-default-single-0 =====
    Defaulted container "glance-log" out of: glance-log, glance-httpd, glance-api
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if70: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.128.2.60/23 brd 10.128.3.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: storage@if50: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.18.0.30/24 brd 172.18.0.255 scope global storage
           valid_lft forever preferred_lft forever
    
    ===== neutron-58b9454b9-mw26j =====
    Defaulted container "neutron-api" out of: neutron-api, neutron-httpd
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if75: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.128.2.65/23 brd 10.128.3.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: internalapi@if49: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.17.0.33/24 brd 172.17.0.255 scope global internalapi
           valid_lft forever preferred_lft forever
    
    ===== ovn-controller-5zlqq =====
    Defaulted container "ovsdb-server" out of: ovsdb-server, ovs-vswitchd, ovn-controller
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if48: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.131.0.38/23 brd 10.131.1.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: tenant@if47: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.19.0.30/24 brd 172.19.0.255 scope global tenant
           valid_lft forever preferred_lft forever
    
    ===== ovn-controller-l69ms =====
    Defaulted container "ovsdb-server" out of: ovsdb-server, ovs-vswitchd, ovn-controller
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if54: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.128.2.44/23 brd 10.128.3.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: tenant@if51: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.19.0.31/24 brd 172.19.0.255 scope global tenant
           valid_lft forever preferred_lft forever
    
    ===== ovn-controller-l8q7x =====
    Defaulted container "ovsdb-server" out of: ovsdb-server, ovs-vswitchd, ovn-controller
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if92: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.129.2.82/23 brd 10.129.3.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: tenant@if80: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.19.0.32/24 brd 172.19.0.255 scope global tenant
           valid_lft forever preferred_lft forever
    
    ===== ovn-northd-59d8f84596-hkfj5 =====
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if58: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.128.2.48/23 brd 10.128.3.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: internalapi@if49: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.17.0.32/24 brd 172.17.0.255 scope global internalapi
           valid_lft forever preferred_lft forever
    
    ===== ovsdbserver-nb-0 =====
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if94: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.129.2.84/23 brd 10.129.3.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: internalapi@if78: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.17.0.30/24 brd 172.17.0.255 scope global internalapi
           valid_lft forever preferred_lft forever
    
    ===== ovsdbserver-sb-0 =====
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if96: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default  link-netnsid 0
        inet 10.129.2.86/23 brd 10.129.3.255 scope global eth0
           valid_lft forever preferred_lft forever
    4: internalapi@if78: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
        inet 172.17.0.31/24 brd 172.17.0.255 scope global internalapi
           valid_lft forever preferred_lft forever
  4. At this stage you may create the OpenStack resources like users, projects, network, subnet, image, flavor, ect.

You may try creating a few resources from the Access OpenStack page (till step #6) for further verification of your control plane deployment. Make sure not to create the instance as we are not done with the data plane setup yet.