Correct playbook selection is now done automatically using
external_update_tasks and external_upgrade_tasks. The
CephAnsiblePlaybook is still usable and highest priority if set to
something else than the default. It can also be set to  to
completely skip ceph-ansible playbook execution.
We inherit the `prepare` commands from deploy, in Rocky we will
automatically get config-download env file there so no need to
explicitly disable DeploymentSteps in *-prepare.yaml files too. We
should also disable the WorkflowSteps in config-download environment,
as they too aren't meant to be used with config-download.
Similarly, for `converge` commands in the *-converge.yaml files we
shouldn't re-enable the DeploymentSteps and WorkflowSteps, as that
would go against using config-download.
And unset back to CREATE on ffwd-upgrade converge. See  for more
discussion. This is to allow operators to update to the new script
based os-net-config network templates during the ffwd-upgrade.
As we discovered bug #1768586 we'll need to make sure that every
parameter tweak in plan is followed by a stack update.
So far the Ceph upgrade command did set param -> stack update -> unset
param (only in plan). However this means the last CephAnsiblePlaybook
setting (back to normal deploy playbook) was discarded.
Let's reuse normal converge commands to converge CephAnsiblePlaybook
too, and we can remove the (now unused) ceph-upgrade-converge.yaml. We
won't do more stack updates than necessary, and at the same time the
user workflow stays somewhat consistent between envs that do and don't
An alternative would be to run the as part of the Ceph command, but
that either means we'd have to run one more stack update then
necessary, or skip the last converge in envs with Ceph, and
essentially diverge further from the non-Ceph workflow.
So far we haven't been disabling workflows for update/upgrade. We
should disable them by default as they could have the potential to
disrupt the update/upgrade/ffwd procedure.
The main example of a thing we deploy via the workflow resources is
Ceph. We decided no-opping ceph-ansible for the main
update/upgrade/ffwd upgrade steps is the safest path forward and we'll
update/upgrade Ceph it after the main procedure is finished.
This consolidates the upgrade and ffwd-upgrade related env files,
removing no longer relevant files (like converge vs converge-docker).
In line with recent/ongoing work in tripleoclient  we now have
cli: overcloud [upgrade|update|ffwd-upgrade] [prepare|run|converge]
With this patch we can also change the set/unset of resource 'noop'
and move it from tripleo-common to python-tripleoclient, like I am
pointing at in related client review below. If others agree then I
will do the same with the upgrade-prepare and also the ffwd cli
in , i.e. add explicit inclusion of the upgrade-prepare.yaml
and then similarly include the upgrade-converge.yaml for the
upgrade/ffwd-upgrade converge cli.