Bug 1624055 - [OSP-12] Changes in Basic plan configuration leads to incorrect order of env files upon deployment
Summary: [OSP-12] Changes in Basic plan configuration leads to incorrect order of env ...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-common
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
high
urgent
Target Milestone: ---
: 12.0 (Pike)
Assignee: Ryan Brady
QA Contact: Alexander Chuzhoy
URL:
Whiteboard:
Depends On: 1541721
Blocks: 1610283
TreeView+ depends on / blocked
 
Reported: 2018-08-30 18:50 UTC by Jon Schlueter
Modified: 2018-08-31 12:10 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1541721
Environment:
Last Closed: 2018-08-31 12:10:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 570215 0 None None None 2018-08-30 18:50:44 UTC
OpenStack gerrit 581060 0 None None None 2018-08-30 18:50:44 UTC
OpenStack gerrit 582279 0 None None None 2018-08-30 18:50:44 UTC

Description Jon Schlueter 2018-08-30 18:50:44 UTC
+++ This bug was initially created as a clone of Bug #1541721 +++

Description of problem:
Working with a default plan to deploy a basic overcloud deployment with 1 compute and 3 controllers. Making changes in basic deployment breaks the order of passed env files and leads to a failed deployment.

Version-Release number of selected component (if applicable):

12   -p 2018-01-16.2
openstack-tripleo-ui-7.4.3-4.el7ost.noarch
openstack-tripleo-common-7.6.3-8.el7ost.noarch
python-tripleoclient-7.3.3-7.el7ost.noarch
openstack-tripleo-heat-templates-7.0.3-21.el7ost.noarch

How reproducible:

always

Steps to Reproduce:

1. Prepare nodes, flavors roles for deployment
2. in Deployment configuration dialog choose Containerized deployment check box, in Others section verify environments/docker-ha.yaml and  environments/containers-default-parameters.yaml are chosen, Save and Close
3. Open Plan configuration dialog again and uncheck Base Resources Configuration in General Deployment Options section, Save and close
4. Open Plan configuration dialog again and check-in back Base Resources Configuration in General Deployment Options section, Save and close
5. Attempt to deploy

Actual results:
Deployemnt fails on Resource CREATE failed: Error: resources.AllNodesDeploySteps.resources.ControllerDeployment_Step3.resources[0]: Deployment to server failed: deploy_status_code: Deployment exited with non-zero status code: 2

Env files passed incorrectly: 
environments:
- path: environments/containers-default-parameters.yaml
- path: environments/docker-ha.yaml
- path: overcloud-resource-registry-puppet.yaml
- path: environments/docker.yaml



Expected results:
Deployment succeed

Environment files passed in correct order:
environments:
- path: overcloud-resource-registry-puppet.yaml
- path: environments/docker.yaml
- path: environments/containers-default-parameters.yaml
- path: environments/docker-ha.yaml


Additional info:
correct and incorrect plan env yamls with failures list attached


--- Additional comment from Jiri Tomasek on 2018-04-16 07:51:32 EDT ---

Fixing this requires update in tripleo-common.  UpdateCapabilities class [1] logic needs to be more robust. Currently, client passes a list of environments to enable/disable and the action updates environments list in plan-environment.yaml.

The order of environments matters but we want to shield user from having to provide the ordering as it requires in depth knowledge on the contents of environment files.

UpdateCapabilities action should calculate new environments list (as does now) and then traverse the capabilities-map.yaml and order the environment files by dependency rules defined in capabilities-map, so that parent environments are first and children environments override these parents.

[1] https://github.com/openstack/tripleo-common/blob/master/tripleo_common/actions/heat_capabilities.py#L142


--- Additional comment from Ryan Brady on 2018-05-24 08:07:13 EDT ---

Patch created to meet the requirements outlined in comment 2.  @jtomasek, can you review?


Note You need to log in before you can comment on or make changes to this bug.