Move Swift hiera settings into composable services
[apex-tripleo-heat-templates.git] / puppet / controller.yaml
index 65e47b7..90cb743 100644 (file)
@@ -27,10 +27,6 @@ parameters:
         ...
       }
     type: json
-  ControlVirtualInterface:
-    default: 'br-ex'
-    description: Interface where virtual ip will be assigned.
-    type: string
   CorosyncIPv6:
     default: false
     description: Enable IPv6 in Corosync
@@ -91,21 +87,6 @@ parameters:
     type: string
     constraints:
       - custom_constraint: nova.flavor
-  HAProxyStatsPassword:
-    description: Password for HAProxy stats endpoint
-    type: string
-  HAProxyStatsUser:
-    description: User for HAProxy stats endpoint
-    default: admin
-    type: string
-  HAProxySyslogAddress:
-    default: /dev/log
-    description: Syslog address where HAproxy will send its log
-    type: string
-  HeatAuthEncryptionKey:
-    description: Auth encryption key for heat-engine
-    type: string
-    hidden: true
   HorizonSecret:
     description: Secret key for Django
     type: string
@@ -170,12 +151,6 @@ parameters:
     type: string
     description: The password for the 'pcsd' user.
     hidden: true
-  PublicVirtualInterface:
-    default: 'br-ex'
-    description: >
-        Specifies the interface where the public-facing virtual ip will be assigned.
-        This should be int_public when a VLAN is being used.
-    type: string
   RedisPassword:
     description: The password for Redis
     type: string
@@ -187,11 +162,10 @@ parameters:
     type: string
     default: ''  # Has to be here because of the ignored empty value bug
     description: An IP address which is wrapped in brackets in case of IPv6
-  SwiftHashSuffix:
-    description: A random string to be used as a salt when hashing to determine mappings
-      in the ring.
-    hidden: true
-    type: string
+  SwiftRawDisks:
+    default: {}
+    description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
+    type: json
   UpgradeLevelNovaCompute:
     type: string
     description: Nova Compute upgrade level
@@ -422,10 +396,6 @@ resources:
       server: {get_resource: Controller}
       input_values:
         bootstack_nodeid: {get_attr: [Controller, name]}
-        haproxy_log_address: {get_param: HAProxySyslogAddress}
-        haproxy_stats_password: {get_param: HAProxyStatsPassword}
-        haproxy_stats_user: {get_param: HAProxyStatsUser}
-        heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
         horizon_secret: {get_param: HorizonSecret}
         debug: {get_param: Debug}
         keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
@@ -456,16 +426,8 @@ resources:
         instance_name_template: {get_param: InstanceNameTemplate}
         fencing_config: {get_param: FencingConfig}
         pcsd_password: {get_param: PcsdPassword}
-        control_virtual_interface: {get_param: ControlVirtualInterface}
-        public_virtual_interface: {get_param: PublicVirtualInterface}
-        swift_hash_suffix: {get_param: SwiftHashSuffix}
         enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
-        swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
-        swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
-        glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
-        glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
         glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
-        heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
         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]}]}
         manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
@@ -494,23 +456,6 @@ resources:
         redis_vip: {get_param: RedisVirtualIP}
         sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
         memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
-        ceph_cluster_network:
-          get_attr:
-            - NetIpMap
-            - net_ip_map
-            - str_replace:
-                template: "NETWORK_subnet"
-                params:
-                  NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]}
-        ceph_public_network:
-          get_attr:
-            - NetIpMap
-            - net_ip_map
-            - str_replace:
-                template: "NETWORK_subnet"
-                params:
-                  NETWORK: {get_param: [ServiceNetMap, CephPublicNetwork]}
-        ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
         ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
 
   # Map heat metadata into hiera datafiles
@@ -529,8 +474,6 @@ resources:
             - service_names
             - controller
             - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
-            - ceph_cluster # provided by CephClusterConfig
-            - ceph
             - bootstrap_node # provided by BootstrapNodeConfig
             - all_nodes # provided by allNodesConfig
             - vip_data # provided by vip-config
@@ -542,6 +485,7 @@ resources:
             - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
             - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
             - midonet_data #Optionally provided by AllNodesExtraConfig
+            - cisco_aci_data # Optionally provided by ControllerExtraConfigPre
           merge_behavior: deeper
           datafiles:
             service_names:
@@ -559,11 +503,6 @@ resources:
                   - {get_param: ControllerExtraConfig}
             extraconfig:
               mapped_data: {get_param: ExtraConfig}
-            ceph:
-              mapped_data:
-                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}
             controller:
               mapped_data: # data supplied directly to this deployment configuration, etc
                 bootstack_nodeid: {get_input: bootstack_nodeid}
@@ -575,22 +514,6 @@ resources:
                 corosync_ipv6: {get_input: corosync_ipv6}
                 tripleo::fencing::config: {get_input: fencing_config}
 
-                # Swift
-                # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
-                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}
-
-                # Glance
-                glance::api::bind_host: {get_input: glance_api_network}
-                glance::registry::bind_host: {get_input: glance_registry_network}
-
-                # Heat
-                heat::api::bind_host: {get_input: heat_api_network}
-                heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
-                heat::api_cfn::bind_host: {get_input: heat_api_network}
-                heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
-
                 # Keystone
                 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
                 keystone::public_bind_host: {get_input: keystone_public_api_network}
@@ -627,11 +550,8 @@ resources:
                 # Nova
                 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
                 nova::use_ipv6: {get_input: nova_ipv6}
-                nova::api::auth_uri: {get_input: keystone_auth_uri}
-                nova::api::identity_uri: {get_input: keystone_identity_uri}
                 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::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}
@@ -658,17 +578,7 @@ resources:
                 # Misc
                 memcached_ipv6: {get_input: memcached_ipv6}
                 memcached::listen_ip: {get_input: memcached_network}
-                control_virtual_interface: {get_input: control_virtual_interface}
-                public_virtual_interface: {get_input: public_virtual_interface}
-                tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
-                tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
-                tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
-                tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
-                tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
                 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
-                tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
-                tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
-                tripleo::haproxy::redis_password: {get_input: redis_password}
                 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
 
   # Hook for site-specific additional pre-deployment config, e.g extra hieradata
@@ -785,7 +695,14 @@ outputs:
     description: Swift device formatted for swift-ring-builder
     value:
       str_replace:
-        template: 'r1z1-IP:%PORT%/d1'
+        template:
+          list_join:
+            - ','
+            - ['r1z1-IP:%PORT%/d1']
+            - repeat:
+                template: 'r1z1-IP:%PORT%/DEVICE'
+                for_each:
+                  DEVICE: {get_param: SwiftRawDisks}
         params:
           IP:
             get_attr: