Good News for Openstack lovers, latest version OpenStack ‘Newton’ has been released on 6th Oct 2016, this is the 14th release of openstack (open source cloud software). Below are the new features that have been noticed in this release :
- Enhanced Scalability : It offers scale-up/scale-down capabilities in Nova, Horizon, and Swift.
- Introduction of Magnum : It provides the container orchestration tools via docker Swarm, Kubernetes and Mesos
- Improvement in bare metal provisioning and it adds multi-tenant networking and integration with magnum.
In this article we are going to install OpenStack ‘Newton’ on three nodes running on CentOS 7 using packstack script. Below is the details of my setup,
- Node1 = controller.example.com (192.168.1.70)
- Node2= compute.example.com (192.168.1.80)
- Node3 = network.example.com (192.168.1.90)
Note: I am assuming Minimal CentOS 7 is installed and hostname is also set as per above specification in all the nodes.
Step:1 Update the Servers using yum command
Update the controller, compute and network node using below yum command and reboot them. Run the below command on all the nodes.
~]# yum update -y ; reboot
Edit the Hosts file on each server and set the below entries in case you don’t your local DNS server.
192.168.1.70 controller.example.com controller 192.168.1.80 compute.example.com compute 192.168.1.90 network.example.com network
Step:2 Stop and disable firewalld & NetworkManager Service
Execute the beneath commands one after the another to stop and disable firewalld and NetworkManager Service on all nodes.
~]# systemctl stop firewalld ~]# systemctl disable firewalld ~]# systemctl stop NetworkManager ~]# systemctl disable NetworkManager
Disable SELinux using below command
~]# setenforce 0 ; sed -i 's/=enforcing/=disabled/g' /etc/sysconfig/selinux
Step:3 Configure passwordless ssh from controller to compute and network node.
Execute the below commands from controller node to configure passwordless ssh from controller to network and compute node.
[[email protected] ~]# ssh-keygen [[email protected] ~]# ssh-copy-id [email protected] [[email protected] ~]# ssh-copy-id [email protected]
Verify whether passwordless ssh is working from Controller node or not.
[[email protected] ~]# ssh [email protected] Last login: Sat Oct 8 08:26:46 2016 from controller.example.com [[email protected] ~]# [[[email protected] ~]# ssh [email protected] Last login: Sat Oct 8 08:27:27 2016 from controller.example.com [[email protected] ~]#
Step:4 Set OpenStack Newton Repository and install packstack utility.
Run the below command on controller node to set CentOS 7 Openstack Newton repository.
[[email protected] ~]# yum install centos-release-openstack-newton -y [[email protected] ~]# yum update -y
Install Packstack utility on controller node using following yum command
[[email protected] ~]# yum install openstack-packstack -y
Step:5 Generate and update Openstack answer file
Execute below packstack command on controller node to generate answer file
[[email protected] ~]# packstack --gen-answer-file=/root/newton-answer.txt [[email protected] ~]#
Update the answer file as per your architecture. In my case i have updated the following entries in my newton-answer.txt file.
[[email protected] ~]# vi /root/newton-answer.txt ............................ CONFIG_CONTROLLER_HOST=192.168.1.70 CONFIG_COMPUTE_HOSTS=192.168.1.80 CONFIG_NETWORK_HOSTS=192.168.1.90 CONFIG_PROVISION_DEMO=n CONFIG_CEILOMETER_INSTALL=n CONFIG_NTP_SERVERS=188.8.131.52 CONFIG_KEYSTONE_ADMIN_PW=<Specify_Password_for_Keystone_Admin> .............................................................................
Step:6 Start the newton openstack installation using packstack
Run the beneath command from the controller node to start the openstack installation
[roo[email protected] ~]# packstack --answer-file=/root/newton-answer.txt
Once the Installation is Completed Successfully , we will get below message.
Step:7 Login to Newton Horizon Dashboard
When the installation is completed successfully then Dashboard URL is provided on the Screen as shown in above screenshot. So in my case Dashboard url is “http://192.168.1.70/dashboard” , Use the user name as admin and the password which we specify in the answer file under the “CONFIG_KEYSTONE_ADMIN_PW” parameter.
Step:8 Do the network Configuration on Network Node
When the openstack installation is completed bridge (br-ex) interface will be created on network node. Add interface (enp0s3 or ethx) in bride br-ex as a port and assign the ip address of enp0s3 or ethx to br-ex . To accomplish this do the below mentioned steps on the network node.
[[email protected] ~]# cd /etc/sysconfig/network-scripts/ [[email protected] network-scripts]# cp ifcfg-enp0s3 ifcfg-br-ex [[email protected] network-scripts]# vi ifcfg-enp0s3 DEVICE=enp0s3 HWADDR=08:00:27:4b:53:57 TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex ONBOOT=yes
Save & exit the file
[[email protected] network-scripts]# vi ifcfg-br-ex DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.1.90 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes
Save &exit the file
Restart the network Service to take the above changes into the effect.
[[email protected] network-scripts]# systemctl restart network [[email protected] network-scripts]#
Now Verify whether the IP address of enp0s3 is assigned to br-ex using ifconfig command
Also verify whether a port has been added in OVS bridge interface br-ex using ovs-vsctl command.
[[email protected] network-scripts]# ovs-vsctl show
That’s all Basic installation of Openstack Newton is completed Now. Next step is create projects, users, network and flavors and upload cloud images and then start launching the VM instances using cloud images.
Red More : How to Install Tripleo(Openstack on Openstack) UnderCloud on CentOS 7
Red More : How to deploy TripleO Overcloud (Controller , Compute) on CentOS 7 VMs
23 thoughts on “Multi Node OpenStack ‘Newton’ Installation Steps on CentOS 7”
Hey thanks for the tutorial, I’ve finished all the installation with more compute nodes. I’ve finished network and image creation too. I’ve launched instances successfully. But something was wrong with the network. I created public and private router for instances and connect them together with a router. I’ve checked the router, I found that port status on my router gateway-to public was down. I was using dhcp from my local router to this openstack router so I disabled dhcp for public-subnet.I found this status on my public network; VIF Type binding failed. How to solve this problem? Thank you
could you paste some out put here like ovs-vsct show ” your external bridge” , neutron net-list
Can anyone help with below error while installing …
Testing if puppet apply is finished: 192.168.56.147_controller.pp [ ]
What kind of hardware are you on? This step can sometimes to take up to 30 minutes to complete and the only time I’ve had an error is when I’ve tried to install packstack on less than sufficient hardware or a small kvm instance. Whenever I used an adequate it completes every time.
Do you have a tutorial for how to add a compute node to this installation?
You can add new compute nodes to the existing openstack installation, for that you need to update your answer file. Add the IP address or hostname of the new node to parameter “CONFIG_COMPUTE_HOSTS” Then configure “EXCLUDE_SERVERS” with the ip of all other nodes which are already installed.This will make sure that when you rerun packstack it will touch only the new compute node and no system in the “EXCLUDE_SERVERS” will be touched.
Could you show me the Next step is create projects, users, network and flavors and upload cloud images and then start launching the VM instances using cloud images.
Thank so much!
Use the below URL :
Launch an Instance from OpenStack (Liberty) Dashboard
I have configured packstack to install Fwaas, Lbaas and Vpnaas. The installation fails at ‘Applying 192.168.x.x_network.pp’ with the following error:
ERROR : Error appeared during Puppet run: 192.168.x.x_network.pp
Error: Could not find dependent Service[neutron-server] for Class[Neutron::Services::Vpnaas] at /var/tmp/packstack/58e591da9c4f444abc69ee8e53dc65c1/modules/packstack/manifests/neutron/vpnaas.pp:10
I verified that neutron-server is running in the controller node after the installation failed. Retried the installation but in vain.
I am getting same error.
Thanks for the article.
My set-up requirements are different. I have few questions:
1) How to modify the answer-key file to separate the management network to that from the overlay tunnel network. I don’t care about the VM external(internet) connectivity network.?
2) How to add new compute nodes to the existing multi-node set-up?
Hello, I am setting as stated above. Initially there should be 1 interface, which gets the address on dhcp, so that there was access to the Internet. Then I get an error, after packstack -answer-file = / root / newton-answer.txt. Writes here that ERROR: [Errno 2] No such file or directory: ‘/etc/pki/tls/certs/selfcert.crt’. Thank you.
Disable selinux and try it will work.
I am getting the same error. I have disabled the Selinux but problem persists.
[[email protected] ~]# sestatus
SELinux status: disabled
[[email protected] ~]#
[[email protected] ~]# sestatus
SELinux status: disabled
[[email protected] ~]#
Intalled Openstack with this method however , Dashboard doesnt open …
Do you have a guide for multiple node openstack with high availability for CentOS?
Whats your email?
Melborn De Chavez
As of now we have not published above requested article, but shortly we will published it
Awesome, appreciate if you could also include the environment’s diagram.
The usual samples I’m seeing now is minimal just for installation, I’m also looking for production grade setup and configuration.
So far your guide is the most user friendly.
Do you have this setup with high availability?
Appreciate if you could share.
Its me again.
Requesting for demo using undercloud and overcloud openstack with high availability
Hi, Thanks for the excellent guide.
I want to deploy the OpenStack on 2 nodes…
Following the above guide, can I merge controller and network node on a single server and proceed with the installation.
Also before starting with the above guide, are there any per-requisites such as installing openvswitch or kvm or ntp or any other services on the nodes or packstack will do everything it needs…
I am trying installation on 2 node setup following the above guide (controller and network as one node and compute as another). Getting below error:
Error: Command: ‘openstack [“flavor”, “set”, [“m1.small”, “–project”, “”]]’ has been running for more than 40 seconds (tried 4, for a total of 170 seconds)
Kindly guide if I am doing anything wrong.
i was getting same error.. Simple fix was to increase the controller’s cpu resources such as ram and cpu etc..it worked for me.