aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/services/swift-ringbuilder.yaml
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-09-01 19:24:05 +0100
committerEmilien Macchi <emilien@redhat.com>2016-09-08 20:19:37 +0000
commitbedf3dc546982624628267f812bae24d9b73ff44 (patch)
treeb27d7ad3ba85b420cda35d2fed85c1e3c072868a /puppet/services/swift-ringbuilder.yaml
parent158636bf93ce00fac66f62a99ac746fe9e94504f (diff)
Convert SwiftDevicesAndProxyConfig to composable format
Make use of the new composable per-service node_ips lists by adding a ServiceNetMap entry for SwiftStorage, then pass the data to construct the raw device list into puppet-tripleo instead of mangling it in t-h-t inside the role templates. This will allow running swift storage services on nodes other than the Controller and ObjectStorage roles, and is required to enable custom roles. Depends-On: I11deed1df712ecccf85d36a75b3bd2e9d226af36 Change-Id: I1bf5f8a9d34b1a5d64ab8656b386226b54ec1a27 Partially-Implements: blueprint custom-roles
Diffstat (limited to 'puppet/services/swift-ringbuilder.yaml')
-rw-r--r--puppet/services/swift-ringbuilder.yaml18
1 files changed, 17 insertions, 1 deletions
diff --git a/puppet/services/swift-ringbuilder.yaml b/puppet/services/swift-ringbuilder.yaml
index f41228e7..e151d185 100644
--- a/puppet/services/swift-ringbuilder.yaml
+++ b/puppet/services/swift-ringbuilder.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: 2016-10-14
description: >
OpenStack Swift Ringbuilder
@@ -34,6 +34,11 @@ parameters:
type: number
default: 3
description: How many replicas to use in the swift rings.
+ SwiftRawDisks:
+ default: {}
+ description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
+ type: json
+
outputs:
role_data:
@@ -43,6 +48,17 @@ outputs:
config_settings:
tripleo::profile::base::swift::ringbuilder::build_ring: {get_param: SwiftRingBuild}
tripleo::profile::base::swift::ringbuilder::replicas: {get_param: SwiftReplicas}
+ tripleo::profile::base::swift::ringbuilder::raw_disk_prefix: 'r1z1-'
+ tripleo::profile::base::swift::ringbuilder::raw_disks:
+ yaql:
+ expression: $.data.raw_disk_lists.flatten()
+ data:
+ raw_disk_lists:
+ - [':%PORT%/d1']
+ - repeat:
+ template: ':%PORT%/DEVICE'
+ for_each:
+ DEVICE: {get_param: SwiftRawDisks}
swift::ringbuilder::part_power: {get_param: SwiftPartPower}
swift::ringbuilder::min_part_hours: {get_param: SwiftMinPartHours}
step_config: |