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