OpenStack is a Cloud Software that manage large pool of compute (hypervisors), storage ( block & swift ) and network resources of a data center. It provides a Dashboard where admins can create and manage Projects (Tenants ) and give appropriate access to the project members , further on Project members can create VMs (Virtual Machine).

In this article we will install latest version of OpenStack ‘Liberty’ on CentOS 7 using rdo repositories. As per my setup i am using followings on my CentOS 7 Machine

  • Hostname = openstack.example.com
  • IP address = 192.168.1.3
  • netmask = 255.255.255.0
  • Gateway = 192.168.1.1
  • DNS = 192.168.1.254

Step:1 Set the hostname using hostnamectl command .

[[email protected] ~]# hostnamectl set-hostname "openstack.example.com"
[[email protected] ~]#

Step:2 Set the Selinux in Permissive Mode

[[email protected] ~]# setenforce 0

Edit the selinux config file ( /etc/sysconfig/selinux ) and set “SELINUX=permissive

[[email protected] ~]# grep permissive /etc/sysconfig/selinux
SELINUX=permissive
[[email protected] ~]#

Step:3 Disable firewalld & NetworkManager Service

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[[email protected] ~]#
[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
[[email protected] ~]#

Step:4 Enable rdo repository for liberty packages.

Use below commands to update the system and enable rdo repository

[[email protected] ~]# yum update -y
[[email protected] ~]# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm

Step:5 Install OpenStack PackStack Package

[[email protected] ~]# yum install -y openstack-packstack

Generate the answer file using below command.

[[email protected] ~]# packstack --gen-answer-file=/root/answer.txt
Packstack changed given value to required value /root/.ssh/id_rsa.pub

Edit the answer file “/root/answer.txt” , set the following parameters and leave rest of parameters as it is.

# NTP Server
CONFIG_NTP_SERVERS=<NTP_Server_IP> # Disable Demo Version
CONFIG_PROVISION_DEMO=n # Set KeyStone Admin Password or Admin user Password
CONFIG_KEYSTONE_ADMIN_PW=<password> # Config Horizon over SSL
CONFIG_HORIZON_SSL=y # Disable Nagios
CONFIG_NAGIOS_INSTALL=n

Note : In case if you don’t have NTP server in your setup then you can leave NTP parameter as it is.

Step:6 Start OpenStack installation using answer file.

[[email protected] ~]# packstack --answer-file /root/answer.txt

Once the installation is completed , we will get below message.

openstack-installation-packstack

After the installation a new interface “br-ex” will be created and assign the IP addess of eth0 or enp0s3 to br-ex .

[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-enp0s3 ifcfg-br-ex
[[email protected] network-scripts]# vi ifcfg-enp0s3
DEVICE=enp0s3
HWADDR="08:00:27:8E:EA:56"
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ONBOOT=yes [[email protected] network-scripts]# vi ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.1.3
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.254
ONBOOT=yes

In above files please change the IP details, Hardware address and Device name as per your setup.

When we restart the network service , it will add “enp0s3” as a port in br-ex OVS bridge.

[[email protected] network-scripts]# systemctl restart network
[[email protected] network-scripts]#

Please take a reboot and check whether settings are persistent or not.

Step:7 Now Access OpenStack Dashboard.

When the installation is completed a dashboard link was provided on the screen , in My Case it is “https://192.168.1.3/dashboard”

Liberty-OpenStack-Dashboard jpg

Use the user name as “admin” and password that we set for keystone admin user in answer file.

Instance-Overview- OpenStack-Dashboard

As we are able to login in Dashboard , so OpenStack installation part is completed. Now our next task is to “Launch an Instance from OpenStack Dashboard