Disable core dump for setuid programs
[apex-tripleo-heat-templates.git] / overcloud.j2.yaml
index dcce907..7b78011 100644 (file)
@@ -261,6 +261,18 @@ resources:
       EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
       DefaultPasswords: {get_attr: [DefaultPasswords, passwords]}
 
+  # Filter any null/None service_names which may be present due to mapping
+  # of services to OS::Heat::None
+  {{role.name}}ServiceNames:
+    type: OS::Heat::Value
+    depends_on: {{role.name}}ServiceChain
+    properties:
+      type: comma_delimited_list
+      value:
+        yaql:
+          expression: coalesce($.data, []).where($ != null)
+          data: {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
+
   {{role.name}}HostsDeployment:
     type: OS::Heat::StructuredDeployments
     properties:
@@ -311,7 +323,7 @@ resources:
       StorageMgmtIpList: {get_attr: [{{role.name}}, storage_mgmt_ip_address]}
       TenantIpList: {get_attr: [{{role.name}}, tenant_ip_address]}
       ManagementIpList: {get_attr: [{{role.name}}, management_ip_address]}
-      EnabledServices: {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
+      EnabledServices: {get_attr: [{{role.name}}ServiceNames, value]}
       ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map_lower]}
       ServiceHostnameList: {get_attr: [{{role.name}}, hostname]}
       NetworkHostnameMap:
@@ -367,8 +379,8 @@ resources:
                         {% for r in roles %}
                           - get_attr: [{{r.name}}ServiceChain, role_data, service_config_settings]
                         {% endfor %}
-                    services: {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
-          ServiceNames: {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
+                    services: {get_attr: [{{role.name}}ServiceNames, value]}
+          ServiceNames: {get_attr: [{{role.name}}ServiceNames, value]}
           MonitoringSubscriptions: {get_attr: [{{role.name}}ServiceChain, role_data, monitoring_subscriptions]}
           ServiceMetadataSettings: {get_attr: [{{role.name}}ServiceChain, role_data, service_metadata_settings]}
 {% endfor %}
@@ -402,7 +414,7 @@ resources:
         list_join:
           - ','
 {% for role in roles %}
-          - {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
+          - {get_attr: [{{role.name}}ServiceNames, value]}
 {% endfor %}
       logging_groups:
         yaql:
@@ -567,12 +579,24 @@ resources:
       PingTestIps:
         list_join:
         - ' '
-        - - {get_attr: [{{primary_role_name}}, resource.0.external_ip_address]}
-          - {get_attr: [{{primary_role_name}}, resource.0.internal_api_ip_address]}
-          - {get_attr: [{{primary_role_name}}, resource.0.storage_ip_address]}
-          - {get_attr: [{{primary_role_name}}, resource.0.storage_mgmt_ip_address]}
-          - {get_attr: [{{primary_role_name}}, resource.0.tenant_ip_address]}
-          - {get_attr: [{{primary_role_name}}, resource.0.management_ip_address]}
+        - - yaql:
+              expression: coalesce($.data, []).first(null)
+              data: {get_attr: [Controller, external_ip_address]}
+          - yaql:
+              expression: coalesce($.data, []).first(null)
+              data: {get_attr: [Controller, internal_api_ip_address]}
+          - yaql:
+              expression: coalesce($.data, []).first(null)
+              data: {get_attr: [Controller, storage_ip_address]}
+          - yaql:
+              expression: coalesce($.data, []).first(null)
+              data: {get_attr: [Controller, storage_mgmt_ip_address]}
+          - yaql:
+              expression: coalesce($.data, []).first(null)
+              data: {get_attr: [Controller, tenant_ip_address]}
+          - yaql:
+              expression: coalesce($.data, []).first(null)
+              data: {get_attr: [Controller, management_ip_address]}
 
   UpdateWorkflow:
     type: OS::TripleO::Tasks::UpdateWorkflow
@@ -616,6 +640,7 @@ resources:
 {% 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]}
@@ -651,7 +676,7 @@ outputs:
     description: The services enabled on each role
     value:
 {% for role in roles %}
-      {{role.name}}: {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
+      {{role.name}}: {get_attr: [{{role.name}}ServiceNames, value]}
 {% endfor %}
   RoleData:
     description: The configuration data associated with each role