summaryrefslogtreecommitdiffstats
path: root/docker/docker-steps.j2
AgeCommit message (Collapse)AuthorFilesLines
2017-06-06Convert puppet and docker steps to ansibleSteven Hardy1-99/+30
Replace the multiple SoftwareDeployment resources with a common playbook that runs on all roles, consuming the configuration data written via the HostPrepAnsible tasks. This hopefully simplifies things, and will enable re-running the deploy steps for minor updates (we'll need some way to detect a container should be replaced, but that will be done via a follow-up patch). Change-Id: I674a4d9d2c77d1f6fbdb0996f6c9321848e32662
2017-05-24Remove duplicate PreConfig definitionJiri Stransky1-7/+0
We had two exactly the same definitions of PreConfig in docker_steps.j2.yaml. We should remove one of them. I chose to remove the first definition, as the 2nd definition is amended by change I674a4d9d2c77d1f6fbdb0996f6c9321848e32662, so we'll avoid a conflict. Change-Id: If65e30daefcf6552e085c7648c6691b7068834d4
2017-05-24Fix race condition between docker-puppet and container stepsJiri Stransky1-0/+1
GenerateConfigDeployment wasn't anchored with dependencies anywhere. If it took too long to complete and step 1 of containers creation already started executing, problems happened. This is now fixed by adding the required dependency relationship. Change-Id: Ie7dfd2a965e704ba278d4c2fad67f14a3a62799e Closes-Bug: #1692503
2017-05-20Merge "Consolidate writing json configs with HostPrepTasks"Jenkins1-92/+56
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-05-17Consolidate writing json configs with HostPrepTasksSteven Hardy1-92/+56
We already have an ansible deployment that applies the per-service host_prep_tasks, so we can simplify the dependencies here by just doing the docker-steps host preparation at the same time. The motivation behind this is to both simplify the depends_on web we have here, reduce the number of discrete deployments, and also to potentially make running ansible directly e.g for debugging easier. In a future patch we'll convert the configuration steps to work in a similar way, such that they can be more easily reapplied e.g for rolling minor updates, possibly outside of heat. Change-Id: I9a201fc5a9e82c7fba4c2de36eb5332e21a81d37
2017-04-25Fix dependencies for PreConfig/PostConfig resourcesSteven Hardy1-17/+6
We have a circular dependency errror since https://review.openstack.org/#/c/452734/ landed. This adjusts the dependencies to ensure we run pre-config before the first puppet deploy step, and removes the duplicate declaration of the ControllerPostConfig resource. Also we ensure the first container step always depends on the same step puppet deploy. Change-Id: I70c5a39fb36b951bdeb04c15bddac7d00eebf08a Closes-Bug: #1686098
2017-04-24Merge pre|post puppet resources into pre|post config.Carlos Camacho1-4/+4
The [Pre|Post]Puppet resources were renamed in https://review.openstack.org/#/c/365763. This was intended for having a pre/post deployment steps using an agnostic name instead of being attached to a technology. The renaming was unintentionally reverted in https://review.openstack.org/#/c/393644/ and https://review.openstack.org/#/c/434451. This submission merge both resources into one, and remove the old pre|post hooks. Closes-bug: #1669756 Change-Id: Ic9d97f172efd2db74255363679b60f1d2dc4e064
2017-04-21Merge "Use -net=host for docker-puppet.py config gen"Jenkins1-0/+4
2017-04-20Add defaults for docker puppet tasksSteven Hardy1-4/+10
Currently we're referencing some steps that don't exist in the output from the OS::Heat::Value resource, but as noted in the heat bug #1681749 I think this isn't valid and probably should not be allowed, so instead merge defaults with the non-empty step tasks. To avoid further duplication of the loop variables, I made the max step a variable. Change-Id: Icf3d639b53c97006a0c370c12600449fba6f3323 Related-Bug: #1681749
2017-04-12Add tags to rolesAlex Schultz1-3/+10
Prior to Ocata, the Controller role was hardcoded for various lookups. When we switched to having the primary role name being dynamically pulled from the roles_data.yaml using the first role as the primary role as part of I36df7fa86c2ff40026d59f02248af529a4a81861, it introduced a regression for folks who had previously been using a custom roles file without the Controller being listed first. Instead of relying on the position of the role in the roles data, this change adds the concepts of tags to the role data that can be used when looking for specific functionality within the deployment process. If no roles are specified with this the tags indicating a 'primary' 'controller', it will fall back to using the first role listed in the roles data as the primary role. Change-Id: Id3377e7d7dcc88ba9a61ca9ef1fb669949714f65 Closes-Bug: #1677374
2017-04-11Use -net=host for docker-puppet.py config genDan Prince1-0/+4
We pass the short hostname to docker-puppet.py. In order to satisfy the factor FQDN check for the short hostname we need to run the container with --net=host in some cases. Change-Id: I2929f122f23ee33e8ea5d4c5006d2bbb8b928b67 Closes-bug: #1681903
2017-03-13Tasks hook for preparing BM host for deploying containerized servicesJiri Stransky1-1/+27
This implements a host_prep_tasks hook where we can specify Ansible tasks to perform on the host before deploying containerized services. The hook runs in a single step, the assumption is that we will mostly use the hook for creating per-service directories on the host to ensure we are able to mount them into the containers. (We cannot do this operation via Puppet because all containerized services run their Puppet within a config container, so Puppet doesn't have access to host's filesystem.) Change-Id: I7d8bac39e0cd422fd651eefe29f7d10941ab4a1a
2017-03-10Remove docker_image sections (unused)Dan Prince1-6/+5
We don't use docker_image for anything. It is a remant of the pre-composable docker templates and we can now remove it. This patch removes references to the 'docker_image' section from docker/post.yaml and all of the docker/services* templates. Change-Id: I208c1ef1550ab39ab0ee47ab282f9b1937379810
2017-03-06Enable composable upgrades for docker service templatesSteven Hardy1-0/+325
This aligns the docker based services with the new composable upgrades architecture we landed for ocata, and does a first-pass adding upgrade_tasks for the services (these may change, atm we only disable the service on the host). To run the upgrade workflow you basically do two steps: openstack overcloud deploy --templates \ -e environments/major-upgrade-composable-steps-docker.yaml This will run the ansible upgrade steps we define via upgrade_tasks then run the normal docker PostDeploySteps to bring up the containers. For the puppet workflow there's then an operator driven step where compute nodes (and potentially storage nodes) are upgrades in batches and finally you do: openstack overcloud deploy --templates \ -e environments/major-upgrade-converge-docker.yaml In the puppet case this re-applies puppet to unpin the nova RPC API so I guess it'll restart the nova containers this affects but otherwise will be a no-op (we also disable the ansible steps at this point. Depends-On: I9057d47eea15c8ba92ca34717b6b5965d4425ab1 Change-Id: Ia50169819cb959025866348b11337728f8ed5c9e