513 Commits

Author SHA1 Message Date
Steven Dake
a87980e5c2 Remove EXPOSE options from Dockerfiles
The EXPOSE options will create a local docker-proxy.  This is
unnecessary with --net=host mode.  The docker-proxy adds about
20 microseconds of latency.  Add documentation to the specification
to indicate where to find the ports that are exposed by the
services in case someone were to desire to add EXPOSE back to
the Dockerfiles.

Change-Id: I398e922fe096d6022a2d5985bb92498f89a5ea31
2015-04-06 20:25:18 -07:00
Jenkins
53c1ba99c8 Merge "Remove mkdir of shared dir" 2015-04-06 16:05:50 +00:00
Jenkins
fc1d5dbb62 Merge "Check for SELinux in enforcing mode and exit if found" 2015-04-06 16:04:27 +00:00
Jenkins
2e37f25c57 Merge "Improve developer documentation" 2015-04-06 15:56:01 +00:00
Jenkins
c4653bf9c8 Merge "Allow the Kolla directory to be configurable" 2015-04-06 00:44:34 +00:00
Jenkins
0573da4424 Merge "Load appropriate modules for libvirt" 2015-04-03 18:01:15 +00:00
Sam Yaple
9a81566d05 Allow the Kolla directory to be configurable
Implements the initial structure for variable substitution in ansible.

Change-Id: I26d82189273be6ebf941b0ab82efc6bf1eebc53d
2015-04-03 09:28:59 -05:00
Jenkins
c46cdfd53e Merge "Add and use ansible module for docker-compose" 2015-04-03 01:20:12 +00:00
Steven Dake
e805356bdd Improve developer documentation
Clean up version info since all those problems have been fixed in rc3.

Add separate sections for each major section of the document.

Change-Id: Ic011b56872e4cee70f668af58275f31cf083d027
2015-04-02 15:43:48 -07:00
Steven Dake
49c7160259 Remove mkdir of shared dir
We no longer bindmount qemu directories and instead use the
volume_from feature to get that job done.  As such remove the
creation of the directory.

Change-Id: I20aa0b5d8b8e5e0bd9ccc69ab07009635c693b02
2015-04-02 15:19:17 -07:00
Steven Dake
7c9acf4806 Check for SELinux in enforcing mode and exit if found
Previously the start script would disable SELinux  That is a policy
choice by the administrator, not something that should be done in a
development tool.  Instead suggest setting SELinux to permissive mode
manually.

Change-Id: I342a1614f9c10ec066cd2a8dc79280481e0b7570
2015-04-02 15:17:36 -07:00
Jenkins
46b52aeedd Merge "Add a tools/pull tool" 2015-04-02 20:33:01 +00:00
Jenkins
28a23b29b2 Merge "Adds vxlan kernel module to Heat template" 2015-04-02 20:31:00 +00:00
Steven Dake
26fb17ffcd Add a tools/pull tool
this uses docker-compose (-c flag) or docker (-d flag) to pull the latest
images from docker hub.

Change-Id: I7793178deeb2e37c92fb1518ae8666432e74d9b7
2015-04-02 10:26:10 -07:00
Sam Yaple
fd5c23ad7a Add and use ansible module for docker-compose
This ansible module for docker-compose allows for idempotency. I have
submitted a pull request upstream to ansible-modules-extra to include
this new module. When/if the module is accepted upstream if can be
removed from the local module library.

The two playbooks have been updated to use this module. The database
data container does not support idempotency due to the fact that it
exists instead of sleeps. Therefore each time `docker-compose up` is
called, it will start the container and register a change. The
message-broker does not have this issue and will remain unchanged even
repeatedly running these playbooks.

Due to the use of a special branch of docker-compose provided by sdake,
this module requires at least docker-compose==1.2.0rc1

Change-Id: If1644eaa3bff0c2a007fa2d479a95bea941945f6
2015-04-02 11:54:42 -05:00
Jenkins
ba175c61e1 Merge "Simplify wait_for calls" 2015-04-02 13:53:06 +00:00
Jenkins
92b129968d Merge "Deal with CentOS 7.1 breakage" 2015-04-02 01:06:40 +00:00
Steven Dake
82db9eb6c7 Deal with CentOS 7.1 breakage
The baseurl is busted in CentOS latest RDO images

Change-Id: Id619a28a6207a8c70835a12416e6f7b432d49811
2015-04-01 16:00:14 -07:00
Sam Yaple
2f0f37f97b Load appropriate modules for libvirt
Loads ebtable_nat, ip6_tables, ip_tables, and the appropriate kvm module
if the cpu supports it.

Change-Id: I69995b06da6da4169a2f0d207608543820d8a89e
2015-04-01 08:35:34 -05:00
Martin André
056e02d0d3 Simplify wait_for calls
Rely on the the `check_for_*` functions and remove redundant
`fail_unless_*` calls.

Also change `wait_for` to exit when it is missing a required argument.

Change-Id: I90c4545691d53185556e2838303ac3df0afaf9fa
2015-04-01 16:41:52 +09:00
Martin André
34872c1c2f Allow check_for_* functions to be consumed by wait_for
In order for the `check_for_*` functions to be consumed by `wait_for`,
they should notify of their success but not exit.

As a consequence, the previous behavior is restored by the fail_unless_*
companion functions.

With this change, it is now possible to do:

    wait_for 30 1 check_for_os_service_running keystone

Change-Id: I16ddf8913027030c3ccb5487713d172904508fd6
2015-04-01 16:39:44 +09:00
Jenkins
cf3086ed3b Merge "Add documentation for running with ansible tags" 2015-04-01 00:42:38 +00:00
Jenkins
e842f0e9a1 Merge "Put docker binary in one place" 2015-04-01 00:35:18 +00:00
Daneyon Hansen
a63e7f8a2b Adds vxlan kernel module to Heat template
Previously, the vxlan kernel module was not being loaded. This
causes the following error when trying to start the lb-agent
when using the vxlan type driver:

ERROR neutron.plugins.linuxbridge.agent.linuxbridge_neutron_agent
[-] Linux kernel vxlan module and iproute2 3.8 or above are
required to enable VXLAN.

Change-Id: I1c9f5d13d25e887d15270a96d35f41a08316c8f0
2015-03-31 22:36:57 +00:00
Sam Yaple
15f6fede75 Add documentation for running with ansible tags
Additionally fix some md format mistakes.

Change-Id: Ica1600b16986303feb188976ec86972ca2f5b942
2015-03-31 09:40:07 -05:00
Jenkins
309d363d45 Merge "Test for presence of /dev/kvm before setting permissions" 2015-03-31 00:18:37 +00:00
Steven Dake
93e164d973 Test for presence of /dev/kvm before setting permissions
In a native QEMU environment there is no /dev/kvm.

Change-Id: I4d0eb32fd6fad3a4c9c15c7c2b12430b2e4db154
2015-03-31 00:12:42 +00:00
Jenkins
045bb325bf Merge "Add libvirt-driver-lxc to nova-libvirt" 2015-03-30 23:11:39 +00:00
Jenkins
32b32280da Merge "Loads ebtables from inside the containers" 2015-03-30 21:49:26 +00:00
Jenkins
d1c459ed52 Merge "Initial commit for adding ansible support" 2015-03-30 21:22:55 +00:00
Steven Dake
fe380064bf Add libvirt-driver-lxc to nova-libvirt
libvirt is compiled with lxc support.  On Ubuntu hosts, without this file
libvirt is nonusable.  The container exits immediately.

Change-Id: Ifbc2d75defe082cbe3b80b1821799f1f965c2a85
2015-03-30 06:57:03 -07:00
Jenkins
b6fe8c13f3 Merge "Improve developer docs to turn off libvirt" 2015-03-29 00:58:28 +00:00
Jenkins
e8984dcc5b Merge "Tell mariadb to restart" 2015-03-29 00:08:17 +00:00
Sam Yaple
0f5af771ef Initial commit for adding ansible support
This adds a very basic structure to begin supporting ansible in Kolla.
Ansible can support complete idempotency, but wrapping docker-compose
does not allow idempotency at this time. These playbooks will be
extended to compensate for that in future patches.

Change-Id: I1c9e8d32321e2733f5a9b752edf74b4fe90317ed
2015-03-28 17:56:21 -05:00
Sam Yaple
1dcd904d27 Loads ebtables from inside the containers
We have to overlay the /lib/modules folder from the host to properly
`modprobe` from within a container. We don't have to give it write
permissions however, so the docker-compose volume is mounted in as 'ro'

Change-Id: I95101136dad56e9331d8b92cd394495f7bd0576a
2015-03-28 15:54:43 -05:00
Jenkins
62dbf832ad Merge "Partially Implements: Container set compute-operation-neutron" 2015-03-28 20:27:08 +00:00
Steven Dake
bbad173a0a Tell mariadb to restart
If a system is rebooted with kolla running, all the services will
continually restart.  There appears to be some locking problem in
docker which will result in docker imploding.  One problem is a
key dependency, mariadb, is never started on a reboot because it is
missing restart: always.  Also restart the mariadb data container
until it returns success.

Change-Id: I599d28548ff041712d54a702c80fe36c321adf7f
2015-03-28 08:50:23 -07:00
Steven Dake
704643544f Put docker binary in one place
Since it keeps changing and the upstream maintainer deletes the dropbox
image, I'll just put the docker image in one place.

Change-Id: I7098c2c6a1bf662665879324ff1bd1a7521fd941
2015-03-27 16:57:46 -07:00
Sam Yaple
986edf4a97 Replace ; with && in Dockerfile
When using ';' this can allow the previous command to fail and while the
docker build proceeds without realizing a command failed. Switching to
'&&' allows the exit code to make it to the docker build command and the
build to fail appropriately.

Change-Id: Idd0991ed4549542bb10d27da1a0a025d0503b6c1
2015-03-27 18:52:48 -05:00
Daneyon Hansen
40be5646fa Partially Implements: Container set compute-operation-neutron
Adds the neutron-linuxbridge-agent to the neutron container set.

Change-Id: I20752611c24a3110cc5d2e4fca2d501fc32a4d87
2015-03-27 23:36:06 +00:00
Steven Dake
017a36d2de Improve developer docs to turn off libvirt
Tell folks to turn off libvirt on their host.

Change-Id: I4ca9a466cd14bd7a88880299f56ea0eba343b6c8
2015-03-26 17:33:29 -07:00
Steven Dake
afcc1569b8 Work around Ubuntu 14.04 Kernel bug with --net=host
This patch builds pam with no auditing.  This allows the images to
operate on Ubuntu 14.04 which contain a kernel bug and have not been
updated.

Change-Id: I2b8bd192abcc26df27ca276dc3d0fde377048f20
2015-03-26 13:39:16 -07:00
Jenkins
0caf1c3ecb Merge "Add some documentation around running the exec_replace driver" 2015-03-26 00:20:12 +00:00
Jenkins
bc72b8585f Merge "Add doc for the minimal environment vars required per container" 2015-03-25 21:30:07 +00:00
Ryan Hallisey
5f381fe25a Add doc for the minimal environment vars required per container
Each container requires a set of environment variables be declared
so that it can function in a minimal setting.  This doc will
provide a list of those environment var for each container.

Change-Id: I225f53c869e5830d680792fd0a38f6622ba9b04b
2015-03-25 17:19:43 -04:00
Steven Dake
234efec4ba Add some documentation around running the exec_replace driver
Data volumes are busted in docker master 1.6-rc1.  Need to use a special
branch in order for docker to work.

Change-Id: Ia772de63e1fc8a07f052da2a3f4152f4d97b37f9
2015-03-25 13:23:11 -07:00
Daneyon Hansen
1182e060cb Extends Nova Metadata Service Parameterization and Composition
Previously, nova enabled_apis was hard coded and metdata_host
was using PUBLIC_IP param instead of exposing an individual
param.

Extending these params and creating a separate compose yml that
includes compute/libvirt/network/api is required to support
nova network multi_host.

Additional details can be found here:

http://docs.openstack.org/admin-guide-cloud/content/section_metadata-service.html

Change-Id: I5d417a0ee460f8ad9b2982fe83d63ab57013918e
2015-03-25 17:27:44 +00:00
Daneyon Hansen
81d65f0b3d Refactor nova-network
Previously, eth0 was set as the nova flat interface. This
interface is used to bridge VM traffic between instances and
should not have an IP. It's a problem when you associate an
interface with an IP to the FLAT_INTERFACE.

Change-Id: I38c516094430e2d55b1b4c047a1bbcfe711a2dff
2015-03-24 18:44:28 +00:00
Jenkins
2dab951747 Merge "Have genenv offer some hepful hints about FLAT_INTERFACE" 2015-03-24 14:39:35 +00:00
Jenkins
84a81ed75b Merge "Updates Heat Template for M3 Release" 2015-03-24 14:32:44 +00:00