Friday, February 06, 2015

Set up Two Node RDO Juno ML2&OVS&VXLAN Cluster runnig Docker Hypervisor on Compute Node (CentOS 7, kernel 3.10.0-123.20.1.el7.x86_64)

It's quite obvious that Nova-Docker driver set up success for real application is important to get on Compute Nodes . It's nice when everything works on AIO
Juno host or Controller, but  just as demonstration. Might be I did something wrong , might be due to some other reason but kernel version 3.10.0-123.20.1.el7.x86_64 seems to be the first brings  success on RDO Juno Compute nodes.

Follow  up to section
"Set up Nova-Docker on Controller&&Network Node"

Set up  Nova-Docker Driver on Compute Node

# yum install python-pbr

# yum install docker-io -y
# git clone
# cd nova-docker
# git checkout stable/juno
# python install
# systemctl start docker
# systemctl enable docker
# chmod 660  /var/run/docker.sock
#  mkdir /etc/nova/rootwrap.d

Create the docker.filters file:

vi /etc/nova/rootwrap.d/docker.filters

Insert Lines

# nova-rootwrap command filters for setting up network in the docker driver
# This file should be owned by (and only-writeable by) the root user
# nova/virt/docker/ 'ln', '-sf', '/var/run/netns/.*'
ln: CommandFilter, /bin/ln, root

Add line /etc/glance/glance-api.conf

Update nova.conf
vi /etc/nova/nova.conf
set "compute_driver = novadocker.virt.docker.DockerDriver"

Restart Services

usermod -G docker nova
systemctl restart openstack-nova-compute (on Compute)
systemctl status openstack-nova-compute
systemctl restart openstack-glance-api (on Controller&&Network )

At this point `scp  /root/keystonerc_admin compute:/root`  from Controller to
Compute Node

Test installation Nova-Docker Driver on Compute Node (RDO Juno , CentOS 7,
kernel 3.10.0-123.20.1.el7.x86_64 )

Setup Ubuntu 14.04 with SSH access
First on Compute node

# docker pull rastasheep/ubuntu-sshd:14.04
# . keystonerc_admin
# docker save rastasheep/ubuntu-sshd:14.04 | glance image-create --is-public=True   --container-format=docker --disk-format=raw --name rastasheep/ubuntu-sshd:14.04

Second on Controller node launch Nova-Docker container , running on Compute, via dashboard and assign floating IP address

Verify `docker ps ` on Compute Node
[root@juno1dev ~]# ssh
Last login: Fri Feb  6 15:38:49 2015 from juno1dev.localdomain

[root@juno2dev ~]# docker ps
CONTAINER ID        IMAGE                          COMMAND               CREATED             STATUS              PORTS               NAMES
ef23d030e35a        rastasheep/ubuntu-sshd:14.04   "/usr/sbin/sshd -D"   7 hours ago         Up 6 minutes                            nova-211bcb54-35ba-4f0a-a150-7e73546d8f46  

[root@juno2dev ~]# ip netns

On Controller run :-

[root@juno1dev ~]# ssh root@
root@'s password:

Last login: Fri Feb  6 12:11:19 2015 from
root@instance-0000002b:~# apt-get update
Ign trusty InRelease
Ign trusty-updates InRelease
Ign trusty-security InRelease
Hit trusty Release.gpg
Get:1 trusty-updates Release.gpg [933 B]
Get:2 trusty-security Release.gpg [933 B]
Hit trusty Release
Get:3 trusty-updates Release [62.0 kB]
Get:4 trusty-security Release [62.0 kB]
Hit trusty/main Sources
Hit trusty/restricted Sources
Hit trusty/universe Sources
Hit trusty/main amd64 Packages
Hit trusty/restricted amd64 Packages
Hit trusty/universe amd64 Packages
Get:5 trusty-updates/main Sources [208 kB]
Get:6 trusty-updates/restricted Sources [1874 B]
Get:7 trusty-updates/universe Sources [124 kB]
Get:8 trusty-updates/main amd64 Packages [524 kB]
Get:9 trusty-updates/restricted amd64 Packages [14.8 kB]
Get:10 trusty-updates/universe amd64 Packages [318 kB]
Get:11 trusty-security/main Sources [79.8 kB]       
Get:12 trusty-security/restricted Sources [1874 B]  
Get:13 trusty-security/universe Sources [19.1 kB]   
Get:14 trusty-security/main amd64 Packages [251 kB] 
Get:15 trusty-security/restricted amd64 Packages [14.8 kB]
Get:16 trusty-security/universe amd64 Packages [110 kB]
Fetched 1793 kB in 9s (199 kB/s)                                              
Reading package lists... Done

If network operations like `apt-get install ... ` run afterwards with no problems
Nova-Docker driver is installed  and works on Compute Node

Finally I've set up openstack-nova-compute on Controller ,  to run several instances with  Qemu/Libvirt driver :-