How to Install Your Own Cloud Platform with OpenStack in RHEL/CentOS 7
OpenStack is a free and open-source software platform which provides IAAS (infrastructure-as-a-service)for public and private clouds.
OpenStack platform consists of several inter-related projects that control hardware, storage, networking resources of a datacenter, such as: Compute, Image Service, Block Storage, Identity Service, Networking, Object Storage, Telemetry, Orchestration and Database.
The administration of those components can be managed through the web-based interface or with the help of OpenStack command line.
This tutorial will guide you on how you can deploy your own private cloud infrastructure with OpenStack installed on a single node in CentOS 7 or RHEL 7 or Fedora distributions by using rdo repositories, although the deployment can be achieved on multiple nodes.
Requirements
Step 1: Initial System Configurations
- Before you begin preparing the node in order to deploy your own virtual cloud infrastructure, first login with root account and assure that the system is up to date.
- To install some useful system utilities using YUM Package Manager, such as net-tools, nano text editor, wget and curl for URL transfers, lsof (to list your open files) and bash-completion, which auto completes typed commands.
- Next, issue the
ss -tulpn
command to list all running services. - Next, identify, stop, disable and remove unneeded services, mainly postfix, NetworkManager and firewalld. At the end the only daemon that would be running on your machine should be sshd.
- Completely disable Selinux policy on the machine by issuing the below commands. Also edit
/etc/selinux/config
file and set SELINUX line from enforcing to disabled as illustrated on the below screenshot. - On the next step using the hostnamectl command to set your Linux system hostname. Replace the FQDN variable accordingly. Name the host with a fully qualified domain name rather than a short-form name to avoid DNS issues with Packstack.
- Finally, install
ntpdate
command in order to synchronize time with a NTP server on your premises near your physical proximity.
1$ yum update
1$ yum install nano bash-completion net-tools wget curl lsof
12$ netstat -tulpn ## To output numerical service sockets
$ netstat -tulp ## To output literal service sockets

123456$ sudo systemctl disable firewalld
$ sudo systemctl stop firewalld
$ sudo systemctl disable NetworkManager
$ sudo systemctl stop NetworkManager
$ sudo systemctl enable network
$ sudo systemctl start network
123setenforce 0
getenforce
vi /etc/selinux/config

1hostnamectl set-hostname cloud.scmgalaxy.lan

1yum install ntpdate
Step 2: Install OpenStack in CentOS and RHEL
- OpenStack will be deployed on your Node with the help of PackStack package provided by rdo repository (RPM Distribution of OpenStack).
- Now it’s time to install PackStack package. PackStack represents a utility which facilitates the deployment on multiple nodes for different components of OpenStack via SSH connections and Puppetmodules.
- On the next step generate an answer file for Packstack with the default configurations which will be later edited with the required parameters in order to deploy a standalone installation of Openstack (single node).
- Now edit the generated answer configuration file with a text editor.
- After you finished editing save and close the file. Also, open SSH server configuration file and uncomment PermitRootLogin line by removing the front hashtag as illustrated on the below screenshot.
In order to enable rdo repositories on RHEL 7 /Centos run the below command.
1yum install https://www.rdoproject.org/repos/rdo-release.rpm
On CentOS 7:
123456$ sudo yum update -y
$ sudo yum install -y centos-release-openstack-queens
$ yum-config-manager --enable openstack-queens #Make sure the repository is enabled:
$ sudo yum update -y
$ sudo yum install -y openstack-packstack #Install Packstack Installer
$ sudo packstack --allinone #Run Packstack to install OpenStack
On RHEL:
1234$ sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
$ sudo yum update -y
$ sudo yum install -y openstack-packstack
$ sudo packstack --allinone
Install Packstat package in Linux with the following command:
1yum install openstack-packstack
The file will be named after the current day timestamp when generated (day, month and year).
12packstack --gen-answer-file='date +"%d.%m.%y"'.conf
ls

1vi 13.04.16.conf
and replace the following parameters to match the below values. In order to be safe replace the passwords fields accordingly
1CONFIG_NTP_SERVERS=0.ro.pool.ntp.org
Please consult http://www.pool.ntp.org/en/ server list in order to use a public NTP server near your physical location.

1CONFIG_PROVISION_DEMO=n

1CONFIG_KEYSTONE_ADMIN_PW=your_password for Admin user

Access OpenStack dashboard via HTTP with SSL enabled.
1CONFIG_HORIZON_SSL=y

The root password for MySQL server.
1CONFIG_MARIADB_PW=mypassword1234

Setup a password for nagiosadmin user in order to access Nagios web panel.
1CONFIG_NAGIOS_PW=nagios1234

1vi /etc/ssh/sshd_config

Then restart SSH service to reflect changes.
1systemctl restart sshd
Step 3: Start Openstack Installation Using Packstack Answer File
- Finally start Openstack installation process via the answer file edited above by running the below command syntax:
- Once the installation of OpenStack components is successfully completed, the installer will display a few lines with the local dashboard links for OpenStack and Nagios and the required credentials already configured above in order to login on both panels.
- If for some reasons the installation process ends with an error regarding httpd service, open /etc/httpd/conf.d/ssl.conf file and make sure you comment the following line as illustrated below.
1packstack --answer-file 13.04.16.conf


The credentials are also stored under your home directory in keystonerc_admin
file.
1Listen 443 https

Then restart Apache daemon to apply changes.
1systemctl restart httpd.service
Note: In case you still can’t browse Openstack web panel on port 443 restart the installation process from beginning with the same command issued for the initial deployment.
1packstack --answer-file /root/13.04.16.conf
Step 4: Remotely Access OpenStack Dashboard
- In order to access OpenStack web panel from a remote host in your LAN navigate to your machine IP Address or FQDN/dashboard via HTTPS protocol.
- Alternatively, if you opted to install Nagios component for OpenStack, you can browse Nagios web panel at the following URI and login with the credentials setup in answer file.
Due to the fact that you’re using a Self-Signed Certificate issued by an untrusted Certificate Authority an error should be displayed on your browser.
Accept the error and login to the dashboard with the user admin and the password set on CONFIG_KEYSTONE_ADMIN_PW parameter from answer file set above.
1https://192.168.1.40/dashboard


1https://192.168.1.40/nagios


That’s all! Now you can start setup your own internal cloud environment. Now follow the next tutorial that will explain how to link the server physical NIC to openstack bridge interface and manage Openstack from web panel.
![]() |