{"id":10734,"date":"2020-06-26T05:32:02","date_gmt":"2020-06-26T05:32:02","guid":{"rendered":"https:\/\/linuxtechi.com\/?p=10734"},"modified":"2021-02-19T05:11:34","modified_gmt":"2021-02-19T05:11:34","slug":"install-openstack-centos-8-with-packstack","status":"publish","type":"post","link":"https:\/\/www.linuxtechi.com\/install-openstack-centos-8-with-packstack\/","title":{"rendered":"How to Install OpenStack on CentOS 8 with Packstack"},"content":{"rendered":"<p><strong>Openstack<\/strong> is a free and open-source private cloud software through which we can manage compute, network and storage resources of our data center with an ease using a single dashboard and via openstack cli commands. In this article we will demonstrate on how to install Openstack on a CentOS 8 system with <strong>packstack<\/strong>. Packstack is a command line utility which deploy different components of openstack using puppet modules.<\/p>\n<p>Openstack deployment with packstack is generally used for POC (proof of concept) purpose, so it is not recommended to use packstack for production deployment. Use TripleO method to deploy openstack in production environment.<\/p>\n<h4><span style=\"color: #000000;\">Minimum System requirements for OpenStack<\/span><\/h4>\n<ul>\n<li>Minimal CentOS 8<\/li>\n<li>Dual core Processor<\/li>\n<li>8 GB RAM<\/li>\n<li>40 GB free disk space<\/li>\n<li>Stable Internet Connection<\/li>\n<li>At least one nic card<\/li>\n<\/ul>\n<p><strong>My Lab setup details:<\/strong><\/p>\n<ul>\n<li>Hostname \u2013 openstack.example.com<\/li>\n<li>IP \u2013 192.168.1.8<\/li>\n<li>Flat Network \u2013 192.168.1.0\/24<\/li>\n<\/ul>\n<p>Let\u2019s deep dive into the openstack installation steps,<\/p>\n<h4><span style=\"color: #800080;\">Step 1) Set the hostname and update \/etc\/hosts file<\/span><\/h4>\n<p>Open the terminal and set the hostname using the following hostnamectl command,<\/p>\n<pre>[root@localhost ~]# hostnamectl set-hostname \"openstack.example.com\"\r\n[root@localhost ~]# exec bash<\/pre>\n<p>Run below echo command to append hostname entry in \/etc\/hosts file.<\/p>\n<pre>[root@openstack ~]# echo -e \"192.168.1.8\\topenstack.example.com\" &gt;&gt; \/etc\/hosts<\/pre>\n<h4><span style=\"color: #800080;\">Step 2) Disable Network Manager and Configure Network using network-scripts<\/span><\/h4>\n<p><strong>Network-Manager<\/strong> is the default tool in CentOS 8 to manager networks but for Openstack we must disable it because openstack networking will not work properly with network-manager. In place of network manager, we must install native network-scripts.<\/p>\n<p>To disable network-manager run the following commands,<\/p>\n<pre>[root@openstack ~]# systemctl disable NetworkManager\r\n[root@openstack ~]# systemctl stop NetworkManager<\/pre>\n<p>Run following dnf command to install native network-scripts<\/p>\n<pre>[root@openstack ~]# dnf install network-scripts -y<\/pre>\n<p>Once the network-scripts package is installed then we can manage networking (ifcfg-* files) using native <span style=\"color: #0000ff;\">network.service<\/span><\/p>\n<p>Now let\u2019s configure IP address in ifcfg-enp0s3 file and start network service<\/p>\n<pre>root@openstack ~]# vi \/etc\/sysconfig\/network-scripts\/ifcfg-enp0s3<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10745\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/network-file-ifcfg-enp0s3-centos8.png\" alt=\"network-file-ifcfg-enp0s3-centos8\" width=\"721\" height=\"404\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/network-file-ifcfg-enp0s3-centos8.png 827w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/network-file-ifcfg-enp0s3-centos8-300x168.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/network-file-ifcfg-enp0s3-centos8-768x430.png 768w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/p>\n<p>Save and exit the file and then start network service using following command,<\/p>\n<pre>[root@openstack ~]# systemctl start network\r\n[root@openstack ~]# systemctl enable network<\/pre>\n<p>Now verify whether IP is assigned to NIC (enp0s3) using ip command,<\/p>\n<pre>[root@openstack ~]# ip a s enp0s3<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10739\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/ifcfg-enp0s3-ip-command-linux-1024x156.png\" alt=\"ifcfg-enp0s3-ip-command-linux\" width=\"726\" height=\"111\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ifcfg-enp0s3-ip-command-linux-1024x156.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ifcfg-enp0s3-ip-command-linux-300x46.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ifcfg-enp0s3-ip-command-linux-768x117.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ifcfg-enp0s3-ip-command-linux.png 1302w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/p>\n<h4><span style=\"color: #800080;\">Step 3) Enable OpenStack repositories and install packstack utility<\/span><\/h4>\n<p>At time of writing this article, <span style=\"color: #0000ff;\">ussuri openstack<\/span> was available, so run the following command to configure its repositories<\/p>\n<pre>[root@openstack ~]# dnf config-manager --set-enabled powertools\r\nor\r\n[root@openstack ~]# dnf config-manager --enable PowerTools\r\n[root@openstack ~]# dnf install -y centos-release-openstack-ussuri<\/pre>\n<p>Now installed all the available updates and reboot your system,<\/p>\n<pre>[root@openstack ~]# dnf update -y\r\n[root@openstack ~]# reboot<\/pre>\n<p>Once the system is available after the reboot, execute following dnf command to install packstack utility<\/p>\n<pre>[root@openstack ~]# dnf install -y openstack-packstack<\/pre>\n<h4><span style=\"color: #800080;\">Step 4) Generate answer file and install openstack using packstack<\/span><\/h4>\n<p>Use packstack command to generate the answer file,<\/p>\n<pre>[root@openstack ~]# packstack --gen-answer-file \/root\/openstack-answer.txt<\/pre>\n<p>Once the answer file is generated, edit the following parameters using vi editor,<\/p>\n<pre>[root@openstack ~]# vi \/root\/openstack-answer.txt\r\n..............\r\nCONFIG_HEAT_INSTALL=y\r\nCONFIG_PROVISION_DEMO=n\r\nCONFIG_KEYSTONE_ADMIN_PW=P@ssw0rd\r\nCONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3\r\n..............<\/pre>\n<p>Save and exit the file.<\/p>\n<p>Replace the interface name (enp0s3) as per your setup.<\/p>\n<p><span style=\"color: #0000ff;\"><strong>Note:<\/strong><\/span> Default Tenant network type drive is set as \u201c<strong>geneve<\/strong>\u201d and default neutron type driver is set as \u201c<strong>geneve<\/strong> and <strong>flat<\/strong>\u201d. If wish to change these default parameters, then update following lines in answer file. In this demonstration i am not going to update these parameters.<\/p>\n<pre>CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat\r\nCONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=geneve<\/pre>\n<p>Run the following command to initiate the openstack deployment using answer file.<\/p>\n<pre>[root@openstack ~]# packstack --answer-file \/root\/openstack-answer.txt<\/pre>\n<p>Deployment will take around 20 to 30 minutes depending on your system\u2019s hardware and internet speed. Once it is installed successfully, we will get the following:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10748\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Openstack-Successfull-Installation-Screen-1024x561.png\" alt=\"Openstack-Successfull-Installation-Screen\" width=\"725\" height=\"397\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Openstack-Successfull-Installation-Screen-1024x561.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Openstack-Successfull-Installation-Screen-300x164.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Openstack-Successfull-Installation-Screen-768x420.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Openstack-Successfull-Installation-Screen.png 1496w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><\/p>\n<p>Now verify whether IP from enp03 interface is assigned to bridge br-ex and also confirm whether interface enp0s3 is added as a port in ovs-bridge.<\/p>\n<p>Run the following commands:<\/p>\n<pre>[root@openstack ~]# ip a s enp0s3\r\n[root@openstack ~]# ip a s br-ex\r\n[root@openstack ~]# ovs-vsctl show<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10749\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/ovs-vsctl-command-centos8-1024x510.png\" alt=\"ovs-vsctl-command-centos8\" width=\"721\" height=\"359\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ovs-vsctl-command-centos8-1024x510.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ovs-vsctl-command-centos8-300x149.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ovs-vsctl-command-centos8-768x382.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/ovs-vsctl-command-centos8.png 1448w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/p>\n<p>Perfect, above output confirms that installation was successful, and networking is also configured as per the answer file.<\/p>\n<h4><span style=\"color: #800080;\">Step 5) Access Horizon Dashboard<\/span><\/h4>\n<p>Now try to login to Horizon dashboard. URL is already specified in the above output, in my case url is <strong><span style=\"color: #0000ff;\">http:\/\/192.168.1.8\/dashboard<\/span><\/strong> , Use the user name as admin and password that we specify in answer file.<\/p>\n<p>We also refer the file \u201c<span style=\"color: #0000ff;\">keystonerc_admin<\/span>\u201d for credentials<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/OpenStack-Horizon-Dashboard-CentOS8.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10747\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/OpenStack-Horizon-Dashboard-CentOS8-1024x538.png\" alt=\"OpenStack-Horizon-Dashboard-CentOS8\" width=\"722\" height=\"379\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/OpenStack-Horizon-Dashboard-CentOS8-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/OpenStack-Horizon-Dashboard-CentOS8-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/OpenStack-Horizon-Dashboard-CentOS8-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/OpenStack-Horizon-Dashboard-CentOS8-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/OpenStack-Horizon-Dashboard-CentOS8.png 1898w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instance-Overview-OpenStack-Dashboard.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10741\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instance-Overview-OpenStack-Dashboard-1024x538.png\" alt=\"Instance-Overview-OpenStack-Dashboard\" width=\"720\" height=\"378\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instance-Overview-OpenStack-Dashboard-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instance-Overview-OpenStack-Dashboard-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instance-Overview-OpenStack-Dashboard-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instance-Overview-OpenStack-Dashboard-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instance-Overview-OpenStack-Dashboard.png 1898w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>Now, let\u2019s test this openstack deployment by launching an instance.<\/p>\n<h4><span style=\"color: #800080;\">Step 6) Test and verify OpenStack installation by launching an instance<\/span><\/h4>\n<p>Before launching an instance in openstack, first we must create networks and router and glance image. So, let\u2019s first create external network in admin tenant using following neutron commands,<\/p>\n<pre>[root@openstack ~]# source keystonerc_admin\r\n[root@openstack ~(keystone_admin)]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external<\/pre>\n<p>Now add a subnet of your flat network to external network by running following neutron command.<\/p>\n<pre>[root@openstack ~(keystone_admin)]# neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.1.210,end=192.168.1.230 --gateway=192.168.1.1 external_network 192.168.1.0\/24<\/pre>\n<p>Create a router by executing the following neutron command and set its gateway using external network<\/p>\n<pre>[root@openstack ~(keystone_admin)]# neutron router-create dev-router\r\n[root@openstack ~(keystone_admin)]# neutron router-gateway-set dev-router external_network<\/pre>\n<p>Create private network and attach a subnet to it. Run the following neutron command,<\/p>\n<pre>[root@openstack ~(keystone_admin)]# neutron net-create pvt_net\r\n[root@openstack ~(keystone_admin)]# neutron subnet-create --name pvt_subnet pvt_net 10.20.1.0\/24<\/pre>\n<p>Add <span style=\"color: #0000ff;\">pvt_net<\/span> interface to router \u201c<span style=\"color: #0000ff;\">dev_router<\/span>\u201d using beneath neutron command,<\/p>\n<pre>[root@openstack ~(keystone_admin)]# neutron router-interface-add dev-router\u00a0 pvt_subnet<\/pre>\n<p>Now Download Cirros image and then upload it to glance<\/p>\n<pre>[root@openstack ~(keystone_admin)]# wget http:\/\/download.cirros-cloud.net\/0.5.1\/cirros-0.5.1-x86_64-disk.img\r\n[root@openstack ~(keystone_admin)]# openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img\u00a0 cirros<\/pre>\n<p>Now head back to horizon dashboard and verify the network topology<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Network-Topology-OpenStack-Dashboard.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10746\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Network-Topology-OpenStack-Dashboard-1024x538.png\" alt=\"Network-Topology-OpenStack-Dashboard\" width=\"720\" height=\"378\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Network-Topology-OpenStack-Dashboard-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Network-Topology-OpenStack-Dashboard-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Network-Topology-OpenStack-Dashboard-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Network-Topology-OpenStack-Dashboard-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Network-Topology-OpenStack-Dashboard.png 1898w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>Perfect, above confirms that private and external network have been setup correctly along with the router.<\/p>\n<p>One final step before creating a vm, update the default security group, add <span style=\"color: #0000ff;\">icmp<\/span> and <span style=\"color: #0000ff;\">ssh<\/span> ingress rules, click on \u201c<strong>Security Groups<\/strong>\u201d under the network Tab, Click on Manage Rules and then click on \u201c<strong>Add rule<\/strong>\u201d<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ICMP-OpenStack.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10744\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ICMP-OpenStack-1024x538.png\" alt=\"Manage-Security-Group-Rules-ICMP-OpenStack\" width=\"722\" height=\"379\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ICMP-OpenStack-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ICMP-OpenStack-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ICMP-OpenStack-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ICMP-OpenStack-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ICMP-OpenStack.png 1898w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/a><\/p>\n<p>Similarly add rule for ssh<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ssh-OpenStack.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10743\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ssh-OpenStack-1024x538.png\" alt=\"Manage-Security-Group Rules-ssh-OpenStack\" width=\"722\" height=\"379\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ssh-OpenStack-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ssh-OpenStack-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ssh-OpenStack-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ssh-OpenStack-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Manage-Security-Group-Rules-ssh-OpenStack.png 1898w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/a><\/p>\n<p>Click on Add<\/p>\n<p>Now all the requirements for launching an openstack instance are fullfilled. Click on <strong>Compute<\/strong> Tab and then Choose <strong>Instances<\/strong> option and click on \u201c<strong>Launch Instance<\/strong>\u201d<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/VM-Creation-OpenStack.gif\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-10750\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/VM-Creation-OpenStack-1024x519.gif\" alt=\"VM-Creation-OpenStack\" width=\"1024\" height=\"519\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/VM-Creation-OpenStack-1024x519.gif 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/VM-Creation-OpenStack-300x152.gif 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/VM-Creation-OpenStack-768x389.gif 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/VM-Creation-OpenStack-1536x778.gif 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Once VM is launched successfully then we will get something like below,<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instances-Status-OpenStack-Dashboard.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10742\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instances-Status-OpenStack-Dashboard-1024x538.png\" alt=\"Instances-Status-OpenStack-Dashboard\" width=\"720\" height=\"378\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instances-Status-OpenStack-Dashboard-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instances-Status-OpenStack-Dashboard-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instances-Status-OpenStack-Dashboard-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instances-Status-OpenStack-Dashboard-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Instances-Status-OpenStack-Dashboard.png 1898w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>Now Associate floating IP to instance (demo_vm), Under the \u201c<strong>Actions<\/strong>\u201d Tab, Choose \u201c<strong>Associate Floating IP<\/strong>\u201d<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Associate-Floating-IP-Option-Openstack.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10736\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Associate-Floating-IP-Option-Openstack-1024x538.png\" alt=\"Associate-Floating-IP-Option-Openstack\" width=\"720\" height=\"378\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Associate-Floating-IP-Option-Openstack-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Associate-Floating-IP-Option-Openstack-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Associate-Floating-IP-Option-Openstack-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Associate-Floating-IP-Option-Openstack-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Associate-Floating-IP-Option-Openstack.png 1898w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>Now Choose IP or Click on <strong>+ sign<\/strong> to get floating IP from external network and then associate it<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Choose-IP-Associate-Port-OpenStack.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10737\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Choose-IP-Associate-Port-OpenStack-1024x538.png\" alt=\"Choose-IP-Associate-Port-OpenStack\" width=\"722\" height=\"379\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Choose-IP-Associate-Port-OpenStack-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Choose-IP-Associate-Port-OpenStack-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Choose-IP-Associate-Port-OpenStack-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Choose-IP-Associate-Port-OpenStack-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Choose-IP-Associate-Port-OpenStack.png 1898w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/a><\/p>\n<p>Once IP is associated to the VM then floating IP will be displayed for under &#8216;<span style=\"color: #0000ff;\">IP Address<\/span>&#8216; option, example is shown below<\/p>\n<p><a href=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Floating-IP-Address-Openstack-VM.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10738\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Floating-IP-Address-Openstack-VM-1024x538.png\" alt=\"Floating-IP-Address-Openstack-VM\" width=\"720\" height=\"378\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Floating-IP-Address-Openstack-VM-1024x538.png 1024w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Floating-IP-Address-Openstack-VM-300x158.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Floating-IP-Address-Openstack-VM-768x404.png 768w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Floating-IP-Address-Openstack-VM-1536x808.png 1536w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Floating-IP-Address-Openstack-VM.png 1898w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>Now try to access this demo_vm using the floating ip, use <span style=\"color: #0000ff;\">cirros<\/span> as a user and \u2018<span style=\"color: #0000ff;\">gocubsgo<\/span>\u2019 as password<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10735\" src=\"https:\/\/linuxtechi.com\/wp-content\/uploads\/2020\/06\/Access-VM-using-floating-ip-openstack.png\" alt=\"Access-VM-using-floating-ip-openstack\" width=\"721\" height=\"585\" srcset=\"https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Access-VM-using-floating-ip-openstack.png 942w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Access-VM-using-floating-ip-openstack-300x244.png 300w, https:\/\/www.linuxtechi.com\/wp-content\/uploads\/2020\/06\/Access-VM-using-floating-ip-openstack-768x624.png 768w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/p>\n<p>Great, above output confirms that we can access our instance via floating ip. This concludes the article; I hope this tutorial helps to deploy openstack on CentOS 8 system. Please don\u2019t hesitate to share your feedback and comments.<\/p>\n<p><span style=\"color: #ff6600;\"><strong>Also Read<\/strong><\/span>: <span style=\"color: #0000ff;\"><strong><a style=\"color: #0000ff;\" title=\"How to Create an Instance in OpenStack via Command Line\" href=\"https:\/\/linuxtechi.com\/create-delete-virtual-machine-command-line-openstack\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Create an Instance in OpenStack via Command Line<\/a><\/strong><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Openstack is a free and open-source private cloud software through which we can manage compute, network and storage resources of our data center with an [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":10740,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[3],"tags":[536],"class_list":["post-10734","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","tag-openstack-on-centos-8"],"_links":{"self":[{"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/posts\/10734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/comments?post=10734"}],"version-history":[{"count":0,"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/posts\/10734\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/media\/10740"}],"wp:attachment":[{"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/media?parent=10734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/categories?post=10734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxtechi.com\/wp-json\/wp\/v2\/tags?post=10734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}