summaryrefslogtreecommitdiff
path: root/docker
AgeCommit message (Collapse)AuthorFilesLines
2015-04-07Merge "libvirtd provides was removed from centos7.1"Jenkins1-1/+3
2015-04-06Remove EXPOSE options from DockerfilesSteven Dake8-17/+0
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-06Remove building of pam+noaudit and place in copr insteadSteven Dake2-10/+16
COPR is a repository for third party packages built by the Fedora build system. Instead of dragging in 250MB of dependencies to build pam, build externally and load only the RPM into the image. The pam that is built externally is built with the --with-noaudit flag and a Provides: pam line. Change-Id: I28396996943d2fdc12b253faf62af8623c8b0e73
2015-04-06libvirtd provides was removed from centos7.1Steven Dake1-1/+3
the libvirtd package "Provides" wwas removed from the libvirt packaging. To workaround this problem just install libvirt-daemon in CentOS 7.1 or Fedora 20+. WIthout this change, an install of libvirtd does not actually install libvirtd. The yum tool will not fail if libvirtd is specified so we weren't catching this in the build. Change-Id: I81e64f6f659aa0466369dad4b0574ebb24c99555
2015-04-03Merge "Load appropriate modules for libvirt"Jenkins1-0/+11
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-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