Bug 1541721

Summary: Changes in Basic plan configuration leads to incorrect order of env files upon deployment
Product: Red Hat OpenStack Reporter: Ola Pavlenko <opavlenk>
Component: openstack-tripleo-commonAssignee: Ryan Brady <rbrady>
Status: CLOSED ERRATA QA Contact: Udi Kalifon <ukalifon>
Severity: urgent Docs Contact:
Priority: high    
Version: 13.0 (Queens)CC: flfuchs, jamsmith, jjoyce, jpichon, jschluet, jtomasek, mburns, rbrady, sasha, slinaber, tvignaud, ukalifon
Target Milestone: z3Keywords: Triaged, ZStream
Target Release: 13.0 (Queens)Flags: rbrady: needinfo-
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-common-8.6.3-12.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1610283 1624055 (view as bug list) Environment:
Last Closed: 2018-09-19 16:52:16 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:
Bug Depends On:    
Bug Blocks: 1610283, 1624055    
Attachments:
Description Flags
env_files_and_failures_list.tar.gz none

Description Ola Pavlenko 2018-02-04 10:58:31 UTC
Created attachment 1390844 [details]
env_files_and_failures_list.tar.gz

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

Comment 2 Jiri Tomasek 2018-04-16 11:51:32 UTC
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

Comment 3 Julie Pichon 2018-04-17 14:31:21 UTC
Adjusting component/DFG based on comment 2.

Comment 4 Ryan Brady 2018-05-24 12:07:13 UTC
Patch created to meet the requirements outlined in comment 2.  @jtomasek, can you review?

Comment 5 Jiri Tomasek 2018-06-06 15:00:45 UTC
*** Bug 1585903 has been marked as a duplicate of this bug. ***

Comment 8 Jason E. Rist 2018-08-06 13:56:24 UTC
*** Bug 1541722 has been marked as a duplicate of this bug. ***

Comment 9 Jason E. Rist 2018-08-06 14:21:44 UTC
*** Bug 1516670 has been marked as a duplicate of this bug. ***

Comment 18 Udi Kalifon 2018-09-19 13:33:14 UTC
Verified in: openstack-tripleo-common-8.6.3-13.el7ost.noarch

Comment 20 errata-xmlrpc 2018-09-19 16:52:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:2728