diff options
author | Giulio Fidente <gfidente@redhat.com> | 2016-08-04 02:41:15 +0200 |
---|---|---|
committer | Giulio Fidente <gfidente@redhat.com> | 2016-08-23 13:55:05 +0200 |
commit | b542ce77775631bd0f7621a9a4decfdbc42ff891 (patch) | |
tree | f6d9b0ef8e831947db17095029fccf55dac88bdd | |
parent | 6c537d2005b8cb5b25f63722376fca08471987ac (diff) |
Permit usage of raw disks as backends for Swift storage
Adds a SwiftRawDisks parameter which can be used to provide a map
disk-keyed with properties for each additional disk to be used
as backend for Swift storage.
Change-Id: I65ff488c8eb62c03fc45f04e70e18a5f4022d6b6
Depends-On: Id450e777930bb0b749c0ecfab0679a52a84fd7fe
Depends-On: Iac75cf2244339fae444be5859b7583e80bafc4e2
-rw-r--r-- | puppet/controller.yaml | 13 | ||||
-rw-r--r-- | puppet/services/swift-storage.yaml | 5 | ||||
-rw-r--r-- | puppet/swift-storage.yaml | 13 |
3 files changed, 29 insertions, 2 deletions
diff --git a/puppet/controller.yaml b/puppet/controller.yaml index c38057d9..c35f9b6b 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -247,6 +247,10 @@ parameters: 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 @@ -893,7 +897,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: diff --git a/puppet/services/swift-storage.yaml b/puppet/services/swift-storage.yaml index 558f2752..664a701f 100644 --- a/puppet/services/swift-storage.yaml +++ b/puppet/services/swift-storage.yaml @@ -26,6 +26,10 @@ 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 # DEPRECATED options for compatibility with overcloud.yaml # This should be removed and manipulation of the ControllerServices list @@ -69,5 +73,6 @@ outputs: swift::storage::all::account_pipeline: - healthcheck - account-server + swift::storage::disks: {get_param: SwiftRawDisks} step_config: | include ::tripleo::profile::base::swift::storage diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml index dc28ee76..1f3022b8 100644 --- a/puppet/swift-storage.yaml +++ b/puppet/swift-storage.yaml @@ -101,6 +101,10 @@ parameters: type: string description: Command which will be run whenever configuration data changes default: os-refresh-config --timeout 14400 + SwiftRawDisks: + default: {} + description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})' + type: json resources: @@ -377,7 +381,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: |