kolla-genpwd<\/code> in your virtual environment.<\/p>\n\n\n\nEnsure that your virtual environment is activated<\/p>\n\n\n\n
source $HOME\/kolla-openstack\/bin\/activate<\/code><\/pre>\n\n\n\nNext, generate the passwords;<\/p>\n\n\n\n
kolla-genpwd<\/code><\/pre>\n\n\n\nAll generated passwords will be populated to \/etc\/kolla\/passwords.yml<\/strong><\/code> file.<\/p>\n\n\n\nYou now have our deployment inventory in place. Since we are running an all-in-one deployment, we will leave all the default options defined on the all-in-one<\/strong><\/code> inventory file as is.<\/p>\n\n\n\nDeploy All-In-One OpenStack<\/h3>\n\n\n\n Since everything is setup, you can now start to deploy OpenStack using Kolla-ansible playbooks.<\/p>\n\n\n\n
Again, ensure that your virtual environment is activated.<\/strong><\/p>\n\n\n\nsource $HOME\/kolla-openstack\/bin\/activate<\/code><\/pre>\n\n\n\nBootstrap your localhost configuration before deploying containers using bootstrap-servers<\/strong><\/code> subcommand.<\/p>\n\n\n\nkolla-ansible -i all-in-one bootstrap-servers<\/code><\/pre>\n\n\n\nBelow is just a snippet of the bootstrapping command;<\/p>\n\n\n\n
...\nTASK [baremetal : Restart docker] ******************************************************************************************************************************************\nchanged: [localhost]\n\nTASK [baremetal : Enable docker] *******************************************************************************************************************************************\nok: [localhost]\n\nTASK [baremetal : Stop time service] ***************************************************************************************************************************************\nskipping: [localhost]\n\nTASK [baremetal : Stop time service] ***************************************************************************************************************************************\nskipping: [localhost]\n\nTASK [baremetal : Synchronizing time one-time] *****************************************************************************************************************************\nskipping: [localhost]\n\nTASK [baremetal : Start time sync service] *********************************************************************************************************************************\nskipping: [localhost]\n\nTASK [baremetal : Start time sync service] *********************************************************************************************************************************\nskipping: [localhost]\n\nTASK [baremetal : Change state of selinux] *********************************************************************************************************************************\nskipping: [localhost]\n\nTASK [baremetal : include_tasks] *******************************************************************************************************************************************\nskipping: [localhost]\n\nPLAY RECAP *****************************************************************************************************************************************************************\nlocalhost : ok=39 changed=16 unreachable=0 failed=0 skipped=32 rescued=0 ignored=0 \n<\/code><\/pre>\n\n\n\nThis is what the bootstrap command do;<\/p>\n\n\n\n
\nCustomisation of \/etc\/hosts<\/code><\/li>\n\n\n\nCreation of user and group<\/li>\n\n\n\n Kolla configuration directory<\/li>\n\n\n\n Package installation and removal<\/li>\n\n\n\n Docker engine installation and configuration<\/li>\n\n\n\n Disabling firewalls<\/li>\n\n\n\n Creation of Python virtual environment<\/li>\n\n\n\n Configuration of Apparmor<\/li>\n\n\n\n Configuration of SELinux<\/li>\n\n\n\n Configuration of NTP daemon<\/li>\n<\/ul>\n\n\n\nRun pre-deployment checks;<\/p>\n\n\n\n
kolla-ansible -i all-in-one prechecks<\/code><\/pre>\n\n\n\nIf everything is fine, proceed to deploy OpenStack with Kolla-ansible<\/p>\n\n\n\n
kolla-ansible -i all-in-one deploy<\/code><\/pre>\n\n\n\nThe process might take a while as it involves building containers for different OpenStack services.<\/p>\n\n\n\n
If all ends well, you should get 0 failed tasks;<\/p>\n\n\n\n
...\nPLAY RECAP *****************************************************************************************************************************************************************\nlocalhost : ok=366 changed=72 unreachable=0 failed=0<\/strong> skipped=245 rescued=0 ignored=0<\/code><\/pre>\n\n\n\nList Running OpenStack Docker Containers<\/h4>\n\n\n\n Once the deployment is done, you can list running OpenStack docker containers.<\/p>\n\n\n\n
docker ps<\/code><\/pre>\n\n\n\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\nc6b248403560 kolla\/ubuntu-binary-horizon:ussuri \"dumb-init --single-\u2026\" 8 minutes ago Up 8 minutes horizon\n2beb267813bf kolla\/ubuntu-binary-heat-engine:ussuri \"dumb-init --single-\u2026\" 10 minutes ago Up 10 minutes heat_engine\n5870b0231ebd kolla\/ubuntu-binary-heat-api-cfn:ussuri \"dumb-init --single-\u2026\" 10 minutes ago Up 10 minutes heat_api_cfn\n66f4ed832ddd kolla\/ubuntu-binary-heat-api:ussuri \"dumb-init --single-\u2026\" 11 minutes ago Up 11 minutes heat_api\nf2bb8fada9a7 kolla\/ubuntu-binary-neutron-metadata-agent:ussuri \"dumb-init --single-\u2026\" 14 minutes ago Up 14 minutes neutron_metadata_agent\nf9d5336ac7c6 kolla\/ubuntu-binary-neutron-l3-agent:ussuri \"dumb-init --single-\u2026\" 14 minutes ago Up 14 minutes neutron_l3_agent\n9d03c6194140 kolla\/ubuntu-binary-neutron-dhcp-agent:ussuri \"dumb-init --single-\u2026\" 14 minutes ago Up 14 minutes neutron_dhcp_agent\na19896229e01 kolla\/ubuntu-binary-neutron-openvswitch-agent:ussuri \"dumb-init --single-\u2026\" 15 minutes ago Up 15 minutes neutron_openvswitch_agent\n4fb2a327014a kolla\/ubuntu-binary-neutron-server:ussuri \"dumb-init --single-\u2026\" 15 minutes ago Up 15 minutes neutron_server\nc5afee94823a kolla\/ubuntu-binary-openvswitch-vswitchd:ussuri \"dumb-init --single-\u2026\" 25 minutes ago Up 25 minutes openvswitch_vswitchd\n84c10bfce945 kolla\/ubuntu-binary-openvswitch-db-server:ussuri \"dumb-init --single-\u2026\" 25 minutes ago Up 25 minutes openvswitch_db\n1b4b0189c044 kolla\/ubuntu-binary-nova-compute:ussuri \"dumb-init --single-\u2026\" 49 minutes ago Up 33 minutes nova_compute\n410bc4a9ac94 kolla\/ubuntu-binary-nova-libvirt:ussuri \"dumb-init --single-\u2026\" 51 minutes ago Up 33 minutes nova_libvirt\n286aabab9557 kolla\/ubuntu-binary-nova-ssh:ussuri \"dumb-init --single-\u2026\" 53 minutes ago Up 33 minutes nova_ssh\nf7ade004aba0 kolla\/ubuntu-binary-nova-novncproxy:ussuri \"dumb-init --single-\u2026\" 54 minutes ago Up 34 minutes nova_novncproxy\nce053ee3936c kolla\/ubuntu-binary-nova-conductor:ussuri \"dumb-init --single-\u2026\" 54 minutes ago Up 33 minutes nova_conductor\n9ace1abb6b13 kolla\/ubuntu-binary-nova-api:ussuri \"dumb-init --single-\u2026\" 54 minutes ago Up 33 minutes nova_api\n93ec899f31e3 kolla\/ubuntu-binary-nova-scheduler:ussuri \"dumb-init --single-\u2026\" 54 minutes ago Up 32 minutes nova_scheduler\n71675d26922b kolla\/ubuntu-binary-placement-api:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 33 minutes placement_api\n022bc9dd585c kolla\/ubuntu-binary-cinder-backup:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 32 minutes cinder_backup\n10f728092b34 kolla\/ubuntu-binary-cinder-volume:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 33 minutes cinder_volume\ne34abeac698c kolla\/ubuntu-binary-cinder-scheduler:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 33 minutes cinder_scheduler\nd82dbb5a8b94 kolla\/ubuntu-binary-cinder-api:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 32 minutes cinder_api\nc214451bc731 kolla\/ubuntu-binary-glance-api:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 34 minutes glance_api\nd895ebbc56b9 kolla\/ubuntu-binary-keystone-fernet:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 33 minutes keystone_fernet\n8e59bb92ad72 kolla\/ubuntu-binary-keystone-ssh:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 34 minutes keystone_ssh\n4e3f928dc21d kolla\/ubuntu-binary-keystone:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 34 minutes keystone\ne53e6f4982af kolla\/ubuntu-binary-rabbitmq:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 33 minutes rabbitmq\nbc7eeed07ef7 kolla\/ubuntu-binary-tgtd:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 32 minutes tgtd\n50fb03637da8 kolla\/ubuntu-binary-iscsid:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 32 minutes iscsid\n87d533ef99ee kolla\/ubuntu-binary-memcached:ussuri \"dumb-init --single-\u2026\" About an hour ago Up 34 minutes memcached\n8504b79a0988 kolla\/ubuntu-binary-keepalived:ussuri \"dumb-init --single-\u2026\" 2 hours ago Up 34 minutes keepalived\n73cbbebc44c2 kolla\/ubuntu-binary-haproxy:ussuri \"dumb-init --single-\u2026\" 2 hours ago Up 34 minutes haproxy\nc44ebacd4a1b kolla\/ubuntu-binary-mariadb-clustercheck:ussuri \"dumb-init --single-\u2026\" 2 hours ago Up 33 minutes mariadb_clustercheck\nf307c05bc38a kolla\/ubuntu-binary-mariadb:ussuri \"dumb-init -- kolla_\u2026\" 2 hours ago Up 34 minutes mariadb\n5693020d43a2 kolla\/ubuntu-binary-chrony:ussuri \"dumb-init --single-\u2026\" 2 hours ago Up 34 minutes chrony\n9cb7d0776984 kolla\/ubuntu-binary-cron:ussuri \"dumb-init --single-\u2026\" 2 hours ago Up 34 minutes cron\nacf3ce5c1813 kolla\/ubuntu-binary-kolla-toolbox:ussuri \"dumb-init --single-\u2026\" 2 hours ago Up 33 minutes kolla_toolbox\n54b6b06d7e03 kolla\/ubuntu-binary-fluentd:ussuri \"dumb-init --single-\u2026\" 2 hours ago Up 34 minutes fluentd\n<\/code><\/pre>\n\n\n\nAll-in-one OpenStack is now up and running.<\/p>\n\n\n\n
All-in-one OpenStack Post Deployment Tasks<\/h3>\n\n\n\n Install OpenStack command line administration tools. You can do this from the virtual environment.<\/p>\n\n\n\n
source $HOME\/kolla-openstack\/bin\/activate<\/code><\/pre>\n\n\n\npip install python-openstackclient python-neutronclient python-glanceclient<\/code><\/pre>\n\n\n\nYou can now administer OpenStack from cli. For example, to list the currently available services;<\/p>\n\n\n\n
openstack service list<\/code><\/pre>\n\n\n\n+----------------------------------+-------------+----------------+\n| ID | Name | Type |\n+----------------------------------+-------------+----------------+\n| 06864fe8aae14ca9ad3a021af20b6159 | nova_legacy | compute_legacy |\n| 3f3b8fdfc1b04d789cbafc820ba6971d | cinderv3 | volumev3 |\n| 5cb91155a74d4fe0bed0081f60376b0f | heat | orchestration |\n| 789c635f1dc947018aaa962537547985 | glance | image |\n| abe33e17f53d4656b71251cbf57cf24c | nova | compute |\n| df623a12fe25412b9bd29483560eb4e5 | neutron | network |\n| e2318f5d7a424dac9416910e6b1094f6 | placement | placement |\n| e6c08f0c6a84421e85c8bff4c73a1b83 | heat-cfn | cloudformation |\n| ec383b1d33aa4d64ab55829a44b3c687 | keystone | identity |\n| f0d09637e4b84db1a02ce26b005407ca | cinderv2 | volumev2 |\n+----------------------------------+-------------+----------------+\n<\/code><\/pre>\n\n\n\nGenerate OpenStack admin user credentials file (openrc<\/code>).<\/p>\n\n\n\nkolla-ansible post-deploy<\/code><\/pre>\n\n\n\nThis command generates the admin credentials file, \/etc\/kolla\/admin-openrc.sh<\/code>.<\/p>\n\n\n\nsource \/etc\/kolla\/admin-openrc.sh<\/code><\/pre>\n\n\n\nCreate OpenStack networks, images, nova keys using init-runonce<\/code> script. The script downloads a cirros image and registers it. Then it configures networking and nova quotas to allow 40 m1.small instances to be created.<\/p>\n\n\n\nIn regards to networking, edit the init-runonce<\/code> script and configure your public network,that you want to connect to the internet via.<\/p>\n\n\n\nvim kolla-openstack\/share\/kolla-ansible\/init-runonce<\/code><\/pre>\n\n\n\n...\nENABLE_EXT_NET=${ENABLE_EXT_NET:-1}\nEXT_NET_CIDR=${EXT_NET_CIDR:-'192.168.122.0\/24<\/strong>'}\nEXT_NET_RANGE=${EXT_NET_RANGE:-'start=192.168.122.15,end=192.168.122.45<\/strong>'}\nEXT_NET_GATEWAY=${EXT_NET_GATEWAY:-'192.168.122.1<\/strong>'}\n<\/code><\/pre>\n\n\n\nNext, run the script from the virtual environment.<\/p>\n\n\n\n
kolla-openstack\/share\/kolla-ansible\/init-runonce<\/code><\/pre>\n\n\n\n...\n+----------------------------+-----------+\n| Field | Value |\n+----------------------------+-----------+\n| OS-FLV-DISABLED:disabled | False |\n| OS-FLV-EXT-DATA:ephemeral | 0 |\n| disk | 160 |\n| id | 5 |\n| name | m1.xlarge |\n| os-flavor-access:is_public | True |\n| properties | |\n| ram | 16384 |\n| rxtx_factor | 1.0 |\n| swap | |\n| vcpus | 8 |\n+----------------------------+-----------+\n\nDone.\n\nTo deploy a demo instance, run:\n\nopenstack server create \\\n --image cirros \\\n --flavor m1.tiny \\\n --key-name mykey \\\n --network demo-net \\\n demo1\n<\/code><\/pre>\n\n\n\nReconfiguring the Stack<\/h3>\n\n\n\n If you want to reconfigure the stack by adding or removing services, edit the globals.yml configuration file and redoply the changes from the virtual environment.<\/p>\n\n\n\n
For example, after making changes on the globals config file, reconfigure the stack;<\/p>\n\n\n\n
source \/path\/to\/virtual-environment\/bin\/activate<\/code><\/pre>\n\n\n\nThe redeploy the changes;<\/p>\n\n\n\n
kolla-ansible -i all-in-one reconfigure<\/code><\/pre>\n\n\n\nAccessing OpenStack Web Interface (Horizon)<\/h2>\n\n\n\n So far so good! OpenStack is up and running. It is time we login to the web interface.<\/p>\n\n\n\n
First, check the OpenStack IP address (the Kolla VIP address).<\/p>\n\n\n\n
ip add show enp1s0<\/code><\/pre>\n\n\n\n2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n link\/ether 52:54:00:3e:8c:af brd ff:ff:ff:ff:ff:ff\n inet 192.168.122.216\/24 brd 192.168.122.255 scope global dynamic enp1s0\n valid_lft 2697sec preferred_lft 2697sec\n <\/strong>inet 192.168.122.206\/32<\/strong> scope global enp1s0\n valid_lft forever preferred_lft forever\n inet6 fe80::5054:ff:fe3e:8caf\/64 scope link \n valid_lft forever preferred_lft forever\n<\/code><\/pre>\n\n\n\nSo, 192.168.122.206<\/strong>, is the IP address with which we access OpenStack from the external browser.<\/p>\n\n\n\nTherefore, to access the OpenStack Horizon from the browser, use the address, http:\/\/192.168.122.206<\/strong><\/code>.<\/p>\n\n\n\n.This should take you to OpenStack web interface login page;<\/p>\n\n\n\n <\/figure>\n\n\n\nLogin using admin<\/strong><\/code> as the username.<\/p>\n\n\n\nYou can obtain the admin credentials from the Kolla passwords file, \/etc\/kolla\/passwords.yml<\/code>. For the Horizon authentication, you need to the Keystone admin password.<\/p>\n\n\n\ngrep keystone_admin_password \/etc\/kolla\/passwords.yml<\/code><\/pre>\n\n\n\nkeystone_admin_password: vyntMgfyaZnHUcVGqQJ5OqVxbe4ppUJ2exAiB7po<\/strong><\/code><\/pre>\n\n\n\nWhen you successfully log in, you land on OpenStack horizon dashboard.<\/p>\n\n\n\n <\/figure>\n\n\n\nLaunching an Instance on OpenStack AIO<\/h3>\n\n\n\n We already have cirros image registered (Admin > Compute > Images<\/code><\/strong>).<\/p>\n\n\n\n <\/figure>\n\n\n\nExample networks (Admin > Network > Networks<\/code><\/strong>) created.<\/p>\n\n\n\n <\/figure>\n\n\n\nWe also have different flavours of the cirros image created;<\/p>\n\n\n\n