In this blog, I will walk you through the steps that need to performed to create a MultiNode OpenStack Kilo setup running on Centos 7 VMs. The resultant network topology will be as follows:
Pre-requisites
Similarly, create the Data Plane (60.60.60.0/24). The Host-Only Network adapter creates a soft switch using which VMs can talk with each other.
Note: We do not need to configure the DHCP server as we will be using static ips.
Create 4 VMs with the following settings and install CentOS Minimal Server on them:
NW Adapter 1 : enp0s3
NW Adapter 2 : enp0s8
NW Adapter 3 : enp0s9
Now, we need to visit each VM and configure it appropriately.
On each VM
Pre-requisites
- VirtualBox
- A Laptop or Server with 16 GB RAM and around 20 GB free hard disk space
- CentOS 7 Minimal ISO
- Internet Connectivity
In VirtualBox go to File -> Preferences -> Network -> Host-Only Networks and create a new Host-Only networks. You can refer to my earlier blog on the various networking options provided by VirtualBox here
In our topology, this network will act as the Control Plane network and should be configured as follows:
Note: We do not need to configure the DHCP server as we will be using static ips.
Create 4 VMs with the following settings and install CentOS Minimal Server on them:
- RAM : 2 GB
- Hard Disk Space : 4 GB
- Network Adapter 1 (For Internet) : NAT
- Network Adapter 2 (Control Plane) : Host-Only Network Adapter (50.50.50.0/24)
- Network Adapter 3 (Data Plane) : Host-Only Network Adapter (60.60.60.0/24)
NW Adapter 1 : enp0s3
NW Adapter 2 : enp0s8
NW Adapter 3 : enp0s9
Now, we need to visit each VM and configure it appropriately.
On each VM
- Install SSH server and configure it.
yum -y install openssh-server openssh-clients If SSH is taking a lot of time to show the login prompt on your VM, open /etc/ssh/sshd_config and update the following fields to 'no': GSSAPIAuthentication no UseDNS no This will speed up the ssh login
- Update the hostname and hosts file as follows:
/etc/hostname controller.kilo.mylab.net (or) networknode.controller.mylab.net e.t.c /etc/hosts: 192.168.10.101 controller.kilo.mylab.net controller 192.168.10.102 networknode.kilo.mylab.net netnode 192.168.10.103 compute1.kilo.mylab.net compute1 192.168.10.104 compute2.kilo.mylab.net compute2
- To assign static ips to the interfaces, open /etc/sysconfig/networking-scripts/ifcg-enp0s8 (and enp0s9) and update as follows:
DEFROUTE=no IPV6_DEFROUTE=no BOOTPROTO=static ONBOOT=yes # The IP to be configured on enp0s8 for each node # Compute - 50.50.50.101 # Network Node - 50.50.50.102 # Compute1 - 50.50.50.103 # Compute2 - 50.50.50.104 # The IP to be configured on enp0s9 for each node # Compute - 60.60.60.101 # Network Node - 60.60.60.102 # Compute1 - 60.60.60.103 # Compute2 - 60.60.60.104 IPADDR=
NETMASK=255.255.255.0 GATEWAY=50.50.50.1 (or) 60.60.60.1 - Disable NetworkManager as Neutron wont work if its enabled.
systemctl disable NetworkManager.service
Follow the instructions given in my earlier blog and setup packStack for Kilo on the Controller. You will need to use this rpm : https://repos.fedorapeople.org/repos/openstack/openstack-kilo/rdo-release-kilo-1.noarch.rpm
I have pre-created 2 answer files for VLAN and VXLAN based setups. Download the one you want from the below location:
The default password for all the services has been set to 'password'. Update it to a different value if you want.
I have pre-created 2 answer files for VLAN and VXLAN based setups. Download the one you want from the below location:
The default password for all the services has been set to 'password'. Update it to a different value if you want.
Start the packstack installation on the server by executing the below command:
packstack --answer-file answer.txt
Once the installation completes you are all set to use the OpenStack Kilo. Open the browser on your laptop and go to the home page by entering http://50.50.50.101 (admin/password)
Enjoy playing with Kilo.
Note : The same installation will also work on physical servers instead of VMs. You will need to take care of the corresponding network configurations.
Comments
Thanks for the post. I was able to setup OpenStack Kilo.
It'll be great if you also include these steps.
1. No need to configure enp0s9 interface with static IP
2. Creating br-enp0s9 bridge with interface enp0s9 on all nodes except controller node
3. Also I had trouble with starting rabbitmq-server. Troubleshooted it using the steps given here.
https://ask.openstack.org/en/question/65042/fail-to-start-rabbitmq-serverservice-on-opensuse132/
Openstack Training