Merge "Template param for what command occ runs"
[apex-tripleo-heat-templates.git] / overcloud.yaml
index 145feda..11ea1bd 100644 (file)
@@ -20,38 +20,28 @@ parameters:
     description: The password for the aodh services.
     type: string
     hidden: true
-  # This has to be an UUID so for now we generate it outside the template
-  CephClusterFSID:
-    default: ''
+  CeilometerBackend:
+    default: 'mongodb'
+    description: The ceilometer backend type.
     type: string
-    description: The Ceph cluster FSID. Must be a UUID.
-  CephMonKey:
-    default: ''
-    description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
+  CeilometerMeteringSecret:
+    description: Secret shared by the ceilometer services.
     type: string
     hidden: true
-  CephAdminKey:
-    default: ''
-    description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
+  CeilometerPassword:
+    description: The password for the ceilometer service account.
     type: string
     hidden: true
+  CeilometerMeterDispatcher:
+    default: 'database'
+    description: Dispatcher to process meter data
+    type: string
+    constraints:
+    - allowed_values: ['gnocchi', 'database']
   CinderEnableNfsBackend:
     default: false
     description: Whether to enable or not the NFS backend for Cinder
     type: boolean
-  CephClientKey:
-    default: ''
-    description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. Currently only used for external Ceph deployments to create the openstack user keyring.
-    type: string
-    hidden: true
-  CephExternalMonHost:
-    default: ''
-    type: string
-    description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
-  CinderEnableIscsiBackend:
-    default: true
-    description: Whether to enable or not the Iscsi backend for Cinder
-    type: boolean
   CinderEnableRbdBackend:
     default: false
     description: Whether to enable or not the Rbd backend for Cinder
@@ -203,11 +193,6 @@ parameters:
     description: The password for the nova service account, used by nova-api.
     type: string
     hidden: true
-  #TODO(ccamacho): Remove after landing Ntp in all roles
-  NtpServer:
-    default: ''
-    description: Comma-separated list of ntp servers
-    type: comma_delimited_list
   PublicVirtualFixedIPs:
     default: []
     description: >
@@ -240,14 +225,6 @@ parameters:
     description: The password for Redis
     type: string
     hidden: true
-  SnmpdReadonlyUserName:
-    default: ro_snmp_user
-    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
-    type: string
-  SnmpdReadonlyUserPassword:
-    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
-    type: string
-    hidden: true
   StorageVirtualFixedIPs:
     default: []
     description: >
@@ -260,10 +237,6 @@ parameters:
         Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
         [{'ip_address':'1.2.3.4'}]
     type: json
-  TimeZone:
-    default: 'UTC'
-    description: The timezone to be set on nodes.
-    type: string
   CloudDomain:
     default: 'localdomain'
     type: string
@@ -278,18 +251,6 @@ parameters:
     type: json
 
   # Controller-specific params
-  CinderLVMLoopDeviceSize:
-    default: 10280
-    description: The size of the loopback file used by the cinder LVM driver.
-    type: number
-  CinderPassword:
-    description: The password for the cinder service account, used by cinder-api.
-    type: string
-    hidden: true
-  CinderISCSIHelper:
-    default: lioadm
-    description: The iSCSI helper to use with cinder.
-    type: string
   ControllerCount:
     type: number
     default: 1
@@ -323,14 +284,6 @@ parameters:
     default: true
     description: Whether to use Galera instead of regular MariaDB.
     type: boolean
-  ControllerEnableCephStorage:
-    default: false
-    description: Whether to deploy Ceph Storage (OSD) on the Controller
-    type: boolean
-  ControllerEnableSwiftStorage:
-    default: true
-    description: Whether to enable Swift Storage on the Controller
-    type: boolean
   ControllerSchedulerHints:
     type: json
     description: Optional scheduler hints to pass to nova
@@ -422,10 +375,6 @@ parameters:
     description: A random string to be used as a salt when hashing to determine mappings in the ring.
     type: string
     hidden: true
-  SwiftMountCheck:
-    default: 'false'
-    description: Value of mount_check in Swift account/container/object -server.conf
-    type: boolean
   SwiftMinPartHours:
     type: number
     default: 1
@@ -521,6 +470,7 @@ parameters:
       CinderIscsiNetwork: storage
       GlanceApiNetwork: storage
       GlanceRegistryNetwork: internal_api
+      IronicApiNetwork: internal_api
       KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
       KeystonePublicApiNetwork: internal_api
       NeutronApiNetwork: internal_api
@@ -549,9 +499,12 @@ parameters:
 
   ControllerServices:
     default:
+      - OS::TripleO::Services::CephMon
+      - OS::TripleO::Services::CephExternal
       - OS::TripleO::Services::CinderApi
       - OS::TripleO::Services::CinderScheduler
       - OS::TripleO::Services::CinderVolume
+      - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Keystone
       - OS::TripleO::Services::GlanceApi
       - OS::TripleO::Services::GlanceRegistry
@@ -569,7 +522,6 @@ parameters:
       - OS::TripleO::Services::HAproxy
       - OS::TripleO::Services::Keepalived
       - OS::TripleO::Services::Memcached
-      - OS::TripleO::Services::SwiftProxy
       - OS::TripleO::Services::Redis
       - OS::TripleO::Services::NovaConductor
       - OS::TripleO::Services::MongoDb
@@ -578,11 +530,10 @@ parameters:
       - OS::TripleO::Services::NovaConsoleauth
       - OS::TripleO::Services::NovaVncproxy
       - OS::TripleO::Services::Ntp
-      - OS::TripleO::Services::CeilometerApi
-      - OS::TripleO::Services::CeilometerCollector
-      - OS::TripleO::Services::CeilometerExpirer
-      - OS::TripleO::Services::CeilometerAgentCentral
-      - OS::TripleO::Services::CeilometerAgentNotification
+      - OS::TripleO::Services::SwiftProxy
+      - OS::TripleO::Services::SwiftStorage
+      - OS::TripleO::Services::Snmp
+      - OS::TripleO::Services::Timezone
     description: A list of service resources (configured in the Heat
                  resource_registry) which represent nested stacks
                  for each service that should get installed on the Controllers.
@@ -590,8 +541,14 @@ parameters:
 
   ComputeServices:
     default:
-      - OS::TripleO::Services::NovaCompute
+      - OS::TripleO::Services::CephClient
+      - OS::TripleO::Services::CephExternal
+      - OS::TripleO::Services::Timezone
       - OS::TripleO::Services::Ntp
+      - OS::TripleO::Services::Snmp
+      - OS::TripleO::Services::NovaCompute
+      - OS::TripleO::Services::NovaLibvirt
+      - OS::TripleO::Services::Kernel
     description: A list of service resources (configured in the Heat
                  resource_registry) which represent nested stacks
                  for each service that should get installed on the Compute Nodes.
@@ -620,7 +577,17 @@ parameters:
     type: json
     description: Optional scheduler hints to pass to nova
     default: {}
-
+  BlockStorageServices:
+    default:
+      - OS::TripleO::Services::CinderVolume
+      - OS::TripleO::Services::Kernel
+      - OS::TripleO::Services::Ntp
+      - OS::TripleO::Services::Timezone
+      - OS::TripleO::Services::Snmp
+    description: A list of service resources (configured in the Heat
+                 resource_registry) which represent nested stacks
+                 for each service that should get installed on the BlockStorage nodes.
+    type: comma_delimited_list
 
 # Object storage specific parameters
   ObjectStorageCount:
@@ -647,7 +614,11 @@ parameters:
     default: {}
   ObjectStorageServices:
     default:
+      - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
+      - OS::TripleO::Services::SwiftStorage
+      - OS::TripleO::Services::Snmp
+      - OS::TripleO::Services::Timezone
     description: A list of service resources (configured in the Heat
                  resource_registry) which represent nested stacks
                  for each service that should get installed on the ObjectStorage nodes.
@@ -680,7 +651,10 @@ parameters:
     default: {}
   CephStorageServices:
     default:
+      - OS::TripleO::Services::CephOSD
+      - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
+      - OS::TripleO::Services::Timezone
     description: A list of service resources (configured in the Heat
                  resource_registry) which represent nested stacks
                  for each service that should get installed on the CephStorage nodes.
@@ -792,6 +766,7 @@ resources:
       GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
       GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
       HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
+      IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
       KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
       KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
       MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
@@ -803,7 +778,6 @@ resources:
 
   ControllerServiceChain:
     type: OS::TripleO::Services
-    depends_on: Networks
     properties:
       Services: {get_param: ControllerServices}
       EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
@@ -819,6 +793,10 @@ resources:
         properties:
           AdminPassword: {get_param: AdminPassword}
           AodhPassword: {get_param: AodhPassword}
+          CeilometerBackend: {get_param: CeilometerBackend}
+          CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
+          CeilometerPassword: {get_param: CeilometerPassword}
+          CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
           CloudDomain: {get_param: CloudDomain}
           ControlVirtualInterface: {get_param: ControlVirtualInterface}
           controllerExtraConfig: {get_param: controllerExtraConfig}
@@ -828,8 +806,6 @@ resources:
           ManageFirewall: {get_param: ManageFirewall}
           PurgeFirewallRules: {get_param: PurgeFirewallRules}
           EnableGalera: {get_param: EnableGalera}
-          EnableCephStorage: {get_param: ControllerEnableCephStorage}
-          EnableSwiftStorage: {get_param: ControllerEnableSwiftStorage}
           ExtraConfig: {get_param: ExtraConfig}
           FencingConfig: {get_param: FencingConfig}
           Flavor: {get_param: OvercloudControlFlavor}
@@ -863,32 +839,15 @@ resources:
           RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
           RabbitClientPort: {get_param: RabbitClientPort}
           RedisPassword: {get_param: RedisPassword}
-          SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
-          SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
           RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
           RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
           SwiftHashSuffix: {get_param: SwiftHashSuffix}
-          SwiftMountCheck: {get_param: SwiftMountCheck}
           SwiftMinPartHours: {get_param: SwiftMinPartHours}
           SwiftPartPower: {get_param: SwiftPartPower}
           SwiftReplicas: { get_param: SwiftReplicas}
-          TimeZone: {get_param: TimeZone}
-          VirtualIP: {get_attr: [VipMap, net_ip_map, ctlplane]} # deprecated. Use per service VIP settings instead now.
-          PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]}
           ServiceNetMap: {get_param: ServiceNetMap}
           EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
-          CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
-          AodhApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
-          GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
-          CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
-          HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
-          HeatApiVirtualIPUri: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
-          NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
-          SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
           MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
-          NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
-          NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
-          SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           Hostname:
             str_replace:
@@ -898,9 +857,10 @@ resources:
           NodeIndex: '%index%'
           ServerMetadata: {get_param: ServerMetadata}
           SchedulerHints: {get_param: ControllerSchedulerHints}
-          ServiceConfigSettings: {get_attr: [ControllerServiceChain, config_settings]}
+          ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
 
   ComputeServiceChain:
+
     type: OS::TripleO::Services
     properties:
       Services: {get_param: ComputeServices}
@@ -917,6 +877,8 @@ resources:
         properties:
           AdminPassword: {get_param: AdminPassword}
           CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
+          CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
+          CeilometerPassword: {get_param: CeilometerPassword}
           CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
           CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
           Debug: {get_param: Debug}
@@ -965,10 +927,7 @@ resources:
           RabbitUserName: {get_param: RabbitUserName}
           RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
           RabbitClientPort: {get_param: RabbitClientPort}
-          SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
-          SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
           ServiceNetMap: {get_param: ServiceNetMap}
-          TimeZone: {get_param: TimeZone}
           EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           Hostname:
@@ -980,8 +939,13 @@ resources:
           ServerMetadata: {get_param: ServerMetadata}
           SchedulerHints: {get_param: NovaComputeSchedulerHints}
           NodeIndex: '%index%'
-          ServiceConfigSettings: {get_attr: [ComputeServiceChain, config_settings]}
+          ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
 
+  BlockStorageServiceChain:
+    type: OS::TripleO::Services
+    properties:
+      Services: {get_param: BlockStorageServices}
+      EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
 
   BlockStorage:
     type: OS::Heat::ResourceGroup
@@ -992,23 +956,9 @@ resources:
       resource_def:
         type: OS::TripleO::BlockStorage
         properties:
-          Debug: {get_param: Debug}
           Image: {get_param: BlockStorageImage}
-          CinderISCSIHelper: {get_param: CinderISCSIHelper}
-          CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
-          # Purpose of the dedicated BlockStorage nodes should be to use their local LVM
-          CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
-          CinderPassword: {get_param: CinderPassword}
           KeyName: {get_param: KeyName}
           Flavor: {get_param: OvercloudBlockStorageFlavor}
-          VirtualIP: {get_attr: [VipMap, net_ip_map, ctlplane]}
-          GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
-          RabbitPassword: {get_param: RabbitPassword}
-          RabbitUserName: {get_param: RabbitUserName}
-          RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
-          RabbitClientPort: {get_param: RabbitClientPort}
-          TimeZone: {get_param: TimeZone}
-          NtpServer: {get_param: NtpServer}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           Hostname:
             str_replace:
@@ -1016,13 +966,13 @@ resources:
               params:
                 '%stackname%': {get_param: 'OS::stack_name'}
           ServiceNetMap: {get_param: ServiceNetMap}
-          EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           ExtraConfig: {get_param: ExtraConfig}
           BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
           CloudDomain: {get_param: CloudDomain}
           ServerMetadata: {get_param: ServerMetadata}
           SchedulerHints: {get_param: BlockStorageSchedulerHints}
           NodeIndex: '%index%'
+          ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
 
   ObjectStorageServiceChain:
     type: OS::TripleO::Services
@@ -1042,12 +992,10 @@ resources:
           KeyName: {get_param: KeyName}
           Flavor: {get_param: OvercloudSwiftStorageFlavor}
           HashSuffix: {get_param: SwiftHashSuffix}
-          MountCheck: {get_param: SwiftMountCheck}
           MinPartHours: {get_param: SwiftMinPartHours}
           PartPower: {get_param: SwiftPartPower}
           Image: {get_param: SwiftStorageImage}
           Replicas: { get_param: SwiftReplicas}
-          TimeZone: {get_param: TimeZone}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           ServiceNetMap: {get_param: ServiceNetMap}
           Hostname:
@@ -1061,7 +1009,7 @@ resources:
           ServerMetadata: {get_param: ServerMetadata}
           SchedulerHints: {get_param: ObjectStorageSchedulerHints}
           NodeIndex: '%index%'
-          ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, config_settings]}
+          ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
 
   CephStorageServiceChain:
     type: OS::TripleO::Services
@@ -1082,7 +1030,6 @@ resources:
           KeyName: {get_param: KeyName}
           Flavor: {get_param: OvercloudCephStorageFlavor}
           ServiceNetMap: {get_param: ServiceNetMap}
-          TimeZone: {get_param: TimeZone}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           Hostname:
             str_replace:
@@ -1095,7 +1042,7 @@ resources:
           ServerMetadata: {get_param: ServerMetadata}
           SchedulerHints: {get_param: CephStorageSchedulerHints}
           NodeIndex: '%index%'
-          ServiceConfigSettings: {get_attr: [CephStorageServiceChain, config_settings]}
+          ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
 
   ControllerIpListMap:
     type: OS::TripleO::Network::Ports::NetIpListMap
@@ -1138,6 +1085,9 @@ resources:
       keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
       keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
       sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
+      ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
+      ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
+      ceph_mon_node_names: {get_attr: [Controller, hostname]}
       DeployIdentifier: {get_param: DeployIdentifier}
       UpdateIdentifier: {get_param: UpdateIdentifier}
 
@@ -1261,6 +1211,7 @@ resources:
         public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
         internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
         sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
+        ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
         storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
         storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
 
@@ -1321,15 +1272,6 @@ resources:
 
   CephClusterConfig:
     type: OS::TripleO::CephClusterConfig::SoftwareConfig
-    properties:
-      ceph_storage_count: {get_param: CephStorageCount}
-      ceph_fsid: {get_param: CephClusterFSID}
-      ceph_mon_key: {get_param: CephMonKey}
-      ceph_admin_key: {get_param: CephAdminKey}
-      ceph_client_key: {get_param: CephClientKey}
-      ceph_external_mon_ips: {get_param: CephExternalMonHost}
-      ceph_mon_names: {get_attr: [Controller, hostname]}
-      ceph_mon_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
 
   ControllerAllNodesDeployment:
     type: OS::Heat::StructuredDeployments
@@ -1455,54 +1397,35 @@ resources:
     depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
     properties:
       servers: {get_attr: [Controller, attributes, nova_server_resource]}
-      NodeConfigIdentifiers:
-        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
-        controller_config: {get_attr: [Controller, attributes, config_identifier]}
-        deployment_identifier: {get_param: DeployIdentifier}
-      StepConfig: {get_attr: [ControllerServiceChain, step_config]}
+      RoleData: {get_attr: [ControllerServiceChain, role_data]}
 
   ComputeNodesPostDeployment:
     type: OS::TripleO::ComputePostDeployment
     depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
     properties:
       servers: {get_attr: [Compute, attributes, nova_server_resource]}
-      NodeConfigIdentifiers:
-        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
-        compute_config: {get_attr: [Compute, attributes, config_identifier]}
-        deployment_identifier: {get_param: DeployIdentifier}
-      StepConfig: {get_attr: [ComputeServiceChain, step_config]}
+      RoleData: {get_attr: [ComputeServiceChain, role_data]}
 
   ObjectStorageNodesPostDeployment:
     type: OS::TripleO::ObjectStoragePostDeployment
     depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
     properties:
       servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
-      NodeConfigIdentifiers:
-        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
-        objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
-        deployment_identifier: {get_param: DeployIdentifier}
-      StepConfig: {get_attr: [ObjectStorageServiceChain, step_config]}
+      RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
 
   BlockStorageNodesPostDeployment:
     type: OS::TripleO::BlockStoragePostDeployment
     depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
     properties:
       servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
-      NodeConfigIdentifiers:
-        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
-        blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]}
-        deployment_identifier: {get_param: DeployIdentifier}
+      RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
 
   CephStorageNodesPostDeployment:
     type: OS::TripleO::CephStoragePostDeployment
     depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
     properties:
       servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
-      NodeConfigIdentifiers:
-        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
-        cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
-        deployment_identifier: {get_param: DeployIdentifier}
-      StepConfig: {get_attr: [CephStorageServiceChain, step_config]}
+      RoleData: {get_attr: [CephStorageServiceChain, role_data]}
 
 outputs:
   KeystoneURL:
@@ -1532,6 +1455,9 @@ outputs:
   HeatInternalVip:
     description: VIP for Heat API internal endpoint
     value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
+  IronicInternalVip:
+    description: VIP for Ironic API internal endpoint
+    value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
   KeystoneInternalVip:
     description: VIP for Keystone API internal endpoint
     value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}