TripleO UnderCloud Installation on CentOS 7

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: 192.168.43.0/24
  • NAT Network: 10.0.3.0/24
  • IP Address on enp0s3 is 192.168.43.131 (Provisining IP) and IP Address on enp0s8 is 10.0.3.15 (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,

[root@urclouds ~]# hostnamectl set-hostname "undercloud.urclouds.com"
[root@urclouds ~]# exec bash
[root@undercloud ~]#

Here I am going to configure hostname.

[root@undercloud ~]# echo "192.168.43.131    undercloud.urclouds.com" >> /etc/hosts
[root@undercloud ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.43.131    undercloud.urclouds.com
[root@undercloud ~]#

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

[root@undercloud ~]# 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.

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

Enable required repositories for undercloud

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

[stack@undercloud ~]$ sudo curl -L -o /etc/yum.repos.d/delorean.repo https://trunk.rdoproject.org/centos7-master/current-passed-ci/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
[stack@undercloud ~]$
[stack@undercloud ~]$ cd /etc/yum.repos.d/
[stack@undercloud 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
[stack@undercloud yum.repos.d]$ cat delorean.repo
[delorean]
name=delorean-openstack-nova-965941f1e62cef16967e7a7cd6d98263e52acb62
baseurl=https://trunk.rdoproject.org/centos7/96/59/965941f1e62cef16967e7a7cd6d98263e52acb62_0989b280
enabled=1
gpgcheck=0
priority=1[stack@undercloud yum.repos.d]$
[stack@undercloud yum.repos.d]$

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

[root@undercloud stack]# vi /etc/yum.repos.d/delorean-current.repo
[delorean-current]
name=delorean-openstack-tempest-f6b8de2dad0ecf1ff3c9de383be5f12c873fcfa2
baseurl=https://trunk.rdoproject.org/centos7/f6/b8/f6b8de2dad0ecf1ff3c9de383be5f12c873fcfa2_26625a85
enabled=1
gpgcheck=0
priority=1
includepkgs=diskimage-builder,instack,instack-undercloud,os-apply-config,os-collect-config,os-net-config,os-refresh-config,python-tripleoclient,openstack-tripleo-common*,openstack-tripleo-heat-templates,openstack-tripleo-image-elements,openstack-tripleo,openstack-tripleo-puppet-elements,openstack-puppet-modules,openstack-tripleo-ui,puppet-*
~

Save & exit the file

[stack@undercloud ~]$ sudo curl -L -o /etc/yum.repos.d/delorean-deps.repo https://trunk.rdoproject.org/centos7/delorean-deps.repo
[stack@undercloud ~]$ sudo yum -y install yum-plugin-priorities
[stack@undercloud ~]$ sudo yum install epel-release -y

Install TripleO CLI package using yum command

[stack@undercloud ~]$ sudo yum install python-tripleoclient -y

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

[stack@undercloud ~]$ 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

[stack@undercloud ~]$ vi undercloud.conf
[DEFAULT]
local_ip = 192.168.43.131/24
undercloud_public_vip = 192.168.43.2
undercloud_admin_vip = 192.168.43.3
local_interface = enp0s3
masquerade_network = 192.168.43.131/24
dhcp_start = 192.168.43.150
dhcp_end = 192.168.43.200
network_cidr = 192.168.43.0/24
network_gateway = 192.168.43.131
inspection_iprange = 192.168.43.150,192.168.43.199
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,

[stack@undercloud ~]$ openstack undercloud install

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

 

Verify the OpenStack Service list

[stack@undercloud ~]$ source stackrc
(undercloud) [stack@undercloud ~]$ 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) [stack@undercloud ~]$

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.

This Post Has 16 Comments

  1. Kamala Krok

    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.

  2. www.cheats-network.com/

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

  3. تسديد قروض

    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

  4. تصميم مواقع

    Incredible points. Outstanding arguments. Keep up the great
    spirit.

  5. تسديد قروض

    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!

  6. Cheltenham racing March

    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

  7. cat hat

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

  8. cat hat

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

  9. nhà cái win2888

    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!

  10. buy sibutramine online

    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.

  11. accounting office breda

    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!

  12. administratiekantoor

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

  13. boekhouder zzp

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

  14. kinh nghiem lo de

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

  15. Diptendu

    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?

    1. dz

      Hi Sir,
      Do u have article continue to this…I mean on overcloud steps? Hope you could share it for the good of all. Thank you sir.

Leave a Reply