Please prepare a server or a virtual box with at least 2 interfaces and ubuntu 18.04 LTS. You need minimum 20 GB of free space to just run the services, and will leave around 2GB free to test other stuff. To deploy any instances, prepare at least 40gb or more. Your 1st interface will be the API/Management interface and the 2nd interface will be what neutron will use for its north-south networking.
Prepare the server
apt-get install python-dev libffi-dev gcc libssl-dev python-selinux python-setuptools python-pip ansible pip install kolla-ansible docker mkdir /etc/kolla cp -r /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/ cp /usr/local/share/kolla-ansible/ansible/inventory/* /etc/kolla/ kolla-genpwd vi /etc/kolla/globals.yml
## in my test case, the virtualbox has enp0s3 with ip address: 192.168.88.80 and enp0s8 in the 2nd interface with IP address:
(default) config file /etc/kolla/globals.yml before the edit
--- kolla_internal_vip_address: "10.10.10.254" glance_enable_rolling_upgrade: "no" ironic_dnsmasq_dhcp_range: tempest_image_id: tempest_flavor_ref_id: tempest_public_network_id: tempest_floating_network_name:
Config file /etc/kolla/globals.yml after my edit
--- kolla_base_distro: "ubuntu" kolla_install_type: "source" openstack_release: "rocky" kolla_internal_vip_address: "192.168.88.80" network_interface: "enp0s3" neutron_external_interface: "enp0s8" neutron_plugin_agent: "openvswitch" enable_central_logging: "yes" enable_cinder: "yes" enable_designate: "yes" enable_grafana: "yes" enable_haproxy: "no" enable_heat: "yes" enable_horizon: "yes" enable_magnum: "yes" enable_manila: "yes" glance_enable_rolling_upgrade: "no" osprofiler_backend: "elasticsearch" cinder_backend_ceph: "{{ enable_ceph }}" cinder_volume_group: "cinder-volumes" designate_backend: "bind9" designate_ns_record: "cloud.openstackfaq.com" nova_compute_virt_type: "qemu" ironic_dnsmasq_dhcp_range: tempest_image_id: tempest_flavor_ref_id: tempest_public_network_id: tempest_floating_network_name:
Deploy Openstack Kolla
KAOPTS=" -i /etc/kolla/all-in-one" kolla-ansible $KAOPTS bootstrap-servers kolla-ansible $KAOPTS prechecks kolla-ansible $KAOPTS deploy kolla-ansible $KAOPTS post-deploy kolla-ansible $KAOPTS check
After the steps are done, docker ps will show that the services are running. You can visit the IP address of the enp0s3 (1st interface, 192.168.88.80 in my case) and get the horizon login prompt. The username is admin and the password can be viewed in /etc/kolla/admin-openrc.sh or in /etc/kolla/passwords (keystone_admin)
After login, click Admin >> System >> System Information to see an overview of all the services.
Kolla provides kolla_toolbox container to run quick commands
docker cp /etc/kolla/admin-openrc.sh kolla_toolbox:/opt/ docker exec -it kolla_toolbox bash
(kolla-toolbox)[ansible@aio /]$ source /opt/admin-openrc.sh (kolla-toolbox)[ansible@aio /]$ openstack service list +----------------------------------+-------------+-----------------+ | ID | Name | Type | +----------------------------------+-------------+-----------------+ | 08ef9f89539c4d77ac9ac358ba256266 | cinder | volume | | 107eccf9fe7f4990a0eab45d7e5effed | heat-cfn | cloudformation | | 128f8aa1c2f7460b9b337062e8615252 | neutron | network | | 296ed800d9f3494f9c16a4d6b6dac2db | placement | placement | | 2cc020c4511c438eaa4f6150867ce0f2 | heat | orchestration | | 3d52c9f9e40c4c678be629f66cf1db1c | manila | share | | 418f41699e244556add40134d434e13a | magnum | container-infra | | 4422c6516fb34cfea33b2951bb52fb4a | nova | compute | | 579e98f31dcb465faefb34cdd42dd811 | manilav2 | sharev2 | | 661abe3695564b1792ad7bd8168e9a21 | designate | dns | | 83518f5628b642e28f751e2b62887c07 | cinderv2 | volumev2 | | a039e9f53d3548bc97ce91c06e0114d3 | nova_legacy | compute_legacy | | bf19002b4d02463aa98cbef75ed5a127 | glance | image | | c98da5cad0e74e8f863a63ecfafa4658 | cinderv3 | volumev3 | | f2af827aebff48b284ba67d87c7e1a69 | keystone | identity | +----------------------------------+-------------+-----------------+
Add/Remove Services.
To add/remove servies, please edit the /etc/kolla/globals.yml and run
kolla-ansible -i /opt/kolla/all-in-one reconfigure
Test Deployment
apt install virtualenv cd /opt/ virtualenv oscli source oscli/bin/activate pip install python-openstackclient python-heatclient source /etc/kolla/admin-openrc.sh /usr/local/share/kolla-ansible/init-runonce openstack server create --image cirros --flavor m1.tiny --key-name mykey --network demo-net demo1
This will launch a server which you can console from the GUI.
Reference:
https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html
Help => #openstack-kolla on Freenode IRC