Merge "Update capabilities-map.yaml"
[apex-tripleo-heat-templates.git] / puppet / services / swift-storage.yaml
index 02746a9..7fbb8d9 100644 (file)
@@ -4,6 +4,15 @@ description: >
   OpenStack Swift Storage service configured with Puppet
 
 parameters:
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
   EndpointMap:
     default: {}
     description: Mapping of service endpoint -> protocol. Typically set
@@ -17,6 +26,13 @@ parameters:
     default: false
     description: Value of mount_check in Swift account/container/object -server.conf
     type: boolean
+  SwiftRawDisks:
+    default: {}
+    description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
+    type: json
+  MonitoringSubscriptionSwiftStorage:
+    default: 'overcloud-swift-storage'
+    type: string
 
   # DEPRECATED options for compatibility with overcloud.yaml
   # This should be removed and manipulation of the ControllerServices list
@@ -32,14 +48,45 @@ parameter_groups:
   parameters:
   - ControllerEnableSwiftStorage
 
+resources:
+  SwiftBase:
+    type: ./swift-base.yaml
+    properties:
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+      EndpointMap: {get_param: EndpointMap}
+
 outputs:
   role_data:
     description: Role data for the Swift Proxy role.
     value:
-      service_name: swift-storage
+      service_name: swift_storage
+      monitoring_subscription: {get_param: MonitoringSubscriptionSwiftStorage}
       config_settings:
-        # Swift
-        swift::storage::all::mount_check: {get_param: SwiftMountCheck}
-        tripleo::profile::base::swift::storage::enable_swift_storage: {get_param: ControllerEnableSwiftStorage}
+        map_merge:
+          - get_attr: [SwiftBase, role_data, config_settings]
+          - swift::storage::all::mount_check: {get_param: SwiftMountCheck}
+            tripleo::profile::base::swift::storage::enable_swift_storage: {get_param: ControllerEnableSwiftStorage}
+            tripleo.swift_storage.firewall_rules:
+              '123 swift storage':
+                dport:
+                  - 873
+                  - 6000
+                  - 6001
+                  - 6002
+            swift::storage::all::incoming_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r'
+            swift::storage::all::outgoing_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r'
+            swift::storage::all::object_pipeline:
+              - healthcheck
+              - recon
+              - object-server
+            swift::storage::all::container_pipeline:
+              - healthcheck
+              - container-server
+            swift::storage::all::account_pipeline:
+              - healthcheck
+              - account-server
+            swift::storage::disks: {get_param: SwiftRawDisks}
+            swift::storage::all::storage_local_net_ip: {get_param: [ServiceNetMap, SwiftStorageNetwork]}
       step_config: |
         include ::tripleo::profile::base::swift::storage