Description of problem: Service mappings defined in environment file are not getting detected Version-Release number of selected component (if applicable): How reproducible: Consistently reproducible Steps to Reproduce: 1. Deploy 'RHOSP 15' undercloud and overcloud. 2. Introduce two new heat resources/services, add them to env file trilio_env.yaml resource_registry: OS::TripleO::Services::TrilioDatamover: docker/services/trilio-datamover.yaml OS::TripleO::Services::TrilioDatamoverApi: docker/services/trilio-datamover-api.yaml 3. Change roles_data to add these services to a role. 4. Update overcloud with OpenStack overcloud deploy command with additional environment file. Overcloud update fails, with resource type could not found error. Command: openstack overcloud deploy --templates \ --libvirt-type qemu \ --ntp-server 172.172.3.201 \ -e /home/stack/templates/node-info.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e /home/stack/openstack-tripleo-heat-templates/environments/ssl/enable-tls.yaml \ -e /home/stack/openstack-tripleo-heat-templates/environments/ssl/inject-trust-anchor.yaml \ -e /home/stack/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml \ -e /home/stack/shyam/triliovault-cfg-scripts/redhat-director-scripts/trilio_env.yaml \ -r /home/stack/shyam/triliovault-cfg-scripts/redhat-director-scripts/roles_data.yaml \ --log-file overcloud_deployment_88.log Actual Result: Newly added service mappings are not getting detected and hence stack validation is failing. Expected Result: New services should be mapped to heat resources and overcloud update should work fine. Environment: RHOSP 15 on rhel8 Additional info: Stack trace/logs: Execption====================================================================================== (undercloud) [stack@undercloudstein redhat-director-scripts]$ ./trilio-deploy.sh Removing the current plan files Uploading new plan files Temporary Swift GET/PUT URL parameters have successfully been updated. Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found. Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 559, in get_class_to_instantiate resource_name=resource_name) File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 538, in get_resource_info name=resource_type) heat.common.exception.EntityNotFound: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/heat/common/context.py", line 410, in wrapped return func(self, ctx, *args, **kwargs) File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 1315, in validate_template result.update(stack.get_nested_parameters(filter_parameter)) File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters params.update(nested.get_nested_parameters(filter_func)) File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters params.update(nested.get_nested_parameters(filter_func)) File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1095, in get_nested_parameters for name, rsrc in six.iteritems(self.resources): File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 318, in resources self._resources = self._resources_for_defn(self.defn) File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in _resources_for_defn for name in stack_defn.enabled_rsrc_names() File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in <dictcomp> for name in stack_defn.enabled_rsrc_names() File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 174, in __new__ resource_name=name) File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate raise exception.StackValidationFailed(message=six.text_type(exc)) heat.common.exception.StackValidationFailed: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found. {'result': 'Failure caused by error in tasks: notify_zaqar\n\n notify_zaqar [task_ex_id=5810deb7-259f-4d10-b3a4-b3e74c752f53] -> Workflow failed due to message status. Status:FAILED Message:Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 559, in get_class_to_instantiate\n resource_name=resource_name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 538, in get_resource_info\n name=resource_type)\n\nheat.common.exception.EntityNotFound: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n\nDuring handling of the above exception, another exception occurred:\n\n\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/common/context.py", line 410, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 1315, in validate_template\n result.update(stack.get_nested_parameters(filter_parameter))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1095, in get_nested_parameters\n for name, rsrc in six.iteritems(self.resources):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 318, in resources\n self._resources = self._resources_for_defn(self.defn)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in _resources_for_defn\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in <dictcomp>\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 174, in __new__\n resource_name=name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate\n raise exception.StackValidationFailed(message=six.text_type(exc))\n\nheat.common.exception.StackValidationFailed: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n [wf_ex_id=7b4edd20-df4d-49cf-915c-12bab21d79b6, idx=0]: Workflow failed due to message status. Status:FAILED Message:Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 559, in get_class_to_instantiate\n resource_name=resource_name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 538, in get_resource_info\n name=resource_type)\n\nheat.common.exception.EntityNotFound: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n\nDuring handling of the above exception, another exception occurred:\n\n\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/common/context.py", line 410, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 1315, in validate_template\n result.update(stack.get_nested_parameters(filter_parameter))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1095, in get_nested_parameters\n for name, rsrc in six.iteritems(self.resources):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 318, in resources\n self._resources = self._resources_for_defn(self.defn)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in _resources_for_defn\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in <dictcomp>\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 174, in __new__\n resource_name=name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate\n raise exception.StackValidationFailed(message=six.text_type(exc))\n\nheat.common.exception.StackValidationFailed: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n', 'swift_container': 'overcloud_ceph_ansible_fetch_dir', 'status': 'FAILED', 'message': 'Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 559, in get_class_to_instantiate\n resource_name=resource_name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 538, in get_resource_info\n name=resource_type)\n\nheat.common.exception.EntityNotFound: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n\nDuring handling of the above exception, another exception occurred:\n\n\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/common/context.py", line 410, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 1315, in validate_template\n result.update(stack.get_nested_parameters(filter_parameter))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1095, in get_nested_parameters\n for name, rsrc in six.iteritems(self.resources):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 318, in resources\n self._resources = self._resources_for_defn(self.defn)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in _resources_for_defn\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in <dictcomp>\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 174, in __new__\n resource_name=name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate\n raise exception.StackValidationFailed(message=six.text_type(exc))\n\nheat.common.exception.StackValidationFailed: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n'} Exception updating plan: {'result': 'Failure caused by error in tasks: notify_zaqar\n\n notify_zaqar [task_ex_id=5810deb7-259f-4d10-b3a4-b3e74c752f53] -> Workflow failed due to message status. Status:FAILED Message:Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 559, in get_class_to_instantiate\n resource_name=resource_name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 538, in get_resource_info\n name=resource_type)\n\nheat.common.exception.EntityNotFound: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n\nDuring handling of the above exception, another exception occurred:\n\n\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/common/context.py", line 410, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 1315, in validate_template\n result.update(stack.get_nested_parameters(filter_parameter))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1095, in get_nested_parameters\n for name, rsrc in six.iteritems(self.resources):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 318, in resources\n self._resources = self._resources_for_defn(self.defn)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in _resources_for_defn\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in <dictcomp>\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 174, in __new__\n resource_name=name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate\n raise exception.StackValidationFailed(message=six.text_type(exc))\n\nheat.common.exception.StackValidationFailed: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n [wf_ex_id=7b4edd20-df4d-49cf-915c-12bab21d79b6, idx=0]: Workflow failed due to message status. Status:FAILED Message:Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 559, in get_class_to_instantiate\n resource_name=resource_name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 538, in get_resource_info\n name=resource_type)\n\nheat.common.exception.EntityNotFound: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n\nDuring handling of the above exception, another exception occurred:\n\n\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/common/context.py", line 410, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 1315, in validate_template\n result.update(stack.get_nested_parameters(filter_parameter))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1095, in get_nested_parameters\n for name, rsrc in six.iteritems(self.resources):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 318, in resources\n self._resources = self._resources_for_defn(self.defn)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in _resources_for_defn\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in <dictcomp>\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 174, in __new__\n resource_name=name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate\n raise exception.StackValidationFailed(message=six.text_type(exc))\n\nheat.common.exception.StackValidationFailed: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n', 'swift_container': 'overcloud_ceph_ansible_fetch_dir', 'status': 'FAILED', 'message': 'Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 559, in get_class_to_instantiate\n resource_name=resource_name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 538, in get_resource_info\n name=resource_type)\n\nheat.common.exception.EntityNotFound: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n\n\nDuring handling of the above exception, another exception occurred:\n\n\nTraceback (most recent call last):\n\n File "/usr/lib/python3.6/site-packages/heat/common/context.py", line 410, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 1315, in validate_template\n result.update(stack.get_nested_parameters(filter_parameter))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1113, in get_nested_parameters\n params.update(nested.get_nested_parameters(filter_func))\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 1095, in get_nested_parameters\n for name, rsrc in six.iteritems(self.resources):\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 318, in resources\n self._resources = self._resources_for_defn(self.defn)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in _resources_for_defn\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 312, in <dictcomp>\n for name in stack_defn.enabled_rsrc_names()\n\n File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 174, in __new__\n resource_name=name)\n\n File "/usr/lib/python3.6/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate\n raise exception.StackValidationFailed(message=six.text_type(exc))\n\nheat.common.exception.StackValidationFailed: The Resource Type (OS::TripleO::Services::TrilioDatamoverApi) could not be found.\n'} sys:1: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('172.172.3.62', 60824), raddr=('172.172.3.62', 13808)> sys:1: ResourceWarning: unclosed <ssl.SSLSocket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('172.172.3.62', 56458), raddr=('172.172.3.62', 13000)> sys:1: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('172.172.3.62', 42572), raddr=('172.172.3.62', 13004)> sys:1: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('172.172.3.62', 57022), raddr=('172.172.3.62', 13989)> (undercloud) [stack@undercloudstein redhat-director-scripts]$ ====================================================================================
*** This bug has been marked as a duplicate of bug 1790894 ***