How to Install Single Node OpenStack on CentOS 7
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.
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”
Use the user name as “admin” and password that we set for keystone admin user in answer file.
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“