Bug 1577536 - [OSP13] Path to composable services resource in environment file is ignored
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: 2023-09-14 04:27 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:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 564692 0 None MERGED Composable role and service fails workflow 2020-10-19 20:26:04 UTC
Red Hat Product Errata RHEA-2018:2086 0 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

Comment 20 Red Hat Bugzilla 2023-09-14 04:27:57 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


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