summaryrefslogtreecommitdiff
path: root/docker
AgeCommit message (Collapse)AuthorFilesLines
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-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-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-28Merge "Partially Implements: Container set compute-operation-neutron"Jenkins1-7/+3
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 Hansen1-7/+3
Adds the neutron-linuxbridge-agent to the neutron container set. Change-Id: I20752611c24a3110cc5d2e4fca2d501fc32a4d87
2015-03-26Work around Ubuntu 14.04 Kernel bug with --net=hostSteven Dake1-0/+17
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-25Extends Nova Metadata Service Parameterization and CompositionDaneyon Hansen1-2/+4
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 Hansen2-3/+2
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-23Merge "Fixes bug where heat container was not getting heat meta data"Jenkins1-4/+4
2015-03-23Fixes bug where heat container was not getting heat meta dataRyan Hallisey1-4/+4
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-22Make mariadb use a data container without a bindmountSteven Dake1-0/+2
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 Dake5-6/+11
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-21Merge "Don't kill keystone, but instead wait for it to finish at the end"Jenkins1-14/+2
2015-03-21Merge "Fix `wait_for` function in kolla-common.sh"Jenkins1-12/+61
2015-03-21Merge "Refactors nwfilter"Jenkins2-2/+3
2015-03-21Merge "Make the Horizon dashboard work properly"Jenkins2-5/+7
2015-03-21Merge "Cleanup leftovers after wait_for was merged into kolla-common.sh"Jenkins2-2/+1
2015-03-21Merge "Implements: blueprint Implement a database container set"Jenkins8-60/+98
2015-03-21Cleanup leftovers after wait_for was merged into kolla-common.shMartin André2-2/+1
Change-Id: I97ab671bfbdcf5434feedec617a938b30af4579b
2015-03-20Refactors nwfilterDaneyon Hansen2-2/+3
Previously, the nwfilter daemon/conf pkgs would need to be installed on the host. Compose would then mount the host DIR to the compute containers. A more efficient approach is to simply install the nwfilter config/daemon in the libvirt container. Both appoaches address the following error when booting an instance: 'no-mac-spoofing' is missing Change-Id: I81b446d198920473bf99b97ef5eac6ef5ee85024
2015-03-20Don't kill keystone, but instead wait for it to finish at the endSteven Dake1-14/+2
use the bash wait builtin to wait for the keystone process to exit. Change-Id: I03057e7925e7e41120c163c0be22ade75050d9f1
2015-03-20Make the Horizon dashboard work properlySteven Dake2-5/+7
The Horizon dashboard was not working properly prior to this work. Also a docker-compose file was added to start the dashboard. Change-Id: I8a438c15b967b0cec00bfe44b997f833bf745191
2015-03-20Implements: blueprint Implement a database container setDaneyon Hansen8-60/+98
Previously, the database container was configured for use with Kubernetes. This patch removed any k8s dependencies, adds a script to manage mysql server.cnf settings and splits data and app containers. Splitting the containers provides additional portability and operational efficiencies compared to host mounts. Change-Id: I80656450c02dda5f2959d187eec20d5877dc54a2
2015-03-20Fixes Keystone openrc and sets / for scriptsDaneyon Hansen2-5/+5
Previously, the keydtone openrc file was not using the proper auth url, whcih was broken with too many double ticks. Also changed the auth port from public to admin since keystone user is an admin tenant. Changed DIR for scripts to align with the rest of the project. Change-Id: Iadde3239227e65ecca479b16a7b7db51d3a579c8
2015-03-20Fix `wait_for` function in kolla-common.shMartin André1-12/+61
Add `wait_for_output` and `wait_for_output_unless` helper functions that only succeed when the command output contains the expected string, with a possibility to exit early with a failure for `wait_for_output_unless`. Change-Id: Ie20e7c72fb84f626f1a3fe9c4d2f22c9d6863dbe
2015-03-19Use keystone authentication with GlanceSteven Dake1-0/+5
Previously glance was not using keystone for authentication. This resulted in --is-public true failing when doing image-create. Co-Authored-By: Lars Stedman (larsks@redhat.com) Change-Id: I54273115242ee169201643fe0ad559392650c883
2015-03-19Merge "Make rabbitmq container work with it's proper hostname set"Jenkins2-1/+5
2015-03-18mariadb-server requires the hostname userspace commandSteven Dake1-1/+1
The hostname command is required to allow mariadb to access the network properly. Without it, in some cases mariadb cannot execute name service resolution. Change-Id: Ia215585faad23012143b63c4d82acd6ba69f59b7
2015-03-18Merge "The wait_for function needs to be added into all the images"Jenkins5-90/+40
2015-03-18Make rabbitmq container work with it's proper hostname setSteven Dake2-1/+5
Change-Id: I0f79ba151dbb290378e2db0d1af9feb71cb84e6d
2015-03-18Add a "admin" user via crux to keystone containerSteven Dake1-1/+6
The keystone container was changed to only add a keystone user. The rest of the infrastructure in Kolla expects the name "admin" from a "can I use a client to access the APIs perspective." As a result, we need a user for keystone and a user for admin which this patch adds. Change-Id: I3a3e938f946df1fd5982e89397ef61368f1f3674
2015-03-18The wait_for function needs to be added into all the imagesRyan Hallisey5-90/+40
This affects both fedora and the centos base images. Wait_for will be intregrated into kolla-common. Co-authored by: Charles Crouch <charcrou@cisco.com> Change-Id: Ide2304b787d4c3bf6fb3949f09e2cf1f450c2173
2015-03-17Merge "Implements: blueprint container-set-api-control"Jenkins2-34/+124
2015-03-16Nova boot will fail if the host doesn't have libvirt installedRyan Hallisey1-0/+5
Libvirt contains a package that sets the permissions of KVM. If the host does not have libvirt installed the permissions will never be set and nova boot will fail. Change-Id: Ie5509199391db55e0984d59a6623f021f3ae46c1
2015-03-13Implements: blueprint container-set-api-controlDaneyon Hansen2-34/+124
Adds Keystone Container-Set support Previously, Keystone containers were configured for use in a Kubernetes environment. This patch removed k8s dependencies and adds container set functionality. Change-Id: I131ce205857110bbee49fe81a4a005f9e273ce09
2015-03-10Glance containers need to be changed so they work without kubernetesRyan Hallisey6-6/+119
This patch overlaps a little bit with https://review.openstack.org/#/c/162358/. There were some additional glance config that needs to be added to run without kubernetes. Co-authored by: Charles Crouch (charcrou@cisco.com) Change-Id: I1aab2f6e4a80aaf1e6c4b7fe330bcf9a7740fdc6
2015-03-06Merge "Allow changing base image"Jenkins39-39/+39
2015-03-02Merge "A functional libvirt + nova_compute + nova_network"Jenkins9-64/+24
2015-03-02Allow changing base imageMartin André39-39/+39
By changing the PREFIX variable in the .buildconf one is now able to build docker images from different bases. For example, add the following line to your .buildconf file to build CentOS based images: PREFIX=centos-rdo- Default base image is Fedora. For now only RH family is supported. Additionally, changing the namespace either with the NAMESPACE variable in .buildconf or via --namespace commandline option now changes the source namespace as well from the default kollaglue one. Implements: blueprint multi-baseos Co-Authored-By: Steven Dake <stdake@cisco.com> Change-Id: I3964cd2292789ea883a1f2d2738a5731a4fff49b
2015-03-02Merge "Remove prefix from centos-rdo-base when building image"Jenkins1-0/+1
2015-02-27A functional libvirt + nova_compute + nova_networkSteven Dake9-64/+24
This imports sdakes' nova-docker codebase to show that atomic upgrades work atleast with nova networking. This has many corrections. For more details read: http://sdake.io/2015/01/28/an-atomic-upgrade-process-for-openstack-compute-nodes/ Implements-blueprint: blueprint libvirt-container Partially-implements; blueprint container-set-compute-operation-nova Change-Id: I858ea113c5656b6da5d2fd13502fecdbd085c8da
2015-02-26Merge "Implements: blueprint rabbit-container-set"Jenkins1-0/+107
2015-02-26Remove prefix from centos-rdo-base when building imageMartin André1-0/+1
All base images should have a .buildconf that blanks the PREFIX variable otherwise the buildscript prepends the prefix to its name, for example centos-rdo-centos-rdo instead of simply centos-rdo. Change-Id: I48209e708094ae28681a874bf12a0206c524b639
2015-02-26Merge "Remove l3_ovs_wip tag from Dockerfiles"Jenkins9-9/+9
2015-02-24Merge "Make keystone work with CentOS 7 image"Jenkins1-3/+0
2015-02-24Merge "Make swift files point at correct base package"Jenkins3-3/+3
2015-02-24Remove l3_ovs_wip tag from DockerfilesSteven Dake9-9/+9
These tags don't belong in docker files. Instead we should put them in the build system since the build system will be creating a custom From line in the Dockerfile. Partially-implements: blueprint multi-baseos Change-Id: I68d0a0e572e35f39dbe21f7c536d7ac4ca885da3
2015-02-24Make keystone work with CentOS 7 imageSteven Dake1-3/+0
Keystone relies on crux. Crux is now installed in the base images, so individual images don't need to install crux. Partially-implements: blueprint multi-baseos Change-Id: Id9ed5fb8bc74de6a36f28a6b2bc8ba055c31a32e
2015-02-24Make swift files point at correct base packageSteven Dake3-3/+3
Swift containers were pulling in fedora-rdo-base when they should have been pulling in fedora-rdo-swift-base. Partially-implements: blueprint multi-baseos Change-Id: Ic0d03cbca5790aa3002110ba40a802957a481496