Gateway Configuration
- Required packages to integrate PLUMgrid on an existing Openstack deployment
plumgrid-lxc_5.0.0-b14-20160317.003149_amd64.deb
iovisor-dkms_1.0.6-23-g180fe44_all.deb
plumgrid-puppet_5.0.0-b14_all.deb
These debian package can be found on LCM VM repository.
Exmaple
http://<LCM_IP>:81/plumgrid-images/pool/halfdome-500/p/plumgrid-lxc/plumgrid-lxc_5.0.0-b14-20160317.003149_amd64.deb
http://<LCM_IP>:81/plumgrid/pool/halfdome-500/p/plumgrid-puppet/plumgrid-puppet_5.0.0-b14_all.deb
http://<LCM_IP>:81/plumgrid/pool/halfdome-500/i/iovisor-dkms/iovisor-dkms_1.0.6-23-g180fe44_all.deb
- Required packages to integrate PLUMgrid on an existing Openstack deployment
plumgrid-lxc_5.0.0-b14-20160317.003149_amd64.deb
iovisor-dkms_1.0.6-23-g180fe44_all.deb
plumgrid-puppet_5.0.0-b14_all.deb
These debian package can be found on LCM VM repository.
Exmaple
http://<LCM_IP>:81/plumgrid-images/pool/halfdome-500/p/plumgrid-lxc/plumgrid-lxc_5.0.0-b14-20160317.003149_amd64.deb
http://<LCM_IP>:81/plumgrid/pool/halfdome-500/p/plumgrid-puppet/plumgrid-puppet_5.0.0-b14_all.deb
http://<LCM_IP>:81/plumgrid/pool/halfdome-500/i/iovisor-dkms/iovisor-dkms_1.0.6-23-g180fe44_all.deb
- Remove OVS and the package
# rmmod openvswitch
# apt-get purge openvswitch-*
- Disable Apparmor in Ubuntu, this doest not allow lxc container to start.
# sudo service apparmor stop
# sudo update-rc.d -f apparmor remove
- Install required package
# apt-get install -y dkms
# dpkg -i iovisor-dkms.deb
# apt-get install -y puppet
# dpkg -i plumgrid-puppet.deb
- Install iovisor
# modprobe iovisor
- Enable IPv4 forwarding
# sysctl -w net.ipv4.ip_forward=1
Modify /etc/sysctl.conf
...
net.ipv4.ip_forward=1
...
- Edit
/etc/sudoers.d/ifc_ctl_sudoers
nova ALL=(root) NOPASSWD: /opt/pg/bin/ifc_ctl_pp *
execute the following command
# sudo chown root:root /etc/sudoers.d/ifc_ctl_sudoers
# sudo chmod 644 /etc/sudoers.d/ifc_ctl_sudoers
- Install PLUMgird lxc container
PLUMgrid lxc have some versioning problem, it shall installed the missing dependency and the lxc was able to start
# apt-get install -y cgroup-lite
Install lxc debian package
# dpkg -i plumgrid-lxc.deb
If there's error, execute the following command to install its dependency.
# apt-get install -f
- Copy
plumgrid.conftemplate and edit
# cp -f /opt/pg/etc/puppet/modules/plumgrid/templates/plumgrid.conf.erb /var/lib/libvirt/filesystems/plumgrid-data/conf/pg/plumgrid.conf
Edit it like the following:
plumgrid_ip=<plumgrid_director_ip>
plumgrid_port=8001
mgmt_dev=br-mgmt
label=<node_hostname>
plumgrid_rsync_port=2222
plumgrid_rest_addr=0.0.0.0:9180
fabric_mode=host
start_plumgrid_iovisor=yes
start_plumgrid=`/opt/pg/scripts/pg/pg_is_director.sh $plumgrid_ip`
plumgrid_director_ip: A real IP to assign to plumgrid director node_hostname: hostname configured on the gateway
- Edit
/var/lib/libvirt/filesystems/plumgrid-data/conf/etc/hostnameas
<node_hostname>
Edit /var/lib/libvirt/filesystems/plumgrid-data/conf/etc/hosts as
...
127.0.0.1 <node_hostname>
...
node_hostname: hostname configured on the gateway
- Edit
/var/lib/libvirt/filesystems/plumgrid-data/conf/pg/ifcs.conf
br-mgmt = fabric_core host
<gateway-interface> = access_phys
gateway_interface: the physical interface connected to br-ex
- start plumgrid service
# service plumgrid start
- attach lxc
# virsh -c lxc: lxc-enter-namespace plumgrid --noseclabel -- /bin/bash
and then restart plumgrid lxc container
# exit
# virsh -c lxc: destroy plumgrid
# virsh -c lxc: start plumgrid
If it failed to start plumgrid lxc container, check the trouble-shooting chapter.
- Modify the MTU and flush iptables
# ifconfig eth0 mtu 1580
# iptables -F
- Restart plumgrid service
# service plumgrid restart