upgrades/validation: only run validation when services exist
[apex-tripleo-heat-templates.git] / overcloud.j2.yaml
index 4a3e4cd..bbb5bae 100644 (file)
@@ -243,6 +243,12 @@ resources:
       NetIpMap: {get_attr: [VipMap, net_ip_map]}
       ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
 
+  EndpointMapData:
+    type: OS::Heat::Value
+    properties:
+      type: json
+      value: {get_attr: [EndpointMap, endpoint_map]}
+
   # Jinja loop for Role in roles_data.yaml
 {% for role in roles %}
   # Resources generated for {{role.name}} Role
@@ -591,38 +597,26 @@ resources:
       - UpdateWorkflow
 {% for role in roles %}
       - {{role.name}}AllNodesValidationDeployment
-{% endfor %}
-    properties:
-{% for role in roles %}
-      servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
-{% endfor %}
-
-  # Upgrade steps for all roles
-  AllNodesUpgradeSteps:
-    type: OS::TripleO::UpgradeSteps
-    depends_on:
-{% for role in roles %}
-      - {{role.name}}AllNodesDeployment
 {% endfor %}
     properties:
       servers:
 {% for role in roles %}
         {{role.name}}: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
 {% endfor %}
-      role_data:
-{% for role in roles %}
-        {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]}
-{% endfor %}
 
   # Post deployment steps for all roles
   AllNodesDeploySteps:
     type: OS::TripleO::PostDeploySteps
-    depends_on: AllNodesUpgradeSteps
+    depends_on:
+{% for role in roles %}
+      - {{role.name}}AllNodesDeployment
+{% endfor %}
     properties:
       servers:
 {% for role in roles %}
         {{role.name}}: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
 {% endfor %}
+      EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
       role_data:
 {% for role in roles %}
         {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data]}
@@ -634,7 +628,7 @@ outputs:
     value: true
   KeystoneURL:
     description: URL for the Overcloud Keystone service
-    value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
+    value: {get_attr: [EndpointMapData, value, KeystonePublic, uri]}
   KeystoneAdminVip:
     description: Keystone Admin VIP endpoint
     value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystoneAdminApiNetwork]}]}
@@ -643,7 +637,7 @@ outputs:
       Mapping of the resources with the needed info for their endpoints.
       This includes the protocol used, the IP, port and also a full
       representation of the URI.
-    value: {get_attr: [EndpointMap, endpoint_map]}
+    value: {get_attr: [EndpointMapData, value]}
   HostsEntry:
     description: |
       The content that should be appended to your /etc/hosts if you want to get