Bug 1577536 - [OSP13] Path to composable services resource in environment file is ignored [NEEDINFO]
Summary: [OSP13] Path to composable services resource in environment file is ignored
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-tripleoclient
Version: 13.0 (Queens)
Hardware: x86_64
OS: Linux
high
high
Target Milestone: rc
: 13.0 (Queens)
Assignee: RHOS Maint
QA Contact: Artem Hrechanychenko
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-05-12 20:30 UTC by Michael Henkel
Modified: 2019-03-12 06:34 UTC (History)
16 users (show)

Fixed In Version: python-tripleoclient-9.2.1-12.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-06-27 13:56:23 UTC
Target Upstream Version:
aschultz: needinfo? (bartosz.kupidura)


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
OpenStack gerrit 564692 None MERGED Composable role and service fails workflow 2020-09-07 04:57:08 UTC
Red Hat Product Errata RHEA-2018:2086 None None None 2018-06-27 13:57:37 UTC

Description Michael Henkel 2018-05-12 20:30:12 UTC
Description of problem:

I have a couple of composable services defined:

(undercloud) [stack@osp13 ~]$ head -20  tripleo-heat-templates/environments/contrail/contrail-services.yaml
# A Heat environment file which can be used to enable OpenContrail
# # extensions, configured via puppet
resource_registry:
  OS::TripleO::Services::ContrailConfigDatabase: ../../docker/services/contrail/contrail-config-database.yaml
  OS::TripleO::Services::ContrailAnalyticsDatabase: ../../docker/services/contrail/contrail-analytics-database.yaml
  OS::TripleO::Services::ContrailConfig: ../../docker/services/contrail/contrail-config.yaml
  OS::TripleO::Services::ContrailAnalytics: ../../docker/services/contrail/contrail-analytics.yaml
  OS::TripleO::Services::ContrailControl: ../../docker/services/contrail/contrail-control.yaml
  OS::TripleO::Services::ContrailWebui: ../../docker/services/contrail/contrail-webui.yaml
  OS::TripleO::Services::ContrailVrouter: ../../docker/services/contrail/contrail-vrouter.yaml
  OS::TripleO::Services::NeutronCorePlugin: ../../docker/services/contrail/contrail-neutron-container-plugin.yaml
  OS::TripleO::Services::ComputeNeutronCorePlugin: ../../docker/services/contrail/contrail-vrouter.yaml
  OS::TripleO::Services::ContrailHeatApiPlugin: ../../docker/services/contrail/contrail-heat-container-plugin.yaml

(undercloud) [stack@osp13 contrail]$ ll ../../docker/services/contrail/contrail-heat-container-plugin.yaml
-rw-rw-r--. 1 stack stack 2839 May 11 17:17 ../../docker/services/contrail/contrail-heat-container-plugin.yaml

(undercloud) [stack@osp13 tripleo-heat-templates]$ grep -r OS::TripleO::Services::ContrailHeatApiPlugin roles_data_contrail_aio.yaml
    - OS::TripleO::Services::ContrailHeatApiPlugin

The service is added to the Control role.

I deploy the stack:

(undercloud) [stack@osp13 ~]$ openstack overcloud deploy --templates tripleo-heat-templates  -e overcloud_images.yaml   -e tripleo-heat-templates/node_info.yaml   -e tripleo-heat-templates/environments/network-isolation.yaml   -e tripleo-heat-templates/environments/contrail/contrail-services.yaml   -e tripleo-heat-templates/environments/contrail/contrail-net.yaml   --roles-file tripleo-heat-templates/roles_data_contrail_aio.yaml
Started Mistral Workflow tripleo.validations.v1.check_pre_deployment_validations. Execution ID: 9e785a1f-3862-4612-b50b-73eb08c59cd2
Waiting for messages on queue 'tripleo' with no timeout.
Removing the current plan files
Uploading new plan files
Started Mistral Workflow tripleo.plan_management.v1.update_deployment_plan. Execution ID: 968519c6-f8d0-484f-ac88-e3bf15327631
Plan updated.
Processing templates in the directory /tmp/tripleoclient-RlY5BG/tripleo-heat-templates
Action tripleo.parameters.update execution failed: Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::ContrailHeatApiPlugin) could not be found.

I tried with other service and have the same result. When adding the services to 

~/tripleo-heat-templates/environments/docker.yaml

it works.

The same templates work in upstream stable/queens.

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

OSP13

How reproducible:

Add composable service resource definitions to an environment file.

Steps to Reproduce:
1.
2.
3.

Actual results:

Resource is not found

Expected results:

Resource is found

Additional info:

Comment 1 Steven Hardy 2018-05-15 08:17:03 UTC
This sounds similar to https://bugs.launchpad.net/tripleo/+bug/1743575 which we previously discussed upstream, can you please confirm that https://review.openstack.org/#/c/534337/ is applied in the build you are testing?

If so then please attach the output from rpm -qa from the undercloud so we can try to reproduce and/or look for any other fixes which could be related.

Comment 2 Steven Hardy 2018-05-15 08:19:00 UTC
Note https://review.openstack.org/#/c/564692/ is the stable/queens backport of the previous bugfix from Michael.

Comment 3 Michael Henkel 2018-05-15 16:40:20 UTC
I checked and the patch is not applied.

Here the tripleoclient vervsion:
(undercloud) [stack@osp13 tripleo-heat-templates]$ rpm -qa |grep tripleoclient
python-tripleoclient-9.2.1-3.el7ost.noarch

Complete list of rpms:

https://pastebin.com/AhuXPCSV

Comment 5 Alex Schultz 2018-05-29 18:16:38 UTC
Increasing this to high as this affects 3rd party composable roles.

Comment 7 Wojciech Dec 2018-05-29 18:26:02 UTC
This patch is also not applied in the latest OSPD13-beta RPM:

(undercloud) [stack@tb12-director tripleoclient]$ rpm -qa |grep tripleoclient
python-tripleoclient-9.2.1-5.el7ost.noarch

Comment 13 Artem Hrechanychenko 2018-06-01 15:51:15 UTC
VERIFIED

puddle-id - 2018-05-29.2

Comment 14 Bartosz Kupidura 2018-06-20 19:21:11 UTC
Hey,
So looks like https://review.openstack.org/#/c/534337/ fix problem only partially.

During `openstack undercloud install`, in swift we create container named `overcloud`.

If we patch tripleO with #534337, and deploy stack named `overcloud` everything will work as expected (no error during validation).

But if we change stack name to ex. `overcloud{random_suffix}` deployment will fail with `ERROR: The Resource Type (...) could not be found`.

From my investigation (very brief code review) it fails in `_deploy_tripleo_heat_templates`

```
plan_management.create_plan_from_templates(
                self.clients, parsed_args.stack, tht_root,
                parsed_args.roles_file, generate_passwords,
                parsed_args.plan_environment_file,
                parsed_args.networks_file)
```

Comment 15 Alex Schultz 2018-06-20 22:24:48 UTC
Bartosz, please open up a new bug with the reproducing details and we'll try and figure out what's going wrong.  Thanks.

Comment 17 errata-xmlrpc 2018-06-27 13:56:23 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/RHEA-2018:2086


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