summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-04-02Add and use ansible module for docker-composeSam Yaple3-2/+312
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-02Merge "Simplify `wait_for` calls"Jenkins3-8/+3
2015-04-02Merge "Deal with CentOS 7.1 breakage"Jenkins1-0/+4
2015-04-01Deal with CentOS 7.1 breakageSteven Dake1-0/+4
The baseurl is busted in CentOS latest RDO images Change-Id: Id619a28a6207a8c70835a12416e6f7b432d49811
2015-04-01Load appropriate modules for libvirtSam Yaple1-0/+11
Loads ebtable_nat, ip6_tables, ip_tables, and the appropriate kvm module if the cpu supports it. Change-Id: I69995b06da6da4169a2f0d207608543820d8a89e
2015-04-01Simplify `wait_for` callsMartin André3-8/+3
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-01Allow check_for_* functions to be consumed by wait_forMartin André21-64/+74
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-01Merge "Add documentation for running with ansible tags"Jenkins1-9/+14
2015-04-01Merge "Put docker binary in one place"Jenkins1-2/+2
2015-03-31Adds vxlan kernel module to Heat templateDaneyon Hansen1-0/+3
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-31Add documentation for running with ansible tagsSam Yaple1-9/+14
Additionally fix some md format mistakes. Change-Id: Ica1600b16986303feb188976ec86972ca2f5b942
2015-03-31Merge "Test for presence of /dev/kvm before setting permissions"Jenkins1-2/+5
2015-03-31Test for presence of /dev/kvm before setting permissionsSteven Dake1-2/+5
In a native QEMU environment there is no /dev/kvm. Change-Id: I4d0eb32fd6fad3a4c9c15c7c2b12430b2e4db154
2015-03-30Merge "Add libvirt-driver-lxc to nova-libvirt"Jenkins1-0/+1
2015-03-30Merge "Loads ebtables from inside the containers"Jenkins4-7/+6
2015-03-30Merge "Initial commit for adding ansible support"Jenkins6-0/+80
2015-03-30Add libvirt-driver-lxc to nova-libvirtSteven Dake1-0/+1
libvirt is compiled with lxc support. On Ubuntu hosts, without this file libvirt is nonusable. The container exits immediately. Change-Id: Ifbc2d75defe082cbe3b80b1821799f1f965c2a85
2015-03-29Merge "Improve developer docs to turn off libvirt"Jenkins1-0/+5
2015-03-29Merge "Tell mariadb to restart"Jenkins1-0/+2
2015-03-28Initial commit for adding ansible supportSam Yaple6-0/+80
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-28Loads ebtables from inside the containersSam Yaple4-7/+6
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-28Merge "Partially Implements: Container set compute-operation-neutron"Jenkins3-7/+14
2015-03-28Tell mariadb to restartSteven Dake1-0/+2
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-27Put docker binary in one placeSteven Dake1-2/+2
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-27Replace ; with && in DockerfileSam Yaple17-21/+22
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-27Partially Implements: Container set compute-operation-neutronDaneyon Hansen3-7/+14
Adds the neutron-linuxbridge-agent to the neutron container set. Change-Id: I20752611c24a3110cc5d2e4fca2d501fc32a4d87
2015-03-26Improve developer docs to turn off libvirtSteven Dake1-0/+5
Tell folks to turn off libvirt on their host. Change-Id: I4ca9a466cd14bd7a88880299f56ea0eba343b6c8
2015-03-26Work around Ubuntu 14.04 Kernel bug with --net=hostSteven Dake2-3/+20
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-26Merge "Add some documentation around running the exec_replace driver"Jenkins1-4/+15
2015-03-25Merge "Add doc for the minimal environment vars required per container"Jenkins2-2/+219
2015-03-25Add doc for the minimal environment vars required per containerRyan Hallisey2-2/+219
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-25Add some documentation around running the exec_replace driverSteven Dake1-4/+15
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-25Extends Nova Metadata Service Parameterization and CompositionDaneyon Hansen4-2/+69
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-24Refactor nova-networkDaneyon Hansen4-5/+4
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-24Merge "Have genenv offer some hepful hints about FLAT_INTERFACE"k3Jenkins1-0/+3
2015-03-24Merge "Updates Heat Template for M3 Release"Jenkins5-78/+122
2015-03-24Merge "Adds Rabbit and MariaDB TCP ports to Heat template"Jenkins1-0/+6
2015-03-24Adds Rabbit and MariaDB TCP ports to Heat templateDaneyon Hansen1-0/+6
Previously, Heat was not allowing the necessary TCP ports for RabbitMQ and MariaDB to Kolla nodes. Change-Id: If34ca2de2e5213cb97138e5855cc88ff5c564b76
2015-03-24Updates Dev Doc for M3 ReleaseDaneyon Hansen1-8/+26
A few errors in the dev doc were causing problems with deploying a dev env. The dev dos has been updated with the correct steps for prep'ing a host for running Kolla. Additionally, wording has been added to reference the Heat template for dev env deployment. Change-Id: I9f0ba1bd2deca490a72b3c54cb1a7df386228ee8
2015-03-24Updates Heat Template for M3 ReleaseDaneyon Hansen5-78/+122
Updates the following: 1. Replaces Docker copr pkgs with binary 2. Updates docs 3. Adds compose from sdake GH repo 4. Adds required ebtables kernel module for nova-network 5. Adds container net/subnet info required for correct nova networking functionality. 6. Consolidates pkgs installs from get-image script to the heat template. Change-Id: Ibec2dd5909bb8379c193b5cdbad665a5b6c2e8f8
2015-03-23Merge "Fixes bug where heat container was not getting heat meta data"Jenkins3-5/+10
2015-03-23Fixes bug where heat container was not getting heat meta dataRyan Hallisey3-5/+10
Heat container is having trouble accessing heat meta data. Heat needs to have HEAT_CFN_API_SERVICE_HOST set in order to properly receive meta data. Closes-bug 1435288 Change-Id: Ia28ece3ae91ec7acc62cc86039612841ac487f36
2015-03-23Merge "Make mariadb use a data container without a bindmount"Jenkins2-5/+5
2015-03-23Merge "Make nova-compute-network use a data volume container"Jenkins6-14/+21
2015-03-23Merge "Add a stop command to shut down Kolla AIO"Jenkins1-0/+35
2015-03-23Merge "Improve developer docs around docker-compose and docker-dev"Jenkins1-2/+18
2015-03-22Make mariadb use a data container without a bindmountSteven Dake2-5/+5
A data container is meant to operate without bindmounts. Change-Id: I2624a63fd75db7ed8050054c17e19885f8a7ac8a Co-Authored-By: Daneyon Hansen (danehans@cisco.com)
2015-03-22Make nova-compute-network use a data volume containerSteven Dake6-14/+21
A data volume container is far superior to bind mounting the host's shared directories. It preserves the idempotency, immutability and declarative properties of the containers. The way this works in practice is that a data volume container is created. Then when the containers start they use LVM to access the filesystem where /var/lib/docker is contained. Then the container startup logic bindmounts the data volume stored on the host filesystem in /var/lib/docker/vfs/dir/ID. This prevents people with access to the host operating system from damaging the contents of the data container. It does mean that now we must use tools/stop to stop our containers rather than tools/cleanup-containers -f. This is a containers best practice. For more details see: https://docs.docker.com/userguide/dockervolumes/ Big credit goes to Danyeon Hansen for seeding this idea in the mariadb containers. Note occasionally docker-compose start/stop seems to not want to stop a container. This bug needs to be addressed upstream separately from our utilization of this best practice. Change-Id: Iaa1419f606e1b1b7a7560a095c49e79d643164f1
2015-03-21Add a stop command to shut down Kolla AIOSteven Dake1-0/+35
Use docker-compose with the stop operation rather than cleanup-containers -f. Change-Id: I1b0f97589b04eaa4e3a0b4e5247294e4c4b0dc47
2015-03-20Improve developer docs around docker-compose and docker-devSteven Dake1-2/+18
docker-compose master now requires 1.18 API, which is only available in the development version of docker. Show how to retrieve and run it. Change-Id: Ia3a7a659c495547fcc04d31cf38ffeaaf6fd729a