Files
tripleo-quickstart-extras/playbooks/multinode-overcloud-prep.yml
Sofer Athlan-Guyot 33cf682ebb Add support to mixed upgrade for overcloud-prep-container role.
During mixed version upgrade, we want to deploy the overcloud with the
N-1 release docker images and then switch to the N release images
file.

That review[1] added the N-1 necessary tags.  That review[2] was an
attempt to use the proper parameters in that role for deployment in the
context of mixed version.  This fails.

The failure comes from the fact that we load the release file using
"-e ". All those variables then have the highest precedence[3]
possible and cannot be overridden.

Furthermore we use `use_overcloud_mixed_upgrade` flag to prevent the
yum upgrade to run inside container during initial overcloud
deployment.  The problem here is that the repo configuration is taken
from the undercloud which is N.  Thus the N-1 images are upgraded to
N.  That means that we can't gate "from" patches.  In a p->q setup, a
change in pike cannot be tested if it relates to the docker image.

Eventually we need a way to run the container role even when the
containerized_overcloud is false.  For Fast Forward Upgrade, the
starting point is Newton which doesn't use container.  So we introduce
`prep_container_upgrade_run` flag that can be set from the featureset
to ensure that the container get deployed during upgrade.

[1] https://review.openstack.org/#/c/537833/
[2] https://review.openstack.org/#/c/539920/1/toci-quickstart/playbooks/multinode-overcloud-prep.yml
[3] https://docs.ansible.com/ansible/latest/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

Related-Bug: #1745348

This Tech-debt is introduced until the refactor of the release loading
is done.
Related-Bug: #1749978

Change-Id: I4df06c8a0d5d8133ba64c38b90cef34793776422
2018-03-23 12:27:34 +01:00

49 lines
1.3 KiB
YAML

---
- name: Run overcloud prep config
hosts: undercloud
gather_facts: no
roles:
- role: overcloud-prep-config
# only run when we know we have to, save time otherwise
when: mixed_upgrade|default(false)|bool
tags:
- overcloud-prep-config
- name: Run overcloud prep roles
hosts: undercloud
gather_facts: no
roles:
- { role: overcloud-prep-images, step_overcloud_image: false, step_glance_upload: true, step_register: false }
- name: Run tripleo-validations pre-introspection tests
hosts: undercloud
gather_facts: no
tags:
- tripleo-validations
vars:
validations_group: ['pre-introspection']
roles:
- { role: tripleo-validations,
when: run_tripleo_validations|bool or run_tripleo_validations_negative_tests|bool}
- name: Prepare for containerized deployment
hosts: undercloud
gather_facts: no
tags:
- overcloud-prep-containers
roles:
- role: overcloud-prep-containers
use_overcloud_mixed_upgrade: "{{mixed_upgrade|default(false)}}"
when: containerized_overcloud|bool
- name: Run tripleo-validations pre-deployment tests
hosts: undercloud
gather_facts: no
tags:
- tripleo-validations
vars:
validations_group: ['pre-deployment']
roles:
- { role: tripleo-validations,
when: run_tripleo_validations|bool or run_tripleo_validations_negative_tests|bool}