Release variables have the highest precende in oooq and cannot be dynamically redifined.

Bug #1749978 reported by Sofer Athlan-Guyot
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Medium
Unassigned

Bug Description

Hi,

the release file is loaded using "-e ...", this gives it the highest precedence in ansible[1]. In case of mixed upgrade, this mechanism prevent us to reload any role with different variables' value. To overcome this we have to create other variable that are not present is the release file to be able to choose between values..

[1] https://docs.ansible.com/ansible/latest/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

Tags: ci tech-debt
Revision history for this message
Sofer Athlan-Guyot (sofer-athlan-guyot) wrote :

Not sure why the entry is not created automatically: https://review.openstack.org/#/c/540473/

Revision history for this message
wes hayutin (weshayutin) wrote :

@sofer we are working on https://review.openstack.org/#/c/543031/ to address the issue in holistic way

Revision history for this message
wes hayutin (weshayutin) wrote :

hrm.. maybe better to look at https://review.openstack.org/#/c/545072/

Changed in tripleo:
status: New → Triaged
Revision history for this message
Sofer Athlan-Guyot (sofer-athlan-guyot) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-quickstart-extras (master)

Reviewed: https://review.openstack.org/540473
Committed: https://git.openstack.org/cgit/openstack/tripleo-quickstart-extras/commit/?id=33cf682ebb2a56c62cc7df0b6ba9170e1460f74e
Submitter: Zuul
Branch: master

commit 33cf682ebb2a56c62cc7df0b6ba9170e1460f74e
Author: Sofer Athlan-Guyot <email address hidden>
Date: Fri Feb 2 19:03:25 2018 +0100

    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

Changed in tripleo:
milestone: rocky-1 → rocky-2
Changed in tripleo:
milestone: rocky-2 → rocky-3
Changed in tripleo:
milestone: rocky-3 → rocky-rc1
Changed in tripleo:
milestone: rocky-rc1 → stein-1
Changed in tripleo:
milestone: stein-1 → stein-2
Changed in tripleo:
milestone: stein-2 → stein-3
Changed in tripleo:
milestone: stein-3 → train-1
Changed in tripleo:
milestone: train-1 → train-2
Changed in tripleo:
milestone: train-2 → train-3
Changed in tripleo:
milestone: train-3 → ussuri-1
Changed in tripleo:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.