Before using this make sure you allocate 6GB. 2 cores
Install openswitch and init a br-int bridge
yum -y install make gcc openssl-devel autoconf automake rpm-build redhat-rpm-config python-devel openssl-devel kernel-devel kernel-debug-devel libtool wget
mkdir -p ~/rpmbuild/SOURCES
wget http://openvswitch.org/releases/openvswitch-2.5.1.tar.gz
cp openvswitch-2.5.1.tar.gz ~/rpmbuild/SOURCES/
tar xfz openvswitch-2.5.1.tar.gz
sed 's/openvswitch-kmod, //g' openvswitch-2.5.1/rhel/openvswitch.spec > openvswitch-2.5.1/rhel/openvswitch_no_kmod.spec
rpmbuild -bb --nocheck ~/openvswitch-2.5.1/rhel/openvswitch_no_kmod.spec
ls -l ~/rpmbuild/RPMS/x86_64/
yum localinstall ~/rpmbuild/RPMS/x86_64/openvswitch-2.5.1-1.x86_64.rpm
systemctl start openvswitch.service
chkconfig openvswitch on
# Now that the installation is completed lets add br-int
ovs-vsctl add-br br-int
Please note that this might not work and will require some fixups.
Fixing the above thing, it is important to setup two bridges - one external, another internal and have to patch them using a patch port
ovs-vsctl add-port ovs-vsctl set interface type=patch ovs-vsctl set interface options:peer=
Create an external bridge
# Create interl and external bridges
ovs-vsctl add-br br-enp0s8
ovs-vsctl add-br br-int
# Create new ports on both the bridges for patching
ovs-vsctl add-port br-enp0s8 int-patch
ovs-vsctl add-port br-int enp0s8-patch
# Mark the newly created interfaces as patch interfaces
ovs-vsctl set interface int-patch type=patch
ovs-vsctl set interface enp0s8-patch type=patch
# Connect the patch interfaces
ovs-vsctl set interface int-patch options:peer=enp0s8-patch
ovs-vsctl set interface enp0s8-patch options:peer=int-patch
# I am sure there is a better way to do this. Find it out.
# Now try attaching a docker container/VM to br-int and check if it can be reached from the outside world or not.
# If it can be reached then your setup was successful.
// TOWRITE Configure network and bridges properly. Take help of the article below
# This is the most important part of your network configuration. Here, you must
# select your network mappings. Please, ensure you understand OpenStack
# network philosophy before you configure this.
# Our defaults assumes a flat network configuration with external routers connected
# to an openvswitch br-enp0s9 switch. Change those defaults to suit your network or
# your system will not have a viable network service.
integration_bridge="br-int"
# The bridge_mappings must be set in the form:
# physical_network_name01:bridge_interface01,physical_network_name02:bridge_interface02
# Sample:
# bridge_mappings="physical01:br-eth1,physical02:br-enp0s9,physical03:br-em2"
# VERY IMPORTANT NOTE: Ensure your OVS Bridges are created before you install openstack,
# including br-int and all bridges defined in the "bridge_mappings" variable. Fail
# to do this, and Neutron will be unable to function properlly.
bridge_mappings="physical01:br-enp0s9"
Enable rhel repositories
sudo yum install epel-release
# Verify using
yum repolist
Fix the python keyring error
wget ftp://mirror.switch.ch/pool/4/mirror/centos/7.3.1611/cloud/x86_64/openstack-mitaka/common/python-keyring-5.7.1-1.el7.noarch.rpm
sudo rpm -i --replacefiles python-keyring-5.7.1-1.el7.noarch.rpm
sudo yum install -y python-keyring
# For some reason the solution listed above was having issues
yum remove python-keyring
yum install python-keyring
# This did the job I don't know why or how.
Install python-zmq
yum erase -f zeromq
yum versionlock clear
yum install python-zmq
Enable openstack repositores
yum install centos-release-openstack-ocata
Now disable heat installation by going into main-config file.
sudo useradd gnocchi
git clone https://vik_y@bitbucket.org/vik_y/openstack-ocata-installer.git
./main-installer.sh install
Test this and update Everything worked well and installation went through fine.
Now go and create a new network from admin section. Assign a new subnet to the network.
Now create the new VM. Make sure you tick the create new volume option as "No".
I followed the instructions given in Notes.txt. I created two bridges on my system :
br-int
andbr-em1
.em1
is the interface on my provider network.Then I did the following:
But I think after this step we also need to patch
br-int
andbr-em1
for external connectivity in the VMs right? I ran the commands given below to do the patching.I don't see the script doing the patching anywhere. Isn't this necessary for external connectivity?