From b542ce77775631bd0f7621a9a4decfdbc42ff891 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Thu, 4 Aug 2016 02:41:15 +0200 Subject: 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 --- puppet/controller.yaml | 13 ++++++++++++- puppet/services/swift-storage.yaml | 5 +++++ 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: -- cgit 1.2.3-korg