TripleO UnderCloud Installation on CentOS 7

Last updated on November 1, 2018

In this tutorial I am going show you Tripleo (OpenStack on OpenStack) UnderCloud installation on CentOs 7 VM. We will see step by step UnderCloud installation and configuration on CentOS 7 VM. We will also know what is UnderCloud and how it is work? So lets start.

What is TripleO UnderCloud?

TripleO is know as OpenStack on OpenStack. TripleO is an OpenStack Deployment & Management tool. We can divided tripleo into 2 node, first is UnderCloud and second is OverCloud. UnderCloud is also know as Director node in RHEL terminology. UnderCloud is used to manage Overcloud. We can use UnderCloud to deploy OverCloud Controller node, Compute node, Network node and Storage node.

We can install all OpenStack services in UnderCloud and we can deploy Controller node, Compute node Network node and Storage node as per our requirement as like Linux kickstart server.

Here you can see TripleO architectures.

Undercloud is a single node OpenStack installation which can be deploy either in a Virtual machine or in bare metal server. The main objective of undercloud is to install, test, manage and update its overcloud servers (Controller, Compute & Storage nodes). Basically UnderCloud contains all the images that is required to deployed Overcloud Controller, Computes, Swift and Storage.

Overcloud is the actual functional cloud for any organization where all the Virtual Machines are created on compute nodes and handle all the workloads. OverCloud provides the openstack services like Nova, Keystone, Horizon, Neutron, cinder, Glance, Heat & Ceilometer Services.

In this article, I am going to install UnderCloud node on CentOS 7 VM.

These are the minimum system requirements for undercloud node:-

  • 16 GB RAM
  • 1 Quad Core CPU
  • 80 GB disk Space
  • 2 Nics
  • CentOS 7.x / RHEL 7.x

These are my VM details where I am going to installed UnderCloud node:-

  • CentOS 7 VM (Minimal Installation) is hosted inside Oracle VM VirtualBox Manager.
  • Two Interfaces are attached to VM (Provisioning & NAT)
  • Provisioning Network:
  • NAT Network:
  • IP Address on enp0s3 is (Provisining IP) and IP Address on enp0s8 is (NAT IP)

To successfully install undercloud inside a virtual machine, you have to enabled Nested Virtualization in KVM hypervisor.

Let’s jump into the CentOS 7 VM and follow the below Steps:

Set the Hostname and update /etc/hosts file

Run the hostnamectl command to set the hostname,

[[email protected] ~]# hostnamectl set-hostname ""
[[email protected] ~]# exec bash
[[email protected] ~]#

Here I am going to configure hostname.

[[email protected] ~]# echo "" >> /etc/hosts
[[email protected] ~]# cat /etc/hosts   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[[email protected] ~]#

Now we need to update our system using below command and reboot.

[[email protected] ~]# yum update -y && reboot

Create non-root user (stack)

Run the beneath commands one after the another to create stack user and assign sudo rights to it. We will install undercloud using stack user only.

[[email protected] ~]# useradd stack
[[email protected] ~]#
[[email protected] ~]# echo "stack" | passwd --stdin stack
Changing password for user stack.
passwd: all authentication tokens updated successfully.
[[email protected] ~]#
[[email protected] ~]# echo "stack ALL=(root) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/stack
stack ALL=(root) NOPASSWD:ALL
[[email protected] ~]#
[[email protected] ~]# chmod 0440 /etc/sudoers.d/stack
[[email protected] ~]#
[[email protected] ~]# su - stack
[[email protected] ~]$

Enable required repositories for undercloud

Execute the below commands to enable and configured required repositories for undercloud installation.

[[email protected] ~]$ sudo curl -L -o /etc/yum.repos.d/delorean.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   213  100   213    0     0     69      0  0:00:03  0:00:03 --:--:--    69
[[email protected] ~]$
[[email protected] ~]$ cd /etc/yum.repos.d/
[[email protected] yum.repos.d]$ ls -l
total 32
-rw-r--r--. 1 root root 1664 Dec  9  2015 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Dec  9  2015 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Dec  9  2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  290 Dec  9  2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Dec  9  2015 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Dec  9  2015 CentOS-Sources.repo
-rw-r--r--. 1 root root 1952 Dec  9  2015 CentOS-Vault.repo
-rw-r--r--. 1 root root  213 Oct 28 12:23 delorean.repo
[[email protected] yum.repos.d]$ cat delorean.repo
priority=1[[email protected] yum.repos.d]$
[[email protected] yum.repos.d]$

Create a repo file (delorean-current.repo) with the following content

[[email protected] stack]# vi /etc/yum.repos.d/delorean-current.repo

Save & exit the file

[[email protected] ~]$ sudo curl -L -o /etc/yum.repos.d/delorean-deps.repo
[[email protected] ~]$ sudo yum -y install yum-plugin-priorities
[[email protected] ~]$ sudo yum install epel-release -y

Install TripleO CLI package using yum command

[[email protected] ~]$ sudo yum install python-tripleoclient -y

Copy & edit “undercloud.conf” sample file that suits to your env

[[email protected] ~]$ cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf

Now edit ‘undercloud.conf‘ that suits to your environment, In my case I am adding the following content under “Default” Section

[[email protected] ~]$ vi undercloud.conf
local_ip =
undercloud_public_vip =
undercloud_admin_vip =
local_interface = enp0s3
masquerade_network =
dhcp_start =
dhcp_end =
network_cidr =
network_gateway =
inspection_iprange =,
generate_service_certificate = true
certificate_generation_ca = local

Save and exit the file.

Start undercloud installation using openstack command

Now start undercloud installation using below openstack command,

[[email protected] ~]$ openstack undercloud install

Once the installation is completed successfully, we will get the output something like below


Verify the OpenStack Service list

[[email protected] ~]$ source stackrc
(undercloud) [[email protected] ~]$ openstack service list
| ID                               | Name             | Type                    |
| 19f1261745004b31bc77dcb17a5ed4f5 | heat-cfn         | cloudformation          |
| 1bdd5dfbc36f444ebe62580d71f1a7ec | heat             | orchestration           |
| 2b39423f188b412d85bed43f112b35d7 | zaqar-websocket  | messaging-websocket     |
| 46f64d65be874718a1b2c123f588371b | keystone         | identity                |
| 605261da43d64395b72acc5309a22096 | mistral          | workflowv2              |
| 6f50fb704b224c1abc3c2a1a163eb73a | neutron          | network                 |
| 7110b7d7711a4aa1af6a3c13566be28f | zaqar            | messaging               |
| 7e41468745724ecfa8ed339137e8b700 | placement        | placement               |
| 853efa8a8acf403b827617725c3b7322 | ironic-inspector | baremetal-introspection |
| a5522e5df77343b99a0e47812323a17b | swift            | object-store            |
| b9bbb1a771704b57a0833d738bfb86e5 | glance           | image                   |
| d50fdfa25fb64c3e865c172754452ab1 | ironic           | baremetal               |
| e2ea283690c742d3a98bd1eae6f9b830 | nova             | compute                 |
(undercloud) [[email protected] ~]$

This confirms that undercloud has been installed successfully. In the next article we will demonstrate how to import overcloud images in under cloud and how to create inventory file for overcloud servers and then we will see how we can deploy overcloud servers via undercloud.


  1. Kamala Krok said:

    Generally I do not read article on blogs, but I wish to say that this write-up very pressured me to take a look at and do it! Your writing style has been amazed me. Thank you, very nice article.

    February 23, 2019
  2. said:

    There is definately a lot to know about this issue. I love all the points you’ve made.

    February 28, 2019
  3. تسديد قروض said:

    Unquestionably believe that which you stated. Your favorite justification seemed to be on the internet the easiest thing to be aware of.
    I say to you, I certainly get irked while people think about worries that they just don’t know about.
    You managed to hit the nail upon the top and also defined out the whole thing without having side-effects , people can take a signal.

    Will likely be back to get more. Thanks

    March 3, 2019
  4. تصميم مواقع said:

    Incredible points. Outstanding arguments. Keep up the great

    March 3, 2019
  5. تسديد قروض said:

    Whoa! This blog looks exactly like my old one! It’s on a
    completely different topic but it has pretty much the same page layout and design.
    Wonderful choice of colors!

    March 13, 2019
  6. Cheltenham racing March said:

    I appreciate, result inn I found just what I used to bee looking for.
    You’ve ended my four day lengthy hunt! God Bless you man. Havee
    a great day. Bye

    March 18, 2019
  7. cat hat said:

    Hello.This article was extremely interesting,
    especially since I was browsing for thoughts on this matter last

    March 28, 2019
  8. cat hat said:

    It’s very straightforward to find out any topic on net as
    compared to textbooks, as I found this article at this web page.

    April 1, 2019
  9. nhà cái win2888 said:

    Hello there! This post couldn’t be written any better!

    Reading through this post reminds me of my good old room mate!
    He always kept talking about this. I will forward this write-up to him.

    Pretty sure he will have a good read. Many thanks for sharing!

    May 7, 2019
  10. buy sibutramine online said:

    Quality articles or reviews is the secret to be a focus for the users to visit the website, that’s what this website is providing.

    May 10, 2019
  11. accounting office breda said:

    I’m truly enjoying the design and layout of your website.

    It’s a very easy on the eyes which makes it much
    more enjoyable for me to come here and visit more often. Did you hire out a
    developer to create your theme? Superb work!

    June 3, 2019
  12. administratiekantoor said:

    Thanks for sharing your info. I truly appreciate your
    efforts and I will be waiting for your next post thank you once again.

    June 6, 2019
  13. boekhouder zzp said:

    Hi there, I enjoy reading through your post. I wanted to
    write a little comment to support you.

    June 27, 2019
  14. kinh nghiem lo de said:

    What’s up to every single one, it’s genuinely a pleasant for me to visit this
    web page, it contains priceless Information.

    July 15, 2019
  15. Diptendu said:

    Hi Zafar,

    Thank you so much for a very nice article. Do you have any article on Overcloud as well on CentOS 7 on Oracle Virtual box?

    August 9, 2019

Leave a Reply

Your email address will not be published. Required fields are marked *