Deploying Openstack(private cloud) on AWS(public cloud)

Shailja Tripathi
3 min readJul 4, 2020

Probably everyone with OpenStack hands-on experience would agree that sometimes it could be hard and frustrating to install it and test it. Especially if you do not own a small Data Center or the proper physical infrastructure to support its installation needs… However, wouldn’t it be great to use a public cloud provider and its infrastructure to experiment and create POC environments? In this article, I will provide the basic steps of how to spin up a Redhat OpenStack POC environment on AWS and the things you should modify in order to get OpenStack up and running probably on every cloud provider.

Step 0: Prerequisites

Hardware

Instance with at least 8GB RAM and 50GB storage, with hardware virtualization enabled AMI

Software

As we are installing RedHat Openstack, We will need RHOSP iso file. Generally RedHat asks for a subscription to download this file. COPY LINK DRIVE

Network

We need to disable NetworkManager and firewall as they manage network interfaces and the firewall, and Neutron wants to manage them as well. When there are two managers that don’t know about each other, you can perhaps imagine that the result is chaos.

$ sudo su
$ systemctl disable firewalld
$ systemctl stop firewalld
$ systemctl disable NetworkManager
$ systemctl stop NetworkManager

Step 1: Installation

I used gdown command to download the required iso files inside the instance.

sudo yum install python3 -y
sudo pip3 install gdown
#gdown needs the file ID to download files from gdrive
the ID can be found in the Gdrive link after file/d/ till /view
gdown --id ID --output rhosp.iso

Now, after downloading the Iso file, lets copy the contents to another folder. For this, we have to mount the iso file first

mkdir temp openstack
mount rhosp.iso temp
cp -rvf temp/ openstack/

After this, we have to create a repo inside the folder

sudo yum install createrepo
cd openstack
createrepo -v .

then we have to write a repo file for the newly created repo

vi /etc/yum.repos.d/local.repo[openstack]
baseurl=file:///home/ec2-user/openstack
gpgcheck=0

We can check the created repo using yum repolist, If the repo isn’t shown use yum clean all.

Install Openstack using yum install opentsack-packstack

Generate answer file using
packstack --gen-answer-file=openstack.txt
After generating, Run answer file using
packstack --answer-file=openstack.txt

We have successfully installed Openstack on AWS

Connecting to Horizon

As Horizon runs on apache web server , We need to configure Apache to use public IP of the instance for accessing openstack.

For this:

vi /etc/httpd/conf.d/15-horizon_vhost.conf

Here, we have to change ServerAlias from private IP to public IP.

After that, just restart the webserver using

systemctl restart httpd

Now, We can access Openstack in our web browser using public IP of instance

If you are uable to find keystonerc_admin and keystonerc_demo files in your directory just chnage directory to /root and you will find it there by

sudo su -root

Thankyou for Reading!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Responses (1)

Write a response