Merge "Move nova's kestone::auth parameters to API profile"
[apex-tripleo-heat-templates.git] / puppet / controller.yaml
index dfa63a9..816ce71 100644 (file)
@@ -93,26 +93,12 @@ parameters:
           ]
         }
     type: json
-  Flavor:
+  OvercloudControlFlavor:
     description: Flavor for control nodes to request when deploying.
+    default: baremetal
     type: string
     constraints:
       - custom_constraint: nova.flavor
-  GnocchiBackend:
-    default: file
-    description: The short name of the Gnocchi backend to use. Should be one
-      of swift, rbd, or file
-    type: string
-    constraints:
-    - allowed_values: ['swift', 'file', 'rbd']
-  GnocchiIndexerBackend:
-    default: 'mysql'
-    description: The short name of the Gnocchi indexer backend to use.
-    type: string
-  GnocchiPassword:
-    description: The password for the gnocchi service and db account.
-    type: string
-    hidden: true
   HAProxyStatsPassword:
     description: Password for HAProxy stats endpoint
     type: string
@@ -132,9 +118,9 @@ parameters:
     description: Secret key for Django
     type: string
     hidden: true
-  Image:
+  controllerImage:
     type: string
-    default: overcloud-control
+    default: overcloud-full
     constraints:
       - custom_constraint: glance.image
   ImageUpdatePolicy:
@@ -265,22 +251,6 @@ parameters:
       in the ring.
     hidden: true
     type: string
-  SwiftMinPartHours:
-    type: number
-    default: 1
-    description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
-  SwiftPartPower:
-    default: 10
-    description: Partition Power to use when building Swift rings
-    type: number
-  SwiftRingBuild:
-    default: true
-    description: Whether to manage Swift rings or not
-    type: boolean
-  SwiftReplicas:
-    type: number
-    default: 3
-    description: How many replicas to use in the swift rings.
   UpgradeLevelNovaCompute:
     type: string
     description: Nova Compute upgrade level
@@ -342,13 +312,16 @@ parameters:
       Extra properties or metadata passed to Nova for the created nodes in
       the overcloud. It's accessible via the Nova metadata API.
     type: json
-  SchedulerHints:
+  ControllerSchedulerHints:
     type: json
     description: Optional scheduler hints to pass to nova
     default: {}
   ServiceConfigSettings:
     type: json
     default: {}
+  ServiceNames:
+    type: comma_delimited_list
+    default: []
   ConfigCommand:
     type: string
     description: Command which will be run whenever configuration data changes
@@ -368,9 +341,9 @@ resources:
       os-collect-config:
         command: {get_param: ConfigCommand}
     properties:
-      image: {get_param: Image}
+      image: {get_param: controllerImage}
       image_update_policy: {get_param: ImageUpdatePolicy}
-      flavor: {get_param: Flavor}
+      flavor: {get_param: OvercloudControlFlavor}
       key_name: {get_param: KeyName}
       networks:
         - network: ctlplane
@@ -382,7 +355,7 @@ resources:
             params: {get_param: HostnameMap}
       software_config_transport: {get_param: SoftwareConfigTransport}
       metadata: {get_param: ServerMetadata}
-      scheduler_hints: {get_param: SchedulerHints}
+      scheduler_hints: {get_param: ControllerSchedulerHints}
 
   # Combine the NodeAdminUserData and NodeUserData mime archives
   UserData:
@@ -523,12 +496,6 @@ resources:
         horizon_secret: {get_param: HorizonSecret}
         admin_password: {get_param: AdminPassword}
         debug: {get_param: Debug}
-        cinder_public_url: {get_param: [EndpointMap, CinderPublic, uri]}
-        cinder_internal_url: {get_param: [EndpointMap, CinderInternal, uri]}
-        cinder_admin_url: {get_param: [EndpointMap, CinderAdmin, uri]}
-        cinder_public_url_v2: {get_param: [EndpointMap, CinderV2Public, uri]}
-        cinder_internal_url_v2: {get_param: [EndpointMap, CinderV2Internal, uri]}
-        cinder_admin_url_v2: {get_param: [EndpointMap, CinderV2Admin, uri]}
         keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
         keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
         keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
@@ -549,17 +516,11 @@ resources:
         neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
         neutron_password: {get_param: NeutronPassword}
         neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
-        neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
-        neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
         neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
         nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
-        aodh_password: {get_param: AodhPassword}
         aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
         aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
         aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
-        gnocchi_password: {get_param: GnocchiPassword}
-        gnocchi_backend: {get_param: GnocchiBackend}
-        gnocchi_indexer_backend: {get_param: GnocchiIndexerBackend}
         ceilometer_coordination_url:
           list_join:
             - ''
@@ -568,24 +529,6 @@ resources:
               - '@'
               - {get_param: RedisVirtualIPUri}
               - ':6379/'
-        gnocchi_dsn:
-          list_join:
-            - ''
-            - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-              - '://gnocchi:'
-              - {get_param: GnocchiPassword}
-              - '@'
-              - {get_param: [EndpointMap, MysqlInternal, host]}
-              - '/gnocchi'
-        aodh_dsn:
-          list_join:
-            - ''
-            - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-              - '://aodh:'
-              - {get_param: AodhPassword}
-              - '@'
-              - {get_param: [EndpointMap, MysqlInternal, host]}
-              - '/aodh'
         gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]}
         gnocchi_public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] }
         gnocchi_admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] }
@@ -594,29 +537,8 @@ resources:
         corosync_ipv6: {get_param: CorosyncIPv6}
         memcached_ipv6: {get_param: MemcachedIPv6}
         nova_password: {get_param: NovaPassword}
-        nova_dsn:
-          list_join:
-            - ''
-            - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-              - '://nova:'
-              - {get_param: NovaPassword}
-              - '@'
-              - {get_param: [EndpointMap, MysqlInternal, host]}
-              - '/nova'
-        nova_api_dsn:
-          list_join:
-            - ''
-            - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-              - '://nova_api:'
-              - {get_param: NovaPassword}
-              - '@'
-              - {get_param: [EndpointMap, MysqlInternal, host]}
-              - '/nova_api'
         upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
         instance_name_template: {get_param: InstanceNameTemplate}
-        nova_public_url: {get_param: [EndpointMap, NovaPublic, uri]}
-        nova_internal_url: {get_param: [EndpointMap, NovaInternal, uri]}
-        nova_admin_url: {get_param: [EndpointMap, NovaAdmin, uri]}
         fencing_config: {get_param: FencingConfig}
         pcsd_password: {get_param: PcsdPassword}
         rabbit_username: {get_param: RabbitUserName}
@@ -627,10 +549,6 @@ resources:
         control_virtual_interface: {get_param: ControlVirtualInterface}
         public_virtual_interface: {get_param: PublicVirtualInterface}
         swift_hash_suffix: {get_param: SwiftHashSuffix}
-        swift_part_power: {get_param: SwiftPartPower}
-        swift_ring_build: {get_param: SwiftRingBuild}
-        swift_replicas: {get_param: SwiftReplicas}
-        swift_min_part_hours: {get_param: SwiftMinPartHours}
         enable_package_install: {get_param: EnablePackageInstall}
         enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
         swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
@@ -648,6 +566,7 @@ resources:
         keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
         keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
         keystone_region: {get_param: KeystoneRegion}
+        manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
         mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
         neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
         neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
@@ -687,8 +606,8 @@ resources:
             - controller_extraconfig
             - extraconfig
             - service_configs
+            - service_names
             - controller
-            - database
             - object
             - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
             - ceph_cluster # provided by CephClusterConfig
@@ -697,7 +616,6 @@ resources:
             - all_nodes # provided by allNodesConfig
             - vip_data # provided by vip-config
             - '"%{::osfamily}"'
-            - common
             - network
             - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
             - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
@@ -708,6 +626,9 @@ resources:
             - midonet_data #Optionally provided by AllNodesExtraConfig
           merge_behavior: deeper
           datafiles:
+            service_names:
+              mapped_data:
+                service_names: {get_param: ServiceNames}
             service_configs:
               mapped_data: {get_param: ServiceConfigSettings}
             controller_extraconfig:
@@ -717,8 +638,6 @@ resources:
                   - {get_param: ControllerExtraConfig}
             extraconfig:
               mapped_data: {get_param: ExtraConfig}
-            common:
-              raw_data: {get_file: hieradata/common.yaml}
             network:
               mapped_data:
                 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
@@ -730,8 +649,6 @@ resources:
                 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
                 ceph::profile::params::public_network: {get_input: ceph_public_network}
                 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
-            database:
-              raw_data: {get_file: hieradata/database.yaml}
             object:
               raw_data: {get_file: hieradata/object.yaml}
             controller:
@@ -751,27 +668,14 @@ resources:
                 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
                 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
                 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
-                tripleo::ringbuilder::build_ring: { get_input: swift_ring_build }
-                tripleo::ringbuilder::part_power: {get_input: swift_part_power}
-                tripleo::ringbuilder::replicas: {get_input: swift_replicas}
-                tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
 
                 # Cinder
                 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
                 cinder::api::bind_host: {get_input: cinder_api_network}
-                cinder::keystone::auth::public_url: {get_input: cinder_public_url }
-                cinder::keystone::auth::internal_url: {get_input: cinder_internal_url }
-                cinder::keystone::auth::admin_url: {get_input: cinder_admin_url }
-                cinder::keystone::auth::public_url_v2: {get_input: cinder_public_url_v2 }
-                cinder::keystone::auth::internal_url_v2: {get_input: cinder_internal_url_v2 }
-                cinder::keystone::auth::admin_url_v2: {get_input: cinder_admin_url_v2 }
-                cinder::keystone::auth::password: {get_input: cinder_password }
-                cinder::keystone::auth::region: {get_input: keystone_region}
 
                 # Glance
                 glance::api::bind_host: {get_input: glance_api_network}
                 glance::registry::bind_host: {get_input: glance_registry_network}
-                glance::keystone::auth::region: {get_input: keystone_region}
 
                 # Heat
                 heat::api::bind_host: {get_input: heat_api_network}
@@ -785,6 +689,9 @@ resources:
                 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
                 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
 
+                # Manila
+                manila::api::bind_host: {get_input: manila_api_network}
+
                 # MongoDB
                 mongodb::server::bind_ip: {get_input: mongo_db_network}
 
@@ -803,61 +710,25 @@ resources:
                 neutron::bind_host: {get_input: neutron_api_network}
                 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
                 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
-                neutron::keystone::auth::public_url: {get_input: neutron_public_url }
-                neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
-                neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
-                neutron::keystone::auth::password: {get_input: neutron_password }
-                neutron::keystone::auth::region: {get_input: keystone_region}
+
+                # Aodh
+                aodh::api::host: {get_input: aodh_api_network}
+                aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
 
                 # Ceilometer
                 ceilometer::api::host: {get_input: ceilometer_api_network}
                 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
                 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
 
-                # Aodh
-                aodh_mysql_conn_string: {get_input: aodh_dsn}
-                aodh::rabbit_userid: {get_input: rabbit_username}
-                aodh::rabbit_password: {get_input: rabbit_password}
-                aodh::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
-                aodh::rabbit_port: {get_input: rabbit_client_port}
-                aodh::debug: {get_input: debug}
-                aodh::wsgi::apache::ssl: false
-                aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
-                aodh::api::service_name: 'httpd'
-                aodh::api::host: {get_input: aodh_api_network}
-                aodh::api::keystone_password: {get_input: aodh_password}
-                aodh::api::keystone_auth_uri: {get_input: keystone_auth_uri}
-                aodh::api::keystone_identity_uri: {get_input: keystone_identity_uri}
-                aodh::auth::auth_url: {get_input: keystone_auth_uri}
-                aodh::auth::auth_password: {get_input: aodh_password}
-                aodh::db::mysql::password: {get_input: aodh_password}
-                # for a migration path from ceilometer-alarm to aodh, we use the same database & coordination
-                aodh::evaluator::coordination_url: {get_input: ceilometer_coordination_url}
-                aodh::keystone::auth::public_url: {get_input: aodh_public_url }
-                aodh::keystone::auth::internal_url: {get_input: aodh_internal_url }
-                aodh::keystone::auth::admin_url: {get_input: aodh_admin_url }
-                aodh::keystone::auth::password: {get_input: aodh_password }
-                aodh::keystone::auth::region: {get_input: keystone_region}
-
                 # Gnocchi
-                gnocchi_backend: {get_input: gnocchi_backend}
-                gnocchi_indexer_backend: {get_input: gnocchi_indexer_backend}
-                gnocchi_mysql_conn_string: {get_input: gnocchi_dsn}
-                gnocchi::debug: {get_input: debug}
-                gnocchi::wsgi::apache::ssl: false
                 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
-                gnocchi::api::service_name: 'httpd'
                 gnocchi::api::host: {get_input: gnocchi_api_network}
-                gnocchi::api::keystone_password: {get_input: gnocchi_password}
                 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
                 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
-                gnocchi::db::mysql::password: {get_input: gnocchi_password}
                 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
-                gnocchi::storage::swift::swift_key: {get_input: gnocchi_password}
                 gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url }
                 gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url }
                 gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url }
-                gnocchi::keystone::auth::password: {get_input: gnocchi_password }
                 gnocchi::keystone::auth::region: {get_input: keystone_region}
 
                 # Nova
@@ -868,8 +739,6 @@ resources:
                 nova::api::api_bind_address: {get_input: nova_api_network}
                 nova::api::metadata_listen: {get_input: nova_metadata_network}
                 nova::api::admin_password: {get_input: nova_password}
-                nova::database_connection: {get_input: nova_dsn}
-                nova::api_database_connection: {get_input: nova_api_dsn}
                 nova::glance_api_servers: {get_input: glance_api_servers}
                 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
                 nova::api::instance_name_template: {get_input: instance_name_template}
@@ -877,14 +746,7 @@ resources:
                 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
                 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
                 nova::vncproxy::host: {get_input: nova_api_network}
-                nova::db::mysql::password: {get_input: nova_password}
-                nova::db::mysql_api::password: {get_input: nova_password}
                 nova_enable_db_purge: {get_input: nova_enable_db_purge}
-                nova::keystone::auth::public_url: {get_input: nova_public_url}
-                nova::keystone::auth::internal_url: {get_input: nova_internal_url}
-                nova::keystone::auth::admin_url: {get_input: nova_admin_url}
-                nova::keystone::auth::password: {get_input: nova_password }
-                nova::keystone::auth::region: {get_input: keystone_region}
 
                 # Horizon
                 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
@@ -894,6 +756,9 @@ resources:
                 horizon::bind_address: {get_input: horizon_network}
                 horizon::keystone_url: {get_input: keystone_auth_uri}
 
+                # Sahara
+                sahara::host: {get_input: sahara_api_network}
+
                 # RabbitMQ
                 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
                 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}