Bug 1567814

Summary: [RFE]: CLI deployments should create a plan-environment.yaml file to integrate with the GUI
Product: Red Hat OpenStack Reporter: Udi Kalifon <ukalifon>
Component: openstack-tripleoAssignee: Julie Pichon <jpichon>
Status: CLOSED WONTFIX QA Contact: Arik Chernetsky <achernet>
Severity: high Docs Contact:
Priority: medium    
Version: 13.0 (Queens)CC: aschultz, beth.white, jbuchta, jrist, mburns, rhel-osp-director-maint
Target Milestone: Upstream M2Keywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: NeedsAllocation
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-20 09:35:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Udi Kalifon 2018-04-16 09:10:26 UTC
Description of problem:
The CLI should make sure that GUI users will also see what environment files and customizations were passed to the deployment. Currently, if a deployment was made from the CLI and then a user opens the GUI - the plan configuration will not reflect the environments that were used.

The CLI should:
1) Create the plan-environment.yaml in the swift container, same as the GUI does
2) Populate the "environments:" section with the environment files that were used in the command line
3) Populate the "parameter_defaults:" section with the counts (e.g. ControllerCount, ComputeCount etc') and flavors (e.g. OvercloudControllerFlavor, OvercloudComputeFlavor etc')
4) Populate whatever other default parameters that were passed in the environments that were listed on the command line (e.g. the SSL certificates if they were provided, and more...)
5) Resource mappings are currently not possible and not supported in the GUI, so a specific solution is needed to support saving resource mappings in the plan in swift

A CLI user who didn't save the deployment command of the initial overcloud deployment, and later needs to know what command was used in order to do the upgrades, should be able to find all the info in the plan - same as GUI users can.

Updating an overcloud deployment should be possible by editing the files stored in swift, and running the "openstack overcloud plan deploy" command, even if the initial deployment was not done from the GUI.

Comment 3 Julie Pichon 2018-04-25 15:09:51 UTC
I agree this is really important, both for parity between the UI and CLI as well as to improve the user experience.

Steve Hardy has been doing a ton of work around this, mainly to stop the CLI from merging environments before deploying, which is causing a number of issues and differences when deploying with the UI vs CLI:

https://review.openstack.org/#/q/topic:bug/1635409

There's a couple dozen patches in there, many merged already so I'll only link to the ones that are still open.

Comment 4 Udi Kalifon 2018-07-16 11:19:27 UTC
The CLI already creates a plan-environment.yaml file which is informative enough to reconstruct the deployment command. The GUI won't always realize that the environment files that were used from the file system are equivalent the ones in capabilities-map.yaml.