This has been tested on Centos 7, Ubuntu should be absolutely same thing. Start up virtual machine, I am running Centos 7 (6 cores + 8Gigs of RAM assinged) through parallels on mac, smaller VM will work too.
To make things simpler, I will disable selinux on Centos 7 and make Dan Walsh cry, so either run setenforce 0, or edit /etc/sysconfig/selinux (set to disabled and reboot).
Edit file: /opt/stack/nova-docker/novadocker/virt/docker/driver.py
Change:
from nova.openstack.common import fileutils to from oslo_utils import fileutils
To simplify further, I will not make any other modifications to devstack, so
To make things simpler, I will disable selinux on Centos 7 and make Dan Walsh cry, so either run setenforce 0, or edit /etc/sysconfig/selinux (set to disabled and reboot).
#Update system before we start sudo yum install epel-release sudo yum -y update sudo yum -y install python-pip python-devel git openssh-server sudo yum groupinstall "Development Tools" sudo setenforce 0 sudo mkdir /opt/stack && chown deki:deki /opt/stack/ -R git clone https://git.openstack.org/stackforge/nova-docker /opt/stack/nova-docker git clone https://git.openstack.org/openstack-dev/devstack /opt/stack/devstack #Switch to kilo stable branch cd /opt/stack/nova-docker && git checkout -b kilo origin/stable/kilo cd /opt/stack/devstack && git checkout -b kilo origin/stable/kilo cd /opt/stack/nova-docker ./contrib/devstack/prepare_devstack.shNow the important bit, as stack.sh will not work without it:
Edit file: /opt/stack/nova-docker/novadocker/virt/docker/driver.py
Change:
from nova.openstack.common import fileutils to from oslo_utils import fileutils
To simplify further, I will not make any other modifications to devstack, so
cd /opt/stack/devstack #Run stack.sh and have a cup of coffee ./stack.shIt should complete and show something like:
##This is your host IP address: 10.211.55.34 ##2015-08-05 09:40:07.103 | Skip setting lvm filters for non Ubuntu systems ##This is your host IPv6 address: ::1 ##Horizon is now available at http://10.211.55.34/ ##Keystone is serving at http://10.211.55.34:5000/ ##The default users are: admin and demo ##The password: mysecretpassword ##2015-08-05 09:40:07.108 | stack.sh completed in 278 seconds.In my case I had to restart firewall, not sure yet why, so do:
sudo service firewalld status # #If it shows: #Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled) # Active: inactive (dead) #run: sudo service firewalld startSo lets verify all is well:
docker version
# Lets try it out:
. openrc admin
docker pull larsks/thttpd
docker save larsks/thttpd | glance image-create \
--name larsks/thttpd \
--is-public true \
--container-format docker \
--disk-format raw
. openrc demo
nova boot --image larsks/thttpd \
--flavor m1.small test0
#Wait a bit and nova list will show:
[deki@localhost devstack]$ nova list
+--------------------------------------+-------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+------------------+
| 83678e40-78f9-4d41-90d0-c8dbd75c54b9 | test0 | ACTIVE | - | Running | private=10.0.0.2 |
+--------------------------------------+-------+--------+------------+-------------+------------------+
#then:
[deki@localhost devstack]$ nova floating-ip-create
+----+------------+-----------+----------+--------+
| Id | IP | Server Id | Fixed IP | Pool |
+----+------------+-----------+----------+--------+
| 1 | 172.24.4.1 | - | - | public |
+----+------------+-----------+----------+--------+
nova floating-ip-associate test0 172.24.4.1
#and finally try it out and behold:
curl http://172.24.4.1
#will return bellow:
Your web server is working
____ _ _ _ _
/ ___|___ _ __ __ _ _ __ __ _| |_ _ _| | __ _| |_(_) ___ _ __ ___
| | / _ \| '_ \ / _` | '__/ _` | __| | | | |/ _` | __| |/ _ \| '_ \/ __|
| |__| (_) | | | | (_| | | | (_| | |_| |_| | | (_| | |_| | (_) | | | \__ \
\____\___/|_| |_|\__, |_| \__,_|\__|\__,_|_|\__,_|\__|_|\___/|_| |_|___/
|___/
You have a web server.
This is a statically compiled version of thttpd
put together to build a demonstration container for my
Heat templates for Kubernetes. But maybe
you'll find it useful for other things.
No comments :
Post a Comment