path: root/docker/firstboot
AgeCommit message (Collapse)AuthorFilesLines
2017-08-17Refactor setup_docker_host.sh as host_prep_tasksJiri Stransky2-30/+0
Previously what we've been doing with setup_docker_host.sh can now be achieved with host_prep_tasks, and we can free up the NodeUserData interface for other use cases. Closes-Bug: #1711387 Change-Id: Iaac90efd03e37ceb02c312f9c15c1da7d4982510
2017-08-14Containerize virtlogdJiri Stransky1-0/+3
So far we've been using virtlogd running on the host, we should now be using virtlogd from a container. Co-Authored-By: Martin André <m.andre@redhat.com> Co-Authored-By: Jiri Stransky <jistr@redhat.com> Change-Id: I998c69ea1f7480ebb90afb44d6006953a84a1c04
2017-07-20Remove DockerNamespace referencesIan Main1-15/+1
This patch removes more of the DockerNamespace references as part of the cleanup/reorg of the container configuration patches. This also adds a centos-rdo environment file for use with the new interface. This file was generated with the command "openstack overcloud container image prepare" Depends-On: I729fa00175cb36b02b882d729aae5ff06d0e3fbc Depends-On: I292162d66880278de09f7acbdbf02e2312c5bb2b Co-Authored-By: Dan Prince <dprince@redhat.com> Change-Id: Ice7b57c25248634240a6dd6e14e6d411e7806326
2017-06-28Add heat parameter for all of config_volume imagesMartin André1-0/+1
This commit consistently defines a heat template parameter in the form of DockerXXXConfigImage where XXX represents the name of the config_volume that is used by docker-puppet. The goal is to mitigate hard to debug errors where the templates would set different defaults for the image docker-puppet.py uses to run, for the same config_volume name. This fixes a couple of inconsistencies on the way. Change-Id: I212020a76622a03521385a6cae4ce73e51ce5b6b Closes-Bug: #1699791
2017-05-19Update the template_version alias for all the templates to pike.Carlos Camacho1-1/+1
Master is now the development branch for pike changing the release alias name. Change-Id: I938e4a983e361aefcaa0bd9a4226c296c5823127
2017-03-08Enable Docker service for Compute roleMartin André1-21/+3
A recent commit [1] change how docker is installed and configured on the overcloud nodes, from a cloud-init script to a proper puppet profile in puppet-tripleo but forgot to enable the docker service on the compute nodes. [1] Ia50169819cb959025866348b11337728f8ed5c9e Change-Id: I202723d0e48f110e5b0dbfe3dcf6646da9f37948
2017-02-15docker: new hybrid deployment architecture and configurationDan Prince3-79/+29
This patch implements a new docker deployment architecture that should us to install docker services in a stepwise manner alongside of baremetal puppet services. This works by using Yaql to select docker specific services (docker/services/*.yaml) vs the puppet specific ones and then applying the selected Json to relevant Heat software deployments for docker and baremetal puppet in a stepwise fashion. Additionally the new architecture leverages new composable services interfaces from Newton to allow configuration of per-service container configuration sets (directories that are bind mounted into kolla containers) by using the Kolla containers themselves. It does this by spinning up a throw away "configuration only" version of the container being configured itself, then running the puppet apply in that container and copying the generated config files into /var/lib/config-data. This avoids having to install all of the OpenStack dependency packages in the heat-agent-container itself (our previous approach) and should allow us to configure a much wider variety of container config files that would otherwise be impossible with the previous shared approach. The new approach (combined) should allow us to configure containers in both the undercloud and overcloud and incrementally add CI coverage to services as we containerize them. Co-Authored-By: Martin André <m.andre@redhat.com> Co-Authored-By: Ian Main <imain@redhat.com> Co-Authored-By: Flavio Percoco <flavio@redhat.com> Change-Id: Ibcff99f03e6751fbf3197adefd5d344178b71fc2
2017-01-03Merge "Bump template version for all templates to "ocata""Jenkins1-1/+1
2016-12-23Bump template version for all templates to "ocata"Steven Hardy1-1/+1
Heat now supports release name aliases, so we can replace the inconsistent mix of date related versions with one consistent version that aligns with the supported version of heat for this t-h-t branch. This should also help new users who sometimes copy/paste old templates and discover intrinsic functions in the t-h-t docs don't work because their template version is too old. Change-Id: Ib415e7290fea27447460baa280291492df197e54
2016-12-19Use overcloud-full instead of atomic-imageSteve Baker1-72/+29
This switches to using overcloud-full as the OS image for containerized compute. It includes the following changes: - install docker, until this change lands I1eab2a6de721c8f3c21c7df0019f2d4d1cc3775f - agent image pull has been removed. This avoids a race between docker starting and the current call to pull. This relies on "docker run" to do the initial pull and leaves open the option of some other prefetch mechanism to do the initial pull - rely on unit Conflicts= to ensure heat-docker-agents and os-collect-config do not run at the same time - tweaks to host bind mounts - removal of commands which only apply to atomic Co-Authored-By: Martin André <m.andre@redhat.com> Change-Id: I2e82634785834a877a4dbdbdcd788a9ac1c14a9d
2016-12-19Add bind mounts for agent stateSteve Baker1-0/+3
These ensure that software configuration tasks are not re-run when the heat-agents container is restarted. Change-Id: Ieb84fe1f6dd849737ff22f51daa12ddc467dcdde
2016-12-08docker: don't use custom run-os-net-configSteve Baker1-0/+1
The script run-os-net-config[1] copies in ifcfg-* from the host before running os-net-config. Apparently it was done this way because the other scripts in /etc/sysconfig/network-scripts/ differed between host and agent container. This should be less of an issue now that host and heat-agents run centos-7 (even when the host is atomic) tripleo-heat-templates recently changed to running os-net-config in a deployment script instead of an os-refresh-config script [2]. This means that our current run-os-net-config approach is currently resulting in os-net-config being executed twice. Another issue with run-os-net-config is that it copies ifcfg-* from host to container, but not back again. This means that rebooting the server will result in unconfigured interfaces until os-net-config is somehow run again. This change bind mounts /etc/sysconfig/network-scripts/ from the host and uses the conventional approach to running os-refresh-config. This may fix the issue where compute nodes are losing network connectivity, so Closes-Bug: #1646897 [1] http://git.openstack.org/cgit/openstack/tripleo-common/tree/heat_docker_agent/run-os-net-config [2] I0ed08332cfc49a579de2e83960f0d8047690b97a Change-Id: I763fc8d8e3eb10ac64d33e46c92888d211003e72
2016-10-19Bind mount files to run DiD in latest atomic hostMartin André1-1/+22
The /usr/bin/docker is a shell script in latest atomic host, pointing to either docker-latest or docker-current binary. Bind mount the required files from atomic host to be able to run docker in docker inside heat-agents container. Co-Authored-By: Flavio Percoco <flavio@redhat.com> Change-Id: I97e29f65beb3a3f89c1b42c339e2e89f0fc1d519
2016-10-19Have docker start script honor configurationMartin André1-1/+3
The test was always evaluate as true which resulted in insecure_registry line being set even when DockerNamespaceIsRegistry was set to false. Change-Id: Iacb73a4908a6a27082b94fe919734e644ed47b19
2016-10-06Be more inclusive in insecure registry regexMartin André1-1/+1
The regex failed to match the INSECURE_REGISTRY string used in latest atomic host image due to it expecting a whitespace after --insecure-registry. Change-Id: Ib8f288d844b4d94b0f6309bfd04bb05930d8c4c5
2016-07-29Update heat-agents setup filesFlavio Percoco2-30/+31
This patch moves the image pull step out of the service heat-agent service script to ease the service init process and to make it more reliable. By doing this outside of the service script, it's possible to know when the `firstboot` script failed and report back. It also updates the firstboot yaml file to point to the `tripleoupstream` org. Co-Authored-By: Flavio Percoco <flavio@redhat.com> Co-Authored-By: Martin André <m.andre@redhat.com> Change-Id: I2f0b8092ec69320ee370e1d7d20b8c15c95a1d0d
2016-05-06Use docker-cmd hook.Ian Main1-1/+1
This patch switches to use docker-cmd without changing the heat templates. Change-Id: I4a6a42819e83e3b70bf1e37c09d155c5cf8a7ee4
2016-03-30Remove hack the pulls latest dockerRyan Hallisey1-13/+0
Atomic is set to Docker 1.8.2. We no longer need to pull the latest Docker to make our template work. Change-Id: I8ab4e135ed4891763f8ced596116b14101466160 Co-Authored-By: Ian Main <imain@redhat.com>
2016-03-30Centos gives /dev/pts/ptmx the wrong permsRyan Hallisey1-0/+3
In order to use cinder, we need to be able to use /dev/pts/ptmx. Centos sets this to 000 when on Fedora it's 666. Change-Id: I76dc5adc64d2da0d27204ea31175244bc1b94428
2016-03-09Allow the containerized compute node to spawn larger VMsRyan Hallisey1-0/+19
Atomic's root partition & logical volume defaults to 3G. In order to launch larger VMs, we need to enlarge the root logical volume and scale down the docker_pool logical volume. We are allocating 80% of the disk space for vm data and the remaining 20% for docker images. Change-Id: If3fff78f476de23c7c51741a49bae227f2cdfe3e Co-authored-by: Ian Main <imain@redhat.com> Co-authored-by: Jeff Peeler <jpeeler@redhat.com>
2016-02-16Merge "Remove DNS hack."Jenkins1-2/+0
2016-02-12Minor fixes to allow local docker registry usageJeff Peeler2-3/+9
Changed the heat-docker-agents namespace to use the namespacing specified in the environment file, which reduces modifications required on the user when using a local registry. Changed the start agents script to handle using a local registry both with a namespace and without. Change-Id: I16cc96b7ecddeeda07de45f50ffc6a880dabbba6
2016-02-12Remove DNS hack.Ian Main1-2/+0
With a properly configured undercloud the DNS is fine. We can remove the dns setting. Change-Id: I8ba98e76f95fd0a6f3f34cb5578e6c3ea7a1d15e
2016-01-05Use new heat-docker-agents imagesRyan Hallisey1-1/+1
Hosted at tripleoupstream/heat-docker-agents. Change-Id: I2133a7cb789a34c60b87339d816d29d353cb015f
2015-11-20Merge "Add local docker registry support"Jenkins2-1/+11
2015-11-20Merge "Update docker compute environment to use json config"Jenkins1-4/+1
2015-11-09Pin docker version for atomic at 1.8.2Jeff Peeler1-2/+3
docker-latest now points to 1.9.0, which isn't the version we're targetting. More importantly, docker-1.9.0 doesn't work since it complains about /etc not being able to be relabeled. Not sure how to fix that, but we can save that battle for another time. Change-Id: I947b7569d9cf40a409253336e51b4dec5ada36f8
2015-11-02Add local docker registry supportRyan Hallisey2-1/+11
Create a set of environment variables that allows us to configure a docker registry for deployment. This patch assumes there is a local docker registry already setup with the images loaded in place. Change-Id: Iaafaf23eb3fa8b24bcd8f73bb38c552bea629607 Signed-off-by: Ian Main <imain@redhat.com> Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
2015-11-02Update docker compute environment to use json configRyan Hallisey1-4/+1
In liberty, Kolla copies around files and runs the service given a specified command, by reading a json file. This will update the existing work to follow that template by creating a json file for each of the services and pushing it into the containers. Change-Id: I5085d1896ea965fd8854765b055068a5ad30bcfd Co-Authored-By: Jeff Peeler <jpeeler@redhat.com>
2015-10-08Docker compute role configured via PuppetDan Prince2-0/+102
This change adds a containerized version of the overcloud compute node for TripleO. Configuration files are generated via OpenStack Puppet modules which are then used to externally configure kolla containers for each OpenStack service. See the README-containers.md file for more information on how to set this up. This uses AtomicOS as a base operating system and requires that we bootstrap the image with a container which contains the required os-collect-config agent hooks to support running puppet, shell scripts, and docker compose. Change-Id: Ic8331f52b20a041803a9d74cdf0eb81266d4e03c Co-Authored-By: Ian Main <imain@redhat.com> Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>