Merge "Ironic: service catalog entries should not have a suffix"
[apex-tripleo-heat-templates.git] / puppet / services / swift-proxy.yaml
index 6c2bb44..dd242fb 100644 (file)
@@ -39,6 +39,13 @@ parameters:
     default: 'regionOne'
     description: Keystone region for endpoint
 
+resources:
+  SwiftBase:
+    type: ./swift-base.yaml
+    properties:
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+      EndpointMap: {get_param: EndpointMap}
 
 outputs:
   role_data:
@@ -46,50 +53,59 @@ outputs:
     value:
       service_name: swift_proxy
       config_settings:
-        # Swift
-        swift::proxy::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
-        swift::proxy::authtoken::identity_uri: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
-        swift::proxy::authtoken::admin_password: {get_param: SwiftPassword}
-        swift::proxy::authtoken::admin_tenant_name: 'service'
-        swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout}
-        swift::proxy::workers: {get_param: SwiftWorkers}
-        swift::keystone::auth::public_url: {get_param: [EndpointMap, SwiftPublic, uri]}
-        swift::keystone::auth::internal_url: {get_param: [EndpointMap, SwiftInternal, uri]}
-        swift::keystone::auth::admin_url: {get_param: [EndpointMap, SwiftAdmin, uri]}
-        swift::keystone::auth::public_url_s3: {get_param: [EndpointMap, SwiftS3Public, uri]}
-        swift::keystone::auth::internal_url_s3: {get_param: [EndpointMap, SwiftS3Internal, uri]}
-        swift::keystone::auth::admin_url_s3: {get_param: [EndpointMap, SwiftS3Admin, uri]}
-        swift::keystone::auth::password: {get_param: SwiftPassword}
-        swift::keystone::auth::region: {get_param: KeystoneRegion}
-        tripleo.swift_proxy.firewall_rules:
-          '122 swift proxy':
-            dport:
-              - 8080
-              - 13808
-        swift::keystone::auth::tenant: 'service'
-        swift::keystone::auth::configure_s3_endpoint: false
-        swift::keystone::auth::operator_roles:
-          - admin
-          - swiftoperator
-          - ResellerAdmin
-        swift::proxy::keystone::operator_roles:
-          - admin
-          - swiftoperator
-          - ResellerAdmin
-        swift::proxy::pipeline:
-          - 'catch_errors'
-          - 'healthcheck'
-          - 'proxy-logging'
-          - 'cache'
-          - 'ratelimit'
-          - 'bulk'
-          - 'tempurl'
-          - 'formpost'
-          - 'authtoken'
-          - 'keystone'
-          - 'staticweb'
-          - 'proxy-logging'
-          - 'proxy-server'
-        swift::proxy::account_autocreate: true
+        map_merge:
+          - get_attr: [SwiftBase, role_data, config_settings]
+
+          - swift::proxy::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
+            swift::proxy::authtoken::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
+            swift::proxy::authtoken::password: {get_param: SwiftPassword}
+            swift::proxy::authtoken::project_name: 'service'
+            swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout}
+            swift::proxy::workers: {get_param: SwiftWorkers}
+            swift::keystone::auth::public_url: {get_param: [EndpointMap, SwiftPublic, uri]}
+            swift::keystone::auth::internal_url: {get_param: [EndpointMap, SwiftInternal, uri]}
+            swift::keystone::auth::admin_url: {get_param: [EndpointMap, SwiftAdmin, uri]}
+            swift::keystone::auth::public_url_s3: {get_param: [EndpointMap, SwiftS3Public, uri]}
+            swift::keystone::auth::internal_url_s3: {get_param: [EndpointMap, SwiftS3Internal, uri]}
+            swift::keystone::auth::admin_url_s3: {get_param: [EndpointMap, SwiftS3Admin, uri]}
+            swift::keystone::auth::password: {get_param: SwiftPassword}
+            swift::keystone::auth::region: {get_param: KeystoneRegion}
+            tripleo.swift_proxy.firewall_rules:
+              '122 swift proxy':
+                dport:
+                  - 8080
+                  - 13808
+            swift::keystone::auth::tenant: 'service'
+            swift::keystone::auth::configure_s3_endpoint: false
+            swift::keystone::auth::operator_roles:
+              - admin
+              - swiftoperator
+              - ResellerAdmin
+            swift::proxy::keystone::operator_roles:
+              - admin
+              - swiftoperator
+              - ResellerAdmin
+            swift::proxy::pipeline:
+              - 'catch_errors'
+              - 'healthcheck'
+              - 'proxy-logging'
+              - 'cache'
+              - 'ratelimit'
+              - 'bulk'
+              - 'tempurl'
+              - 'formpost'
+              - 'authtoken'
+              - 'keystone'
+              - 'staticweb'
+              - 'proxy-logging'
+              - 'proxy-server'
+            swift::proxy::account_autocreate: true
+            # NOTE: bind IP is found in Heat replacing the network name with the
+            # local node IP for the given network; replacement examples
+            # (eg. for internal_api):
+            # internal_api -> IP
+            # internal_api_uri -> [IP]
+            # internal_api_subnet - > IP/CIDR
+            swift::proxy::proxy_local_net_ip: {get_param: [ServiceNetMap, SwiftProxyNetwork]}
       step_config: |
         include ::tripleo::profile::base::swift::proxy