aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiulio Fidente <gfidente@redhat.com>2016-08-04 02:41:15 +0200
committerGiulio Fidente <gfidente@redhat.com>2016-08-23 13:55:05 +0200
commitb542ce77775631bd0f7621a9a4decfdbc42ff891 (patch)
treef6d9b0ef8e831947db17095029fccf55dac88bdd
parent6c537d2005b8cb5b25f63722376fca08471987ac (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.yaml13
-rw-r--r--puppet/services/swift-storage.yaml5
-rw-r--r--puppet/swift-storage.yaml13
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: