OpenStack-Ansible

Openstack lab infrastructuur

Openstack is een complexe cloud infrastructuur. Het installeren en onderhouden van de vele Openstack onderdelen vraagt om automatisering. Veel tools maken het niet echt eenvoudiger. Ubuntu begon met het verpakken van de Openstack onderdelen in LXC containers, maar voor de configuratie gebruiken ze Juju. Rackspace had dit heel goed gezien en maakte de overstap van Salt naar Ansible als config tool voor de Openstack installatie in LXC containers. Dit is nu ook de referentie configuratiemethode van Openstack. Met Openstack-Ansible is het zelfs mogelijk om op een heel eenvoudige manier een realistische Openstack omgeving the configureren in een VMtje op je laptop.

Openstack All-in-one (AIO)

De Openstack AIO scripts zijn gemaakt om op een eenvoudige manier een realistische Openstack omgeving te configureren voor een test lab of ontwikkel omgeving.

Voor deze Openstack AIO test heb ik een Ubuntu 14.04 met kernel 3.19 VMtje gebruikt met 2 vCPU, 8GB geheugen en een HDD van 80GB. Niet snel maar het werkt wel allemaal.

Volg de gebruiksaanwijzig op: Running an AIO build

En na een uurtje stampen op mijn laptop staat een volledig werkende Openstack omgeving klaar voor gebruik!

$ sudo lxc-ls -f
NAME                                          STATE    IPV4                                        IPV6  AUTOSTART
--------------------------------------------------------------------------------------------------------------------------------
aio1_ceilometer_api_container-8573ae8f        RUNNING  10.0.3.35, 172.29.237.191                   -     YES (onboot, openstack)
aio1_ceilometer_collector_container-73360046  RUNNING  10.0.3.2, 172.29.239.245                    -     YES (onboot, openstack)
aio1_cinder_api_container-a15580de            RUNNING  10.0.3.10, 172.29.237.104, 172.29.244.172   -     YES (onboot, openstack)
aio1_cinder_scheduler_container-85dcd7ce      RUNNING  10.0.3.34, 172.29.239.209                   -     YES (onboot, openstack)
aio1_galera_container-7ae96867                RUNNING  10.0.3.38, 172.29.238.185                   -     YES (onboot, openstack)
aio1_galera_container-98efeea0                RUNNING  10.0.3.175, 172.29.239.206                  -     YES (onboot, openstack)
aio1_galera_container-c467485d                RUNNING  10.0.3.22, 172.29.238.103                   -     YES (onboot, openstack)
aio1_glance_container-d4a3030d                RUNNING  10.0.3.246, 172.29.237.132, 172.29.247.97   -     YES (onboot, openstack)
aio1_heat_apis_container-5c244641             RUNNING  10.0.3.172, 172.29.237.117                  -     YES (onboot, openstack)
aio1_heat_engine_container-820b01a6           RUNNING  10.0.3.104, 172.29.239.235                  -     YES (onboot, openstack)
aio1_horizon_container-6f9261f0               RUNNING  10.0.3.79, 172.29.236.220                   -     YES (onboot, openstack)
aio1_horizon_container-f722a0b4               RUNNING  10.0.3.33, 172.29.237.193                   -     YES (onboot, openstack)
aio1_keystone_container-23fe63a9              RUNNING  10.0.3.226, 172.29.239.113                  -     YES (onboot, openstack)
aio1_keystone_container-c6927fec              RUNNING  10.0.3.69, 172.29.236.229                   -     YES (onboot, openstack)
aio1_memcached_container-925b25a6             RUNNING  10.0.3.233, 172.29.239.133                  -     YES (onboot, openstack)
aio1_neutron_agents_container-bc8656dc        RUNNING  10.0.3.235, 172.29.237.126, 172.29.242.246  -     YES (onboot, openstack)
aio1_neutron_server_container-f8cf5aff        RUNNING  10.0.3.116, 172.29.236.95                   -     YES (onboot, openstack)
aio1_nova_api_metadata_container-d306d809     RUNNING  10.0.3.190, 172.29.236.190                  -     YES (onboot, openstack)
aio1_nova_api_os_compute_container-4adf9585   RUNNING  10.0.3.43, 172.29.236.224                   -     YES (onboot, openstack)
aio1_nova_cert_container-004d6eb6             RUNNING  10.0.3.132, 172.29.238.53                   -     YES (onboot, openstack)
aio1_nova_conductor_container-1940bea4        RUNNING  10.0.3.54, 172.29.239.159                   -     YES (onboot, openstack)
aio1_nova_console_container-745dc59e          RUNNING  10.0.3.76, 172.29.236.55                    -     YES (onboot, openstack)
aio1_nova_scheduler_container-6d5a0296        RUNNING  10.0.3.117, 172.29.238.163                  -     YES (onboot, openstack)
aio1_rabbit_mq_container-09ef3137             RUNNING  10.0.3.236, 172.29.237.168                  -     YES (onboot, openstack)
aio1_rabbit_mq_container-c1ee6ed3             RUNNING  10.0.3.230, 172.29.238.56                   -     YES (onboot, openstack)
aio1_rabbit_mq_container-f4ca1bb5             RUNNING  10.0.3.244, 172.29.238.71                   -     YES (onboot, openstack)
aio1_repo_container-49a92172                  RUNNING  10.0.3.68, 172.29.239.196                   -     YES (onboot, openstack)
aio1_repo_container-b3491f1d                  RUNNING  10.0.3.89, 172.29.237.39                    -     YES (onboot, openstack)
aio1_rsyslog_container-32d75893               RUNNING  10.0.3.243, 172.29.238.205                  -     YES (onboot, openstack)
aio1_swift_proxy_container-c35754a6           RUNNING  10.0.3.102, 172.29.238.239, 172.29.244.231  -     YES (onboot, openstack)
aio1_utility_container-f1675f4f               RUNNING  10.0.3.187, 172.29.236.145                  -     YES (onboot, openstack)

Na een herstart van de omgeving komt het MariaDB Galera cluster niet automatisch op. Je moet het cluster weer even handmatig starten.

root@aio1_galera_container-98efeea0:~# service mysql start --wsrep-new-cluster

Of zie: Galera cluster recovery

Je kunt nu aan de slag met de Openstack GUI of via de CLI in de aio1_utility_container.

$ sudo ssh aio1_utility_container-f1675f4f

root@aio1_utility_container-f1675f4f:~# source openrc

Nog even images installeren.

# glance image-create --name="Debian Jessie 64-bit"  --disk-format=qcow2 \
 --container-format=bare  --property architecture=x86_64   --progress \
 --file ./debian-8.2.0-openstack-amd64.qcow2

#glance image-create --name "cirros-0.3.2-x86_64" --disk-format=qcow2 \
 --container-format=bare  --property architecture=x86_64   --progress \
 --file ./cirros-0.3.2-x86_64-disk.img

Via de web interface kun je nu eenvoudig een public en private netwerk met router aanmaken waarna je een instance kunt opstarten.