0% found this document useful (0 votes)
193 views4 pages

Openstack Multinode Installation

This document provides instructions for installing and configuring an OpenStack cloud on multiple nodes including a controller, compute, and network nodes. It describes how to install packages and configure the nodes, generate an answer file, run the installation, create networks and images, launch instances, and add persistent routes. Key steps include disabling firewalls, configuring passwordless SSH, editing the answer file, restarting services, and creating networks, subnets, and routers to connect instances to external IPs.

Uploaded by

Salman Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
193 views4 pages

Openstack Multinode Installation

This document provides instructions for installing and configuring an OpenStack cloud on multiple nodes including a controller, compute, and network nodes. It describes how to install packages and configure the nodes, generate an answer file, run the installation, create networks and images, launch instances, and add persistent routes. Key steps include disabling firewalls, configuring passwordless SSH, editing the answer file, restarting services, and creating networks, subnets, and routers to connect instances to external IPs.

Uploaded by

Salman Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

PACKAGES REQUIRED:

-> yum -y update


-> yum makecache -y
-> yum install epel-release -y
-> yum makecache -y
-> yum install libvirt -y
-> yum install -y https://www.rdoproject.org/repos/rdo-release.rpm (only run in
controller node)
-> yum install -y openstack-packstack (only run in controller node)
-> yum makecache -y
-> yum -y update

SETUP NODES:

CONTROLLER , COMPUTE's , NETWORK


-> Set static IP of All Nodes.
-> hostnamectl set-hostname controller # Do All these steps for every
node.
-> nano /etc/hosts
172.17.85.101 controller.cloud.com controller # change ip of every node
172.17.85.102 compute1.cloud.com compute1 # according to your network
172.17.85.103 compute2.cloud.com compute2 # setting and also change
172.17.85.104 compute3.cloud.com compute3 # hostname's.
172.17.85.105 compute4.cloud.com compute4
172.17.85.106 compute5.cloud.com compute5
172.17.85.107 compute6.cloud.com compute6
172.17.85.108 compute7.cloud.com compute7
172.17.85.109 compute8.cloud.com compute8

-> nano /etc/sysconfig/selinux


set this SELINUX=disabled

-> systemctl stop NetworkManager


-> systemctl disable NetworkManager
-> systemctl disable firewalld --now
-> systemctl disable NetworkManager --now
-> systemctl enable network --now
-> reboot now

AFTER REBOOT DO THIS FROM CONTROLLER NODE ONLY:

-> ssh-keygen (Just Press Enter (3) times no need to type anything , because we
ofiguring passwordless SSH of root.)
-> ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] (Run this command from
controller node only and write ip's of every node 1 by 1 all the (compute and
network) etc.)
-> ssh compute1 , ssh Compute2 , ssh network1 etc.(Now from controller ssh to every
node 1 by 1 (Important)).

NOW GENERATE ANSWER FILE FROM CONTROLLER NODE:


-> packstack --gen-answer-file=/root/answer.txt

EDIT THE ANSWER FILE:


AND THE FOLLOWING IN TO YOUR ANSWER FILE:

-> CONFIG_CONTROLLER_HOST=172.17.85.101
->
CONFIG_COMPUTE_HOSTS=172.17.85.102,172.17.85.103,172.17.85.104,172.17.85.105,172.17
.85.106,172.17.85.107,172.17.85.108,172.17.85.109
-> CONFIG_NETWORK_HOSTS=172.17.85.101 (if you want network node in your setup then
add network node ip here , i just make my control node network as well so i write
controller node ip here.)
-> CONFIG_PROVISION_DEMO=n
-> CONFIG_CEILOMETER_INSTALL=n
-> CONFIG_HORIZON_SSL=n
-> CONFIG_NTP_SERVERS= (leave it empty).
-> CONFIG_KEYSTONE_ADMIN_PW=salman (Add your horizon dashboard password here).
-> CONFIG_NEUTRON_L3_EXT_BRIDGE=provider
-> CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
-> CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan
-> CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet:br-ex
-> CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:enp6s0f0 (write the name of your adapter
name in place of enp6s0f0 of the controller node (IMPORTANT) if your topology have
a network node then write network node adapter name not the controller node (VERY
IMP)).
-> CONFIG_NEUTRON_OVS_BRIDGES_COMPUTE=br-ex

SAVE THE ANSWER FILE AND RUN IT:


-> packstack --answer-file=/root/answer.txt

NOW WAIT FOR 40-60 muns According to your Network Speed:


After Installation It Show You The Horizon DashBoard IP.

-> Make bridge adapter file nano /etc/sysconfig/network-scripts/ifcfg-br-ex


ADD THE FOLLOWING AND SAVE IT:

DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=172.17.85.101 #your ip
NETMASK=255.255.255.0 # your subnet
GATEWAY=172.17.85.254 #your gateway
DNS1=8.8.8.8
ONBOOT=yes

NEXT EDIT THE OLD ADAPTER SETTINGS:


-> nano /etc/sysconfig/network-scripts/ifcfg-enp6s0f0

ADD THE FOLLOWING AND SAVE IT:

DEVICE=enp6s0f0 # your adapter name


TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ONBOOT=yes

-> service network restart

Wait let the bridge adapter picks the old ip of the controller node then log in to
Dashboard to check if its working or not (ping dns , gateway and google as well to
make sure it working correctely).

FROM CONTROLLER NODE CREATE THE NETWORKS AND ADD CIRROS IMAGE AND ALSO CREATE
PROJECT (salman):

-> . keystonerc_admin
-> neutron net-create external_network --provider:network_type flat
--provider:physical_network extnet --router:external
-> neutron subnet-create --name public_subnet --enable_dhcp=False --allocation-
pool=start=192.168.1.160,end=192.168.1.190 --gateway=192.168.1.1 external_network
192.168.1.0/24
-> curl http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img |
glance image-create --name='cirros image' --visibility=public --container-
format=bare --disk-format=qcow2
-> openstack project create --enable salman
-> openstack user create --project salman --password salman --email
[email protected] --enable salman
-> export OS_USERNAME=salman
-> export OS_TENANT_NAME=salman
-> export OS_PASSWORD=salman
-> . keystonerc_admin
-> neutron router-create router1
-> neutron router-gateway-set router1 external_network
-> neutron net-create private_network
-> neutron subnet-create --name private_subnet private_network 192.168.100.0/24
-> neutron router-interface-add router1 private_subnet

NOW GO TO compute->security groups (Mangae Rule add the ICMP , ALL TCP , ALL UDP ,
RDP , SSH etc.)

AVAILABLE COMPUTE NODE'S:

openstack hypervisor list

LAUNNCH INSTANCE ON SPECIFIC COMPUTE NODE:

nova boot --flavor m1.tiny(FLAVOR) --image 9e58f92c-288f-450e-abf6-97ff621921e1(ID


OF WHICH OS YOU WANT) --nic net-id=de03731d-5cbf-44d8-a5c3-1d90a4630f47(PRIVATE-
NET_ID) --availability-zone nova:compute2.cloud.com(COMPUTE NODE ADDRESS) salman(-
>name of the image)

LAUNCH THE INSTANCE IN NETWORK SETTING SELECT THE PRIVATE THE NETWORK AFTER LAUNCH
ASSOSIATE THE FLOATING IP FROM THE EXTERNAL NETWORK
THEN PING THE FLOATING IP ALSO SSH IT TO MAKESURE IT'S WORKING FINE.

ADDING/SAVING PERSISTENT ROUTES IN CENTOS:

-> Create file in nano /etc/sysconfig/network-scripts/route-enp6s0f0 (replace eth0


with your adapter name for controller add (br-ex) , for compute node's add
(enp6s0f0).
-> Then write 172.17.85.0/24(your subnet) via 172.17.85.254(Your gateway) dev
enp6s0f0(your adapter name here).
-> Do above two steps for all the nodes (controller , compute's , network etc.)

CONGRAGULATIONS:)

REFRENCES:

https://www.rdoproject.org/networking/neutron-with-existing-external-network/
(openstack installation)
https://www.reddit.com/r/linux/comments/5ejiz2/using_packstack_to_deploy_openstack_
with_access/(openstack installation)
https://www.techsupportpk.com/2016/12/installing-openstack-on-multi-node-in-
linux.html(openstack installation)
https://www.tecmint.com/ip-command-examples/ (Save Static persistent routes in
centos) (Point no 9).
http://www.darwinbiler.com/openstack-creating-and-attaching-a-volume-into-an-
instance/(create and attach volume to instance).

You might also like