upgrade_tasks ordering changes in config download output

Bug #1734352 reported by Lee Yarwood on 2017-11-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
High
Unassigned

Bug Description

Description
===========
For example, given the following docker/services/cinder-volume.yaml step2 upgrade_tasks:

~~~
      upgrade_tasks:
        - name: Stop and disable cinder_volume service
          tags: step2
          service: name=openstack-cinder-volume state=stopped enabled=no
        - name: Remove openstack-cinder package if operator requests it
          yum: name=openstack-cinder state=removed
          tags: step2
          ignore_errors: True
          when: {get_param: UpgradeRemoveUnusedPackages}
~~~

These are rendered within $config_path/Controller/upgrade_tasks.yaml by `openstack overcloud config download` as :

~~~
- ignore_errors: true
  name: Remove openstack-cinder package if operator requests it
  tags: step2
  when:
  - step|int == 2
  - true
  yum: name=openstack-cinder state=removed
- name: Stop and disable cinder_volume service
  service: name=openstack-cinder-volume state=stopped enabled=no
  tags: step2
  when: step|int == 2
~~~

Note that the tasks have been switched and lines within the tasks have also be ordered alphabetically. The actual ordering of the tasks results in the following failure as we remove a package before attempting to stop the service:

~~~
TASK [Remove openstack-cinder package if operator requests it] *************************************************************************
changed: [192.168.24.16]

TASK [Stop and disable cinder_volume service] ******************************************************************************************
fatal: [192.168.24.16]: FAILED! => {"changed": false, "failed": true, "msg": "Could not find the requested service openstack-cinder-volume: host"}
 to retry, use: --limit @/home/stack/tripleo-d5eTTn-config/fast_forward_upgrade_playbook.retry
~~~

Steps to reproduce
==================
* openstack overcloud config download
* review $path_to_config/Controller/upgrade_tasks.yaml

Expected result
===============
Task and line ordering remain the same between the template and rendered output.

Actual result
=============
Tasks are reordered and lines sorted alphabetically resulting in failures.

Environment
===========
1. Exact version of OpenStack you are running. See the following
  list for all releases: http://docs.openstack.org/releases/

   master (Queens)

2. Which storage type did you use?
   (For example: Ceph, LVM, ...)
   What's the version of that?

3. Which networking type did you use?
   (For example: Neutron with OpenVSwitch, ...)

Changed in tripleo:
milestone: none → queens-3
importance: Undecided → High
Changed in tripleo:
status: New → Triaged
Changed in tripleo:
milestone: queens-3 → queens-rc1
Changed in tripleo:
milestone: queens-rc1 → rocky-1
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 → stein-rc1
Changed in tripleo:
milestone: stein-rc1 → 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
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers