Fix check of rpm-python.
[apex-tripleo-heat-templates.git] / overcloud.yaml
index c8fe671..b534deb 100644 (file)
@@ -16,6 +16,30 @@ parameters:
     default: overcloud
     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
     type: string
+  CloudNameInternal:
+    default: overcloud.internalapi.localdomain
+    description: >
+      The DNS name of this cloud's internal API endpoint. E.g.
+      'ci-overcloud.internalapi.tripleo.org'.
+    type: string
+  CloudNameStorage:
+    default: overcloud.storage.localdomain
+    description: >
+      The DNS name of this cloud's storage endpoint. E.g.
+      'ci-overcloud.storage.tripleo.org'.
+    type: string
+  CloudNameStorageManagement:
+    default: overcloud.storagemgmt.localdomain
+    description: >
+      The DNS name of this cloud's storage management endpoint. E.g.
+      'ci-overcloud.storagemgmt.tripleo.org'.
+    type: string
+  CloudNameManagement:
+    default: overcloud.management.localdomain
+    description: >
+      The DNS name of this cloud's storage management endpoint. E.g.
+      'ci-overcloud.management.tripleo.org'.
+    type: string
   ControlFixedIPs:
     default: []
     description: Should be used for arbitrary ips.
@@ -56,6 +80,12 @@ parameters:
         Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
         [{'ip_address':'1.2.3.4'}]
     type: json
+  RedisVirtualFixedIPs:
+    default: []
+    description: >
+        Control the IP allocation for the virtual IP used by Redis. E.g.
+        [{'ip_address':'1.2.3.4'}]
+    type: json
   CloudDomain:
     default: 'localdomain'
     type: string
@@ -85,11 +115,6 @@ parameters:
       may be implementation specific, e.g puppet hieradata.  Any role specific
       ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
     type: json
-  SwiftHashSuffix:
-    description: A random string to be used as a salt when hashing to determine mappings in the ring.
-    type: string
-    hidden: true
-
 
 # Compute-specific params
   ComputeCount:
@@ -109,9 +134,11 @@ parameters:
 
   ControllerServices:
     default:
+      - OS::TripleO::Services::CACerts
       - OS::TripleO::Services::CephMon
       - OS::TripleO::Services::CephExternal
       - OS::TripleO::Services::CinderApi
+      - OS::TripleO::Services::CinderBackup
       - OS::TripleO::Services::CinderScheduler
       - OS::TripleO::Services::CinderVolume
       - OS::TripleO::Services::Core
@@ -127,7 +154,7 @@ parameters:
       - OS::TripleO::Services::NeutronDhcpAgent
       - OS::TripleO::Services::NeutronL3Agent
       - OS::TripleO::Services::NeutronMetadataAgent
-      - OS::TripleO::Services::NeutronServer
+      - OS::TripleO::Services::NeutronApi
       - OS::TripleO::Services::NeutronCorePlugin
       - OS::TripleO::Services::NeutronOvsAgent
       - OS::TripleO::Services::RabbitMQ
@@ -166,6 +193,11 @@ parameters:
       - OS::TripleO::Services::AodhListener
       - OS::TripleO::Services::SaharaApi
       - OS::TripleO::Services::SaharaEngine
+      - OS::TripleO::Services::IronicApi
+      - OS::TripleO::Services::IronicConductor
+      - OS::TripleO::Services::NovaIronic
+      - OS::TripleO::Services::TripleoPackages
+      - OS::TripleO::Services::TripleoFirewall
     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.
@@ -173,6 +205,7 @@ parameters:
 
   ComputeServices:
     default:
+      - OS::TripleO::Services::CACerts
       - OS::TripleO::Services::CephClient
       - OS::TripleO::Services::CephExternal
       - OS::TripleO::Services::Timezone
@@ -186,6 +219,9 @@ parameters:
       - OS::TripleO::Services::ComputeCeilometerAgent
       - OS::TripleO::Services::ComputeNeutronL3Agent
       - OS::TripleO::Services::ComputeNeutronMetadataAgent
+      - OS::TripleO::Services::TripleoPackages
+      - OS::TripleO::Services::TripleoFirewall
+      - OS::TripleO::Services::NeutronSriovAgent
     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.
@@ -203,11 +239,14 @@ parameters:
     type: json
   BlockStorageServices:
     default:
+      - OS::TripleO::Services::CACerts
       - OS::TripleO::Services::CinderVolume
       - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
       - OS::TripleO::Services::Timezone
       - OS::TripleO::Services::Snmp
+      - OS::TripleO::Services::TripleoPackages
+      - OS::TripleO::Services::TripleoFirewall
     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.
@@ -225,12 +264,15 @@ parameters:
     type: json
   ObjectStorageServices:
     default:
+      - OS::TripleO::Services::CACerts
       - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
       - OS::TripleO::Services::SwiftStorage
       - OS::TripleO::Services::SwiftRingBuilder
       - OS::TripleO::Services::Snmp
       - OS::TripleO::Services::Timezone
+      - OS::TripleO::Services::TripleoPackages
+      - OS::TripleO::Services::TripleoFirewall
     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.
@@ -250,10 +292,13 @@ parameters:
     type: json
   CephStorageServices:
     default:
+      - OS::TripleO::Services::CACerts
       - OS::TripleO::Services::CephOSD
       - OS::TripleO::Services::Kernel
       - OS::TripleO::Services::Ntp
       - OS::TripleO::Services::Timezone
+      - OS::TripleO::Services::TripleoPackages
+      - OS::TripleO::Services::TripleoFirewall
     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.
@@ -360,7 +405,12 @@ resources:
   EndpointMap:
     type: OS::TripleO::EndpointMap
     properties:
-      CloudName: {get_param: CloudName}
+      CloudEndpoints:
+        external: {get_param: CloudName}
+        internal_api: {get_param: CloudNameInternal}
+        storage: {get_param: CloudNameStorage}
+        storage_mgmt: {get_param: CloudNameStorageManagement}
+        management: {get_param: CloudNameManagement}
       NetIpMap: {get_attr: [VipMap, net_ip_map]}
       ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
 
@@ -368,7 +418,9 @@ resources:
     type: OS::TripleO::Services
     properties:
       Services: {get_param: ControllerServices}
+      ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
       EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
+      DefaultPasswords: {get_attr: [DefaultPasswords, passwords]}
 
   Controller:
     type: OS::Heat::ResourceGroup
@@ -381,17 +433,12 @@ resources:
         properties:
           CloudDomain: {get_param: CloudDomain}
           controllerExtraConfig: {get_param: controllerExtraConfig}
-          HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
           HorizonSecret: {get_resource: HorizonSecret}
-          MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
-          MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
           PcsdPassword: {get_resource: PcsdPassword}
-          RabbitCookie: {get_attr: [RabbitCookie, value]}
           RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
           RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
           ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
           EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
-          MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, MysqlNetwork]}]}
           Hostname:
             str_replace:
               template: {get_param: ControllerHostnameFormat}
@@ -402,11 +449,12 @@ resources:
           ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
 
   ComputeServiceChain:
-
     type: OS::TripleO::Services
     properties:
       Services: {get_param: ComputeServices}
+      ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
       EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
+      DefaultPasswords: {get_attr: [DefaultPasswords, passwords]}
 
   Compute:
     type: OS::Heat::ResourceGroup
@@ -418,15 +466,8 @@ resources:
         type: OS::TripleO::Compute
         properties:
           CloudDomain: {get_param: CloudDomain}
-          GlanceHost: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GlanceApiNetwork]}]}
-          KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystoneAdminApiNetwork]}]}
-          KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystonePublicApiNetwork]}]}
           NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
           NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
-          # L3 HA and Failover is not relevant for Computes, should be removed
-          NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaApiNetwork]}]}
-          NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
-          RabbitHost: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, RabbitMqNetwork]}]}
           ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
           EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           Hostname:
@@ -442,7 +483,9 @@ resources:
     type: OS::TripleO::Services
     properties:
       Services: {get_param: BlockStorageServices}
+      ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
       EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
+      DefaultPasswords: {get_attr: [DefaultPasswords, passwords]}
 
   BlockStorage:
     type: OS::Heat::ResourceGroup
@@ -472,7 +515,9 @@ resources:
     type: OS::TripleO::Services
     properties:
       Services: {get_param: ObjectStorageServices}
+      ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
       EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
+      DefaultPasswords: {get_attr: [DefaultPasswords, passwords]}
 
   ObjectStorage:
     type: OS::Heat::ResourceGroup
@@ -483,7 +528,6 @@ resources:
       resource_def:
         type: OS::TripleO::ObjectStorage
         properties:
-          HashSuffix: {get_param: SwiftHashSuffix}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
           Hostname:
@@ -503,7 +547,9 @@ resources:
     type: OS::TripleO::Services
     properties:
       Services: {get_param: CephStorageServices}
+      ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
       EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
+      DefaultPasswords: {get_attr: [DefaultPasswords, passwords]}
 
   CephStorage:
     type: OS::Heat::ResourceGroup
@@ -593,17 +639,21 @@ resources:
     properties:
       length: 10
 
-  MysqlClusterUniquePart:
-    type: OS::Heat::RandomString
-    properties:
-      length: 10
-
   RabbitCookie:
     type: OS::Heat::RandomString
     properties:
       length: 20
       salt: {get_param: RabbitCookieSalt}
 
+  DefaultPasswords:
+    type: OS::TripleO::DefaultPasswords
+    properties:
+      DefaultMysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
+      DefaultRabbitCookie: {get_attr: [RabbitCookie, value]}
+      DefaultHeatAuthEncryptionKey: {get_attr: [HeatAuthEncryptionKey, value]}
+      DefaultPcsdPassword: {get_attr: [PcsdPassword, value]}
+      DefaultHorizonSecret: {get_attr: [HorizonSecret, value]}
+
   # creates the network architecture
   Networks:
     type: OS::TripleO::Network
@@ -626,6 +676,7 @@ resources:
       PortName: redis_virtual_ip
       NetworkName: {get_attr: [ServiceNetMap, service_net_map, RedisNetwork]}
       ServiceName: redis
+      FixedIPs: {get_param: RedisVirtualFixedIPs}
 
   # The public VIP is on the External net, falls back to ctlplane
   PublicVirtualIP:
@@ -796,6 +847,7 @@ resources:
           - {get_attr: [Controller, resource.0.storage_ip_address]}
           - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
           - {get_attr: [Controller, resource.0.tenant_ip_address]}
+          - {get_attr: [Controller, resource.0.management_ip_address]}
 
   ControllerAllNodesValidationDeployment:
     type: OS::Heat::StructuredDeployments