How To Easy Install OpenStack Kilo Multi Node (Controller, Compute, Network) on CentOS 7

Home » Linux » How To Easy Install OpenStack Kilo Multi Node (Controller, Compute, Network) on CentOS 7
Linux, OpenStack 24 Comments

Few days ago, i am write script to ease and automatically install OpenStack Kilo multi node (Controller, Compute and Network) on CentOS 7. The script and packages could be download at this link : The packages have contents

– README for further information about install and another guidance

– Package that necessary by system for build OpenStack Kilo on CentOS (you unnecessary repository online for build OpenStack)

– Script for automatic configure repository, /etc/hosts, hostname, SSH Password-less and etc

– Script for automatic install and configure OpenStack Kilo

These script could be apply in physical machine directly or Virtual Machine for testing purpose. If using virtual machine, my suggestion is for use VMware vSphere or VMware Workstation/VMware Fusion. You could use KVM mode even though in virtual machine (nested). You could use this guidance for enable virtualization technology in VM above VMware :

The following is topology to build OpenStack Kilo in VMware


– You could connect directly to VMware from Laptop using LAN cable and manage VMware

– Create 3 VM on VMware (Controller, Compute, Network)

– The VMs have NIC interfaces with composition : Controller Node 1 NIC, Compute Node 2 NIC and Network Node 3 NIC

– First interface on all nodes will be used for management network (give IP address, configure SSH, access to dashboard and etc)

– Second interface on compute and network node will be used for network tunnel (used for instance network)

– Third interfaces on network node will be used for public network (floating IP, client access from internet/outside)

– For testing purpose, create second ip address in laptop for Public network (alias IP and interfaces)

Good luck and hopefully useful 😀

Let’s See the Video on Youtube

24 thoughts on - How To Easy Install OpenStack Kilo Multi Node (Controller, Compute, Network) on CentOS 7

  • Dear Imam,
    It is very very useful, thanks for your wonderful / helpful tutor.

    I am very new to the Openstack, I dont know where to start,
    by gods grace i found your URL.
    I would request please guide me how to proceed or learn more on Openstack.

    Thanks a Ton
    From India

  • hi ahmed
    i try to install but it is stuck with nova sycn…. and httpd dosn’t start

    can you help me with this

    thank you

  • Hi , i have 3 “physical machines” (controller,compute1,network) with controller node having 2 NIC’s(1 for public network, another for management network) , network node having 3 NIC’s ,(1 for public network , another 1 for management network, and another 1 for VM traffic Network ) and compute1 with 2NIC’s (1 for Management, 1 for VM Traffic network) how to make sure that each of these network independently that means i can able to use each of them simultaneously , i connected management network through a switch and VM Traffic network through another switch , how to make all these networks work at the same time , in vmware they are all established by NAT , but i don’t know how to do it on physical machines , can you help me out.

  • hi i have commented on youtube. need some help. please see the picture left is my installation and right is your. can i have you email so that i can send the pic to you

  • Hey Ahmad Imanudin! I was following your great tutorial but I have stumbled in a little problem of authentication while setting keystone and other things.

    When the script ‘’ try to run this code ‘ openstack service create –name keystone –description “OpenStack Identity” identity’ i get this error:

    The request you have made requires authentication. (HTTP 401) (Request-ID: req-3c9449e9-6deb-482f-bab5-39b1782dcda6)

    Any command that starts with ‘openstack’ is generating this error. The instalation is finished, but I can’t log in Horizon, probably because the command that creates the user is one of these that starts with ‘openstack’.

    This is the recent entries on the keystone log:

    I already have searched for this error on the internet and can’t get an answer. The token seems to be ok on ‘/etc/keystone/keystone.conf’. If you could help me I would be appreciated!

    Thank you!

      • Forget about the keystone, I was able to install the openstack correctly (I suppose…). Thanks anyway!

        The problem that I’m into now is that when I launch an instance and give it a floating IP (ranging from to , in my case), I can’t ping the instance through this IP (i get “Destination Host Unreachable” ICMP error). I guess that I have messed up the public network configuration.

        To the public network configuration, I have set on my computer (that is running the VMs) the sub-network in the eth0 interface (which is running the management network also, within the network In the network node on the third interface I have set an IP to it, in order to it belongs to the public network (just like your topology image). But I can’t access (by ping) the IPs that the OpenStack generates for the routers and instances.

        I didn’t get the public network right, can you explain to me how do I set up it correctly?!

        Thanks for the help!

  • hi, i found the error on this..
    failure: repodata/repomd.xml from openstack: [Errno 256] No more mirrors to try.
    file:///srv/openstack/repo/repodata/repomd.xml: [Errno 14] curl#37 – “Couldn’t open file /srv/openstack/repo/rep
    Connection to compute closed.
    Loaded plugins: fastestmirror
    file:///srv/openstack/repo/repodata/repomd.xml: [Errno 14] curl#37 – “Couldn’t open file /srv/openstack/repo/rep
    Trying other mirror.

    • Add these lines (scp -r $lokasi/repo/repodata root@compute:$lokasi/repo
      scp -r $lokasi/repo/repodata root@network:$lokasi/repo) to ‘’ script between those other lines:

      cp /etc/hosts /etc/hosts-`date +%H-%M-%S-%d-%m-%Y`
      echo “ localhost” > /etc/hosts
      echo “$IPCONTROLLERNODE controller” >> /etc/hosts
      echo “$IPCOMPUTENODE compute” >> /etc/hosts
      echo “$IPNETWORKNODE network” >> /etc/hosts
      echo “”

      ####################### – Copying the repodata folder to all nodes – BY ITALO
      scp -r $lokasi/repo/repodata root@compute:$lokasi/repo
      scp -r $lokasi/repo/repodata root@network:$lokasi/repo

      ## Konfigurasi ssh-keygen (ssh tanpa password)
      echo -e “[INFO] : configure ssh-keygen (ssh password-less)”
      echo “”


      • Hi Iman, Ok, thing is that in the other side of the vmnic0 I have a Cisco Access port with same subnet for Management Network and Controller. Is that Ok?
        This is what I have:
        Please insert IP Address of Controller Node :
        Please insert IP Address of Compute Node :
        Please insert IP Address of Network Node :
        Please insert the IP address for the tunnel on the Compute node :
        Please insert the IP address for the tunnel on the Network Node :
        Please insert the internal Subnet for instance (example : :
        Please insert Default Gateway for internal instance (example : :
        Please insert the external interface that will used on the network node (example : eth2) : eno50338560
        Please insert the Public Subnet for Floating IP (example : :
        Please insert Default Gateway for Public/Floating IP (example : :
        Please insert the first allocation Pool for Public/Floating IP (example : :
        Please insert the end allocation Pool for Public/Floating IP (example : :
        Please insert strong Password (This password will be used for services and login dashboard) : verysecret
        Please insert/type kvm if processor on the compute node support kvm. (type in lowercase) :
        [INFO] : Generate Token for authentication Services

        wondering if that setup is fine, and if I need access to the rest of the networks, please let me know any comments.


  • Hi Iman, thanks, its really great article and very useful.

    May, I use the same script for liberty installation or requires any changes in the script. kindly give the details.