For Newton to Ocata ansible upgrades tasks drive the major upgrade for all roles that do not explicitly disable them (e.g. the default "Controller" role is upgraded with ansible).
For some nodes such as those running openstack-nova-compute, the operator may prefer to drive the upgrade 'manually'. For Newton to Ocata the operator drives upgrade of these nodes with the 'upgrade-non-controller.sh' [1] to run the 'tripleo_upgrade_node.sh' [2] script.
For Ocata to Pike we should instead drive the 'manual upgrade' of these roles with ansible tasks. The tasks are already defined in the tripleo-heat-templates, for example nova-compute @ [3] so it is a matter of collecting the ansible tasks for these roles into a playbook that the operator can drive the execution of (though we will still have to orchestrate execution of the puppet-apply after the successful run of the ansible playbook, as we are currently doing at the end of [2])
[1] https://github.com/openstack/tripleo-common/blob/stable/ocata/scripts/upgrade-non-controller.sh
[2] https://github.com/openstack/tripleo-heat-templates/blob/stable/ocata/extraconfig/tasks/tripleo_upgrade_node.sh
[3] https://github.com/openstack/tripleo-heat-templates/blob/stable/ocata/puppet/services/nova-compute.yaml#L153
I have openned a BP for this: /blueprints. launchpad. net/tripleo/ +spec/ansible- upgrade- playbook- from-undercloud
https:/
A POC is in progress: /review. openstack. org/444224
https:/