Verify OpenStack-Ansible Cloud

Verify OpenStack-Ansible Cloud

This chapter is intended to document basic OpenStack operations to verify your OpenStack-Ansible deployment.

It explains how CLIs can be used as an admin and a user, to ensure the well-behavior of your cloud.

Check your OpenStack-Ansible cloud

This chapter goes through the verification steps for a basic operation of the OpenStack API and dashboard, as an administrator.

Note

The utility container provides a CLI environment for additional configuration and testing.

  1. Access the utility container:

    $ lxc-attach -n `lxc-ls -1 | grep utility | head -n 1`
    
  2. Source the admin tenant credentials:

    $ . ~/openrc
    
  3. Run an OpenStack command that uses one or more APIs. For example:

    $ openstack user list --domain default
    +----------------------------------+--------------------+
    | ID                               | Name               |
    +----------------------------------+--------------------+
    | 04007b990d9442b59009b98a828aa981 | glance             |
    | 0ccf5f2020ca4820847e109edd46e324 | keystone           |
    | 1dc5f638d4d840c690c23d5ea83c3429 | neutron            |
    | 3073d0fa5ced46f098215d3edb235d00 | cinder             |
    | 5f3839ee1f044eba921a7e8a23bb212d | admin              |
    | 61bc8ee7cc9b4530bb18acb740ee752a | stack_domain_admin |
    | 77b604b67b79447eac95969aafc81339 | alt_demo           |
    | 85c5bf07393744dbb034fab788d7973f | nova               |
    | a86fc12ade404a838e3b08e1c9db376f | swift              |
    | bbac48963eff4ac79314c42fc3d7f1df | ceilometer         |
    | c3c9858cbaac4db9914e3695b1825e41 | dispersion         |
    | cd85ca889c9e480d8ac458f188f16034 | demo               |
    | efab6dc30c96480b971b3bd5768107ab | heat               |
    +----------------------------------+--------------------+
    
  4. With a web browser, access the Dashboard using the external load balancer IP address. This is defined by the external_lb_vip_address option in the /etc/openstack_deploy/openstack_user_config.yml file. The dashboard uses HTTPS on port 443.

  5. Authenticate using the username admin and password defined by the keystone_auth_admin_password option in the /etc/openstack_deploy/user_secrets.yml file.

  6. Run an OpenStack command to reveal all endpoints from your deployment. For example:

    $ openstack endpoint list
    +----------------+-----------+--------------+----------------+---------+-----------+---------------------------------------------------+
    | ID             | Region    | Service Name | Service Type   | Enabled | Interface | URL                                               |
    +----------------+-----------+--------------+----------------+---------+-----------+---------------------------------------------------+
    | [ID truncated] | RegionOne | cinderv2     | volumev2       | True    | admin     | http://172.29.236.100:8776/v2/%(project_id)s      |
    | [ID truncated] | RegionOne | cinder       | volume         | True    | public    | https://10.23.100.127:8776/v1/%(project_id)s      |
    | [ID truncated] | RegionOne | aodh         | alarming       | True    | internal  | http://172.29.236.100:8042                        |
    | [ID truncated] | RegionOne | glance       | image          | True    | public    | https://10.23.100.127:9292                        |
    | [ID truncated] | RegionOne | cinderv2     | volumev2       | True    | internal  | http://172.29.236.100:8776/v2/%(project_id)s      |
    | [ID truncated] | RegionOne | heat-cfn     | cloudformation | True    | admin     | http://172.29.236.100:8000/v1                     |
    | [ID truncated] | RegionOne | neutron      | network        | True    | admin     | http://172.29.236.100:9696                        |
    | [ID truncated] | RegionOne | aodh         | alarming       | True    | public    | https://10.23.100.127:8042                        |
    | [ID truncated] | RegionOne | nova         | compute        | True    | admin     | http://172.29.236.100:8774/v2.1/%(project_id)s    |
    | [ID truncated] | RegionOne | heat-cfn     | cloudformation | True    | internal  | http://172.29.236.100:8000/v1                     |
    | [ID truncated] | RegionOne | swift        | object-store   | True    | public    | https://10.23.100.127:8080/v1/AUTH_%(project_id)s |
    | [ID truncated] | RegionOne | designate    | dns            | True    | admin     | http://172.29.236.100:9001                        |
    | [ID truncated] | RegionOne | cinderv2     | volumev2       | True    | public    | https://10.23.100.127:8776/v2/%(project_id)s      |
    | [ID truncated] | RegionOne | keystone     | identity       | True    | admin     | http://172.29.236.100:5000/v3                     |
    | [ID truncated] | RegionOne | ceilometer   | metering       | True    | admin     | http://172.29.236.100:8777/                       |
    | [ID truncated] | RegionOne | nova         | compute        | True    | public    | https://10.23.100.127:8774/v2.1/%(project_id)s    |
    | [ID truncated] | RegionOne | keystone     | identity       | True    | internal  | http://172.29.236.100:5000/v3                     |
    | [ID truncated] | RegionOne | nova         | compute        | True    | internal  | http://172.29.236.100:8774/v2.1/%(project_id)s    |
    | [ID truncated] | RegionOne | gnocchi      | metric         | True    | public    | https://10.23.100.127:8041                        |
    | [ID truncated] | RegionOne | neutron      | network        | True    | internal  | http://172.29.236.100:9696                        |
    | [ID truncated] | RegionOne | aodh         | alarming       | True    | admin     | http://172.29.236.100:8042                        |
    | [ID truncated] | RegionOne | heat         | orchestration  | True    | admin     | http://172.29.236.100:8004/v1/%(project_id)s      |
    | [ID truncated] | RegionOne | glance       | image          | True    | internal  | http://172.29.236.100:9292                        |
    | [ID truncated] | RegionOne | designate    | dns            | True    | internal  | http://172.29.236.100:9001                        |
    | [ID truncated] | RegionOne | cinder       | volume         | True    | internal  | http://172.29.236.100:8776/v1/%(project_id)s      |
    | [ID truncated] | RegionOne | heat-cfn     | cloudformation | True    | public    | https://10.23.100.127:8000/v1                     |
    | [ID truncated] | RegionOne | ceilometer   | metering       | True    | public    | https://10.23.100.127:8777                        |
    | [ID truncated] | RegionOne | designate    | dns            | True    | public    | http://10.23.100.127:9001                         |
    | [ID truncated] | RegionOne | swift        | object-store   | True    | admin     | http://172.29.236.100:8080/v1/AUTH_%(project_id)s |
    | [ID truncated] | RegionOne | heat         | orchestration  | True    | internal  | http://172.29.236.100:8004/v1/%(project_id)s      |
    | [ID truncated] | RegionOne | ceilometer   | metering       | True    | internal  | http://172.29.236.100:8777                        |
    | [ID truncated] | RegionOne | cinder       | volume         | True    | admin     | http://172.29.236.100:8776/v1/%(project_id)s      |
    | [ID truncated] | RegionOne | swift        | object-store   | True    | internal  | http://172.29.236.100:8080/v1/AUTH_%(project_id)s |
    | [ID truncated] | RegionOne | neutron      | network        | True    | public    | https://10.23.100.127:9696                        |
    | [ID truncated] | RegionOne | heat         | orchestration  | True    | public    | https://10.23.100.127:8004/v1/%(project_id)s      |
    | [ID truncated] | RegionOne | gnocchi      | metric         | True    | admin     | http://172.29.236.100:8041                        |
    | [ID truncated] | RegionOne | gnocchi      | metric         | True    | internal  | http://172.29.236.100:8041                        |
    | [ID truncated] | RegionOne | keystone     | identity       | True    | public    | https://10.23.100.127:5000/v3                     |
    | [ID truncated] | RegionOne | glance       | image          | True    | admin     | http://172.29.236.100:9292                        |
    +----------------+-----------+--------------+----------------+---------+-----------+---------------------------------------------------+
    
  7. Run an OpenStack command to ensure all the compute services are working (the output depends on your configuration) For example:

    $ openstack compute service list
    +----+------------------+----------------------------------------+----------+---------+-------+----------------------------+
    | ID | Binary           | Host                                   | Zone     | Status  | State | Updated At                 |
    +----+------------------+----------------------------------------+----------+---------+-------+----------------------------+
    |  1 | nova-conductor   | aio1-nova-conductor-container-5482ff27 | internal | enabled | up    | 2018-02-14T15:34:42.000000 |
    |  2 | nova-scheduler   | aio1-nova-scheduler-container-0b594e89 | internal | enabled | up    | 2018-02-14T15:34:47.000000 |
    |  5 | nova-consoleauth | aio1-nova-console-container-835ca240   | internal | enabled | up    | 2018-02-14T15:34:47.000000 |
    |  6 | nova-compute     | ubuntu-xenial                          | nova     | enabled | up    | 2018-02-14T15:34:42.000000 |
    +----+------------------+----------------------------------------+----------+---------+-------+----------------------------+
    
  8. Run an OpenStack command to ensure the networking services are working (the output also depends on your configuration) For example:

    $ openstack network agent list
    +--------------------------------------+----------------------+----------------------------------------+-------------------+-------+-------+---------------------------+
    | ID                                   | Agent Type           | Host                                   | Availability Zone | Alive | State | Binary                    |
    +--------------------------------------+----------------------+----------------------------------------+-------------------+-------+-------+---------------------------+
    | 262b29fe-e60e-44b0-ae3c-065565f8deb7 | Metering agent       | aio1-neutron-agents-container-2b0569d5 | None              | :-)   | UP    | neutron-metering-agent    |
    | 3f305216-46ea-42c4-9f9f-9910f58323ea | Loadbalancerv2 agent | aio1-neutron-agents-container-2b0569d5 | None              | :-)   | UP    | neutron-lbaasv2-agent     |
    | 41135f7f-9e6c-4122-b6b3-d131bfaae53e | Linux bridge agent   | ubuntu-xenial                          | None              | :-)   | UP    | neutron-linuxbridge-agent |
    | 615d12a8-e738-490a-8552-2a03c8544b51 | Metadata agent       | aio1-neutron-agents-container-2b0569d5 | None              | :-)   | UP    | neutron-metadata-agent    |
    | 99b2abd3-a330-4ca7-b524-ed176c10b31c | DHCP agent           | aio1-neutron-agents-container-2b0569d5 | nova              | :-)   | UP    | neutron-dhcp-agent        |
    | e0139a26-fbf7-4cee-a37f-90940dc5851f | Linux bridge agent   | aio1-neutron-agents-container-2b0569d5 | None              | :-)   | UP    | neutron-linuxbridge-agent |
    | feb20ed4-4346-4ad9-b50c-41efd784f2e9 | L3 agent             | aio1-neutron-agents-container-2b0569d5 | nova              | :-)   | UP    | neutron-l3-agent          |
    +--------------------------------------+----------------------+----------------------------------------+-------------------+-------+-------+---------------------------+
    
  9. Run an OpenStack command to ensure the block storage services are working (depends on your configuration). For example:

    $ openstack volume service list
    +------------------+------------------------------------------+------+---------+-------+----------------------------+
    | Binary           | Host                                     | Zone | Status  | State | Updated At                 |
    +------------------+------------------------------------------+------+---------+-------+----------------------------+
    | cinder-scheduler | aio1-cinder-scheduler-container-ff4c6c1e | nova | enabled | up    | 2018-02-14T15:37:21.000000 |
    | cinder-volume    | ubuntu-xenial@lvm                        | nova | enabled | up    | 2018-02-14T15:37:25.000000 |
    | cinder-backup    | ubuntu-xenial                            | nova | enabled | up    | 2018-02-14T15:37:21.000000 |
    +------------------+------------------------------------------+------+---------+-------+----------------------------+
    
  10. Run an OpenStack command to ensure the image storage service is working (depends on your uploaded images). For example:

    $ openstack image list
    +--------------------------------------+--------+--------+
    | ID                                   | Name   | Status |
    +--------------------------------------+--------+--------+
    | 6092d7b3-87c1-4d6c-a822-66c0c6171bd3 | cirros | active |
    +--------------------------------------+--------+--------+
    
  11. Check the backend API health on your load balancer nodes. For example, if using haproxy, ensure no backend is marked as “DOWN”:

    $ hatop -s /var/run/haproxy.stat
    

Configure your first networks

A newly deployed OpenStack-Ansible has no networks by default. If you need to add networks, you can use the openstack CLI, or you can use the ansible modules for it.

An example for the latter is in the openstack-ansible-ops repository, under the openstack-service-setup.yml playbook.

Use the command line clients

This section describes some of the more common commands to use your OpenStack cloud.

Log in to any utility container or install the openstack client on your machine, and run the following commands:

The openstack flavor list command lists the flavors that are available. These are different disk sizes that can be assigned to images:

$ openstack flavor list
+-----+-----------+-------+------+-----------+-------+-----------+
| ID  | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+-----+-----------+-------+------+-----------+-------+-----------+
| 1   | m1.tiny   |   512 |    1 |         0 |     1 | True      |
| 2   | m1.small  |  2048 |   20 |         0 |     1 | True      |
| 3   | m1.medium |  4096 |   40 |         0 |     2 | True      |
| 4   | m1.large  |  8192 |   80 |         0 |     4 | True      |
| 5   | m1.xlarge | 16384 |  160 |         0 |     8 | True      |
+-----+-----------+-------+------+-----------+-------+-----------+

The openstack floating ip list command lists the currently available floating IP addresses and the instances they are associated with:

$ openstack floating ip list
+------------------+---------------------+------------------+---------+-------------------+---------------+
| ID               | Floating IP Address | Fixed IP Address | Port    | Floating Network  | Project       |
+------------------+---------------------+------------------+---------+-------------------+---------------+
| 0a88589a-ffac... | 192.168.12.7        | None             | None    | d831dac6-028c...  | 32db2ccf2a... |
+------------------+---------------------+------------------+---------+-------------------+---------------+

For more information about OpenStack client utilities, see these links:

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.