
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
49 lines
1.3 KiB
YAML
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}
|