This article describes the OSP13 + Contrail Networking 5.1.0 deployment failure with the error "The Resource Type (OS::TripleO::Services::ContrailCertmongerUser) could not be found" and indicates that re-installing the undercloud will resolve the error.
The following error is observed:
(undercloud) [stack@hostname ~]$ openstack overcloud deploy --templates ~/tripleo-heat-templates -e tripleo-heat-templates/overcloud_images.yaml -e ~/tripleo-heat-templates/environments/network-isolation.yaml -e ~/tripleo-heat-templates/environments/contrail/contrail-plugins.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: f20f4979-8f1f-4dc3-b3c0-a4246bd648a6 Waiting for messages on queue 'tripleo' with no timeout. Creating Swift container to store the plan Creating plan from template files in: /tmp/tripleoclient-nnTYvN/tripleo-heat-templates Started Mistral Workflow tripleo.plan_management.v1.create_deployment_plan. Execution ID: 91db1b46-eeee-434a-b072-8609b89a9524 Error validating environment for plan overcloud: ERROR: The Resource Type (OS::TripleO::Services::ContrailCertmongerUser) could not be found. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/heat/common/context.py", line 409, in wrapped return func(self, ctx, *args, **kwargs) File "/usr/lib/python2.7/site-packages/heat/engine/service.py", line 1281, in validate_template result.update(stack.get_nested_parameters(filter_parameter)) File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 1083, in get_nested_parameters params.update(nested.get_nested_parameters(filter_func)) File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 1083, in get_nested_parameters params.update(nested.get_nested_parameters(filter_func)) File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 1065, in get_nested_parameters for name, rsrc in six.iteritems(self.resources): File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 316, in resources self._resources = self._resources_for_defn(self.defn) File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 310, in _resources_for_defn for name in stack_defn.enabled_rsrc_names() File "/usr/lib/python2.7/site-packages/heat/engine/stack.py", line 310, in <dictcomp> for name in stack_defn.enabled_rsrc_names() File "/usr/lib/python2.7/site-packages/heat/engine/resource.py", line 173, in __new__ resource_name=name) File "/usr/lib/python2.7/site-packages/heat/engine/environment.py", line 561, in get_class_to_instantiate raise exception.StackValidationFailed(message=six.text_type(exc)) StackValidationFailed: The Resource Type (OS::TripleO::Services::ContrailCertmongerUser) could not be found.
This error occurs because the undercloud is missing the overcloud swift object.
Re-installation of the undercloud by using the following command will create the swift object and the deployment will then be successful:
openstack undercloud install
For more information about installing the undercloud and the post-installation configuration, see Setting Up the Undercloud .