Enable composable upgrades for docker service templates
authorSteven Hardy <shardy@redhat.com>
Wed, 1 Mar 2017 13:57:13 +0000 (13:57 +0000)
committerSteven Hardy <shardy@redhat.com>
Mon, 6 Mar 2017 15:53:46 +0000 (15:53 +0000)
commitfb748ba307684bd71ceaa0765a22389f9385ae88
tree2cd780f9baff94a7957841ca473d40ffc85280a5
parent8febc6e6f4a83f909150cca7c377c6e4fdb096aa
Enable composable upgrades for docker service templates

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
33 files changed:
docker/docker-steps.j2 [new file with mode: 0644]
docker/post-upgrade.j2.yaml [new file with mode: 0644]
docker/post.j2.yaml
docker/services/database/mongodb.yaml
docker/services/database/mysql.yaml
docker/services/glance-api.yaml
docker/services/heat-api-cfn.yaml
docker/services/heat-api.yaml
docker/services/heat-engine.yaml
docker/services/ironic-api.yaml
docker/services/ironic-conductor.yaml
docker/services/keystone.yaml
docker/services/memcached.yaml
docker/services/mistral-api.yaml
docker/services/mistral-engine.yaml
docker/services/mistral-executor.yaml
docker/services/neutron-api.yaml
docker/services/neutron-dhcp.yaml
docker/services/neutron-ovs-agent.yaml
docker/services/nova-api.yaml
docker/services/nova-conductor.yaml
docker/services/nova-placement.yaml
docker/services/nova-scheduler.yaml
docker/services/rabbitmq.yaml
docker/services/services.yaml
docker/services/swift-proxy.yaml
docker/services/swift-storage.yaml
docker/services/zaqar.yaml
environments/docker.yaml
environments/major-upgrade-composable-steps-docker.yaml [new file with mode: 0644]
environments/major-upgrade-converge-docker.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
roles_data.yaml