summaryrefslogtreecommitdiff
path: root/docker
AgeCommit message (Collapse)AuthorFilesLines
2015-05-06Add a novnc container running the novnc-proxy.Harm Weites8-6/+66
All VNC-specific configuration bits are moved from nova-api-base to nova-compute and the new nova-novncproxy and nova-consoleauth containers. The compose specification has been updated to reflect this. A future patch will make the desired backend configurable (spice/vnc). Change-Id: I8b64abf125fd1ecd7d3463515e3717dd9bd60420 Blueprint: novnc-container
2015-05-06Readd Zaqar for Juno series since that was where it was introducedSteven Dake5-0/+87
Change-Id: I379844bb46d9ac1b933124b1736b7594700f88a8 Partially-implements: blueprint port-kilo
2015-05-06Port to JunoSteven Dake2-2/+2
This represents the Juno release of the images. Partially-implements: blueprint port-kilo Change-Id: I2837ec25a2aa093b7fff7519f3ed608ec93736bf
2015-05-06Change nova net config to work properly with Neutron for Juno and laterSteven Dake1-6/+6
Change nova networking config to work properly with Neutron Juno and later. Partially-implements: blueprint port-kilo Change-Id: I18c324c34b4c3af8526d32b3e42f426ec519750b
2015-05-06Port to icehouseSteven Dake40-44/+40
This represents making build-docker-images --release build with the icehouse tag and causes docker-compsoe to pull from the icehouse tag. Partially-implements: blueprint port-kilo Change-Id: I66b2c39abc55c0f47152dd90e696fc46b9c58f50
2015-05-06Remove Zaqar for IcehouseSteven Dake5-96/+0
Zaqar was introduced in Juno, so remove it prior to branching icehouse, then add it back in after branching icehouse. Partially-implements: port-kilo Change-Id: Icce95b4d404e6d8238206716e74f6826bc860860
2015-05-06Setup nova networking properly for IcehouseSteven Dake1-6/+6
This sets up nova networking properly to work with Neutron in the Icehouse release. Partially-implements: blueprint port-kilo Change-Id: I0d37411c61d0d705d1ddf39c25c6610ea04f56f1
2015-05-06Add heat-api-cfnSteven Dake6-15/+66
Add Heat-api-cfn for wait conditions Magnum needs wait conditions in order to operate properly. heat-api-cfn is where wait conditions connect. Change-Id: I56742dd96e4607dc0042d0cef4e18c922f9ed736 Implements: blueprint container-heat-api-cfn
2015-05-06Make neutron-server upgrade the database to headSteven Dake1-1/+1
Rather then upgrading to a specific version of OpenStack, just upgrade to Head. This works for both juno and kilo. Change-Id: I6305218eabd7de0878e24c8fdae968ac6d612175 Partially-implements: blueprint port-kilo
2015-04-27Change the default shell to bashChen Zhiwei41-41/+41
Unify the shell to bash in all Kolla scripts. Change-Id: Ib9591b2f8f344eb88455c5e9b7ecf2164fb5960a Implements: blueprint use-bash-shell
2015-04-21Merge "remove wait_for from glance-api"Jenkins1-2/+2
2015-04-21Removes existing network namespaces for neutron-agents containerDaneyon Hansen2-0/+10
Previously, network namespaces would not work correctly when restarting or stop/rm/start the neutron-agents container. This is because network namespaces created within the container are associated to the container's pid: /pid/$CONTAINER_PID/ns/net. With this patch, when a container starts or restarts, the l3/dhcp agent start scripts will remove any existing qrouter/qdhcp network namespaces before starting the agents. The agents will recreate the necessary network namespaces since they are stored in the db. Closes-Bug: 1444219 Change-Id: Ia86729766fe8c2fc145b3a02d519746b149a73bb
2015-04-15Add workaround to work with cirros imageSteven Dake1-0/+8
The cirros image uses an old dhcp client which does not work properly with hardware that has checksum offload enabled. Add a bootp rule to rewrite the checksum via iptables. Latest cirros 0.3.33 is afflicted by this bug. Change-Id: Ibfd1f87af5d0bef9fcb1354121e76e4e0db8ab5e
2015-04-14Neutron doa in current formSteven Dake6-7/+7
The nova-config.sh script was exiting because of incorrect shell syntax. The correct syntax for a regex search is [[ haystack =~ needle ]]. The .*needle.* is unnecessary. I think this shell script exited because a period was missing. Change-Id: I3aca5e0729eb5fedbe9ecb4d75ed85d5a1c7815a
2015-04-14remove wait_for from glance-apiSteven Dake1-2/+2
For some reason glance sometimes fails to permanently find keystone while other services do find keystone. The host also has full access to keystone. Change wait_for to fail_unless. This could be a docker bug, a wait_for bug, or some other problem. Change-Id: I02d611d65b7ffddb9c27101fd60e2a8b7cc25658
2015-04-14CentOS 7.1 image doesn't work with libvirtSteven Dake1-0/+4
The libvirt package has a dependency on systemd-libs and systemd, while the centos 7.1 container installs systemd-container-libs and systemd-container. We don't need either of these systemd tools but they reuslt in a broken build of the system if they are missing. As is, the libvirt container will not build. Change-Id: I8e5aac0e3a7e9d88a81733a3048971fe9d48ba56
2015-04-13Removes check_required_vars for Log FilesDaneyon Hansen8-15/+7
Previously, check_required_vars was requiring log file variables to be set in openstack.env. This would cause an error when starting nova/neutron containers that used default (blank) log file settings. Since the log files are not required for the services to start, the default log files are left blank (without a value in the K/V pair). This patch removes the log_file variable for check_required_vars in each nova/neutron script. Change-Id: I169baab28f63a0e0ae06c8aef21b5e8d3155bdda
2015-04-13Adds Neutron Agents SupportDaneyon Hansen30-297/+379
Previously, the agents ran in seperate containers. Since some of the agents create and use network namespaces, runnning them in seperate containers has become a challenge. This patch adds neutron agent support in a single container. Partially Implements: blueprint compute-operation-neutron Change-Id: If4f893abd50d90b58e8435ec2659870dce36951c
2015-04-10Adds neutron-server to neutron container-setDaneyon Hansen5-54/+91
Adds neutron-server components of the neutron container set. Partially Implements: blueprint compute-operation-neutron Change-Id: I63525ae85f4ead4e010cdb9b6bc8059bb9d252e7
2015-04-07Adds Initial Logging SupportDaneyon Hansen12-15/+81
Previously, logging was hard coded into the nova and neutron containers. This patch creates two common params for logging: DEBUG_LOGGING VERBOSE_LOGGING and sets default values of verbose=true and debug=false. This patch implements logging for Nova and Neutron. Add'l OS service config scripts and images will need to be updated to use the logging params. Change-Id: I03d48005d5b4789aa3c519879a20d963ef1cbaa3
2015-04-07Merge "Remove building of pam+noaudit and place in copr instead"Jenkins2-10/+16
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