The new Deployment Plans were originally designed in the tripleo overcloud deployment library spec.
https://specs.openstack.org/openstack/tripleo-specs/specs/mitaka/tripleo-overcloud-deployment-library.html
This spec however failed to go into detail how plans would be updated and upgraded. There are a few reasons why this is difficult. The templates in swift and the mistral environment need to be kept in sync. When new templates are uploaded, the environments may no longer exist (i.e. a different filename) and parameters may no longer exist either.
At the moment the CLI has various workarounds to add a custom environment to the mistral environment directly and then remove it later. We should really determine the best plan for this and add it to as a workflow/action in tripleo-common.
This work may need a spec to fully go into the details of what is required.
Update: with akrivoka's work in https:/ /blueprints. launchpad. net/tripleo/ +spec/stop- using-mistral- env (related spec: http:// specs.openstack .org/openstack/ tripleo- specs/specs/ pike/deployment -plan-managemen t.html ), the Mistral environment will no longer exists. Additionally, shardy's work at bug 1635409 is changing how templates are processed on the CLI - though I haven't looked into the details yet so not sure about the potential impact on this bug.