Merge "Make get-occ-config.sh support custom roles"
[apex-tripleo-heat-templates.git] / puppet / blockstorage-role.yaml
index a66ea08..36587a4 100644 (file)
@@ -66,6 +66,7 @@ parameters:
     constraints:
     - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
   CloudDomain:
+    default: 'localdomain'
     type: string
     description: >
       The DNS domain used for the hosts. This should match the dhcp_domain
@@ -96,12 +97,6 @@ parameters:
     type: string
     description: Command which will be run whenever configuration data changes
     default: os-refresh-config --timeout 14400
-  LoggingSources:
-    type: json
-    default: []
-  LoggingGroups:
-    type: comma_delimited_list
-    default: []
 
 resources:
   BlockStorage:
@@ -222,6 +217,96 @@ resources:
       ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
       ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
 
+  NetHostMap:
+    type: OS::Heat::Value
+    properties:
+      type: json
+      value:
+        external:
+          fqdn:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - external
+              - {get_param: CloudDomain}
+          short:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - external
+        internal_api:
+          fqdn:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - internalapi
+              - {get_param: CloudDomain}
+          short:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - internalapi
+        storage:
+          fqdn:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - storage
+              - {get_param: CloudDomain}
+          short:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - storage
+        storage_mgmt:
+          fqdn:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - storagemgmt
+              - {get_param: CloudDomain}
+          short:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - storagemgmt
+        tenant:
+          fqdn:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - tenant
+              - {get_param: CloudDomain}
+          short:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - tenant
+        management:
+          fqdn:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - management
+              - {get_param: CloudDomain}
+          short:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - management
+        ctlplane:
+          fqdn:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - ctlplane
+              - {get_param: CloudDomain}
+          short:
+            list_join:
+            - '.'
+            - - {get_attr: [BlockStorage, name]}
+              - ctlplane
+
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
     properties:
@@ -244,41 +329,39 @@ resources:
   BlockStorageConfig:
     type: OS::Heat::StructuredConfig
     properties:
-      group: os-apply-config
+      group: hiera
       config:
-        hiera:
-          hierarchy:
-            - '"%{::uuid}"'
-            - heat_config_%{::deploy_config_name}
-            - volume_extraconfig
-            - extraconfig
-            - service_names
-            - service_configs
-            - volume
-            - bootstrap_node # provided by allNodesConfig
-            - all_nodes # provided by allNodesConfig
-            - vip_data # provided by allNodesConfig
-            - '"%{::osfamily}"'
-          merge_behavior: deeper
-          datafiles:
-            service_names:
-              mapped_data:
-                service_names: {get_param: ServiceNames}
-                sensu::subscriptions: {get_param: MonitoringSubscriptions}
-            service_configs:
-              mapped_data:
-                map_replace:
-                  - {get_param: ServiceConfigSettings}
-                  - values: {get_attr: [NetIpMap, net_ip_map]}
-            volume_extraconfig:
-              mapped_data: {get_param: BlockStorageExtraConfig}
-            extraconfig:
-              mapped_data: {get_param: ExtraConfig}
-            volume:
-              mapped_data:
-                tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
-                tripleo::profile::base::logging::fluentd::fluentd_sources: {get_param: LoggingSources}
-                tripleo::profile::base::logging::fluentd::fluentd_groups: {get_param: LoggingGroups}
+        hierarchy:
+          - '"%{::uuid}"'
+          - heat_config_%{::deploy_config_name}
+          - volume_extraconfig
+          - extraconfig
+          - service_names
+          - service_configs
+          - volume
+          - bootstrap_node # provided by allNodesConfig
+          - all_nodes # provided by allNodesConfig
+          - vip_data # provided by allNodesConfig
+          - '"%{::osfamily}"'
+        merge_behavior: deeper
+        datafiles:
+          service_names:
+            service_names: {get_param: ServiceNames}
+            sensu::subscriptions: {get_param: MonitoringSubscriptions}
+          service_configs:
+            map_replace:
+              - {get_param: ServiceConfigSettings}
+              - values: {get_attr: [NetIpMap, net_ip_map]}
+          volume_extraconfig: {get_param: BlockStorageExtraConfig}
+          extraconfig: {get_param: ExtraConfig}
+          volume:
+            tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
+            fqdn_internal_api: {get_attr: [NetHostMap, value, internal_api, fqdn]}
+            fqdn_storage: {get_attr: [NetHostMap, value, storage, fqdn]}
+            fqdn_storage_mgmt: {get_attr: [NetHostMap, value, storage_mgmt, fqdn]}
+            fqdn_tenant: {get_attr: [NetHostMap, value, tenant, fqdn]}
+            fqdn_management: {get_attr: [NetHostMap, value, management, fqdn]}
+            fqdn_ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]}
 
   # Resource for site-specific injection of root certificate
   NodeTLSCAData:
@@ -315,6 +398,16 @@ outputs:
   hostname:
     description: Hostname of the server
     value: {get_attr: [BlockStorage, name]}
+  hostname_map:
+    description: Mapping of network names to hostnames
+    value:
+      external: {get_attr: [NetHostMap, value, external, fqdn]}
+      internal_api: {get_attr: [NetHostMap, value, internal_api, fqdn]}
+      storage: {get_attr: [NetHostMap, value, storage, fqdn]}
+      storage_mgmt: {get_attr: [NetHostMap, value, storage_mgmt, fqdn]}
+      tenant: {get_attr: [NetHostMap, value, tenant, fqdn]}
+      management: {get_attr: [NetHostMap, value, management, fqdn]}
+      ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]}
   hosts_entry:
     value:
       str_replace:
@@ -332,47 +425,19 @@ outputs:
           DOMAIN: {get_param: CloudDomain}
           PRIMARYHOST: {get_attr: [BlockStorage, name]}
           EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
-          EXTERNALHOST:
-            list_join:
-            - '.'
-            - - {get_attr: [BlockStorage, name]}
-              - external
+          EXTERNALHOST: {get_attr: [NetHostMap, value, external, short]}
           INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
-          INTERNAL_APIHOST:
-            list_join:
-            - '.'
-            - - {get_attr: [BlockStorage, name]}
-              - internalapi
+          INTERNAL_APIHOST: {get_attr: [NetHostMap, value, internal_api, short]}
           STORAGEIP: {get_attr: [StoragePort, ip_address]}
-          STORAGEHOST:
-            list_join:
-            - '.'
-            - - {get_attr: [BlockStorage, name]}
-              - storage
+          STORAGEHOST: {get_attr: [NetHostMap, value, storage, short]}
           STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
-          STORAGE_MGMTHOST:
-            list_join:
-            - '.'
-            - - {get_attr: [BlockStorage, name]}
-              - storagemgmt
+          STORAGE_MGMTHOST: {get_attr: [NetHostMap, value, storage_mgmt, short]}
           TENANTIP: {get_attr: [TenantPort, ip_address]}
-          TENANTHOST:
-            list_join:
-            - '.'
-            - - {get_attr: [BlockStorage, name]}
-              - tenant
+          TENANTHOST: {get_attr: [NetHostMap, value, tenant, short]}
           MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
-          MANAGEMENTHOST:
-            list_join:
-            - '.'
-            - - {get_attr: [BlockStorage, name]}
-              - management
+          MANAGEMENTHOST: {get_attr: [NetHostMap, value, management, short]}
           CTLPLANEIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
-          CTLPLANEHOST:
-            list_join:
-            - '.'
-            - - {get_attr: [BlockStorage, name]}
-              - ctlplane
+          CTLPLANEHOST: {get_attr: [NetHostMap, value, ctlplane, short]}
   nova_server_resource:
     description: Heat resource handle for the block storage server
     value: