
Our existing default (replicas == 1) means that no data (or copies) is being replicated in a multi-node Swift environment. This seems like a bad production default setting and could easily slip by if not set. Setting it to 3 shouldn't hurt anything and seems to follow suit with what several production installers (based around Puppet) actually use. If using an installation with less than 3 swift nodes I believe swift will do its best, and still work fine. FWIW I noticed this when testing a multi-node Puppet swift installation and was surprised when I didn't see any *data files getting replicated across the storage cluster. Change-Id: I44bdfff7aae6bdf845b79ca1f8f450c22113caed
70 lines
2.3 KiB
YAML
70 lines
2.3 KiB
YAML
description: 'Swift-proxy: OpenStack object storage proxy'
|
|
parameters:
|
|
SwiftHashSuffix:
|
|
default: unset
|
|
description: A random string to be used as a salt when hashing to determine mappings in the ring.
|
|
type: string
|
|
hidden: true
|
|
SwiftMountCheck:
|
|
default: 'false'
|
|
description: Value of mount_check in Swift account/container/object -server.conf
|
|
type: boolean
|
|
SwiftMinPartHours:
|
|
type: number
|
|
default: 1
|
|
description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
|
|
SwiftPartPower:
|
|
default: 10
|
|
description: Partition Power to use when building Swift rings
|
|
type: number
|
|
SwiftPassword:
|
|
default: unset
|
|
description: The password for the swift service account, used by the swift proxy services.
|
|
type: string
|
|
hidden: true
|
|
SwiftReplicas:
|
|
type: number
|
|
default: 3
|
|
description: How many replicas to use in the swift rings.
|
|
resources:
|
|
controller0Swift:
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
config: {get_resource: SwiftConfig}
|
|
server: {get_resource: controller0}
|
|
signal_transport: NO_SIGNAL
|
|
input_values:
|
|
swift_hash_suffix: {get_param: SwiftHashSuffix}
|
|
swift_mount_check: {get_param: SwiftMountCheck}
|
|
swift_password: {get_param: SwiftPassword}
|
|
swift_part_power: {get_param: SwiftPartPower}
|
|
swift_devices:
|
|
Fn::Join:
|
|
- ', '
|
|
- Merge::Map:
|
|
controller0:
|
|
Fn::Join:
|
|
- ''
|
|
- - 'r1z1-'
|
|
- {get_attr: [controller0, networks, ctlplane, 0]}
|
|
- ':%PORT%/d1'
|
|
SwiftStorage0:
|
|
Fn::Join:
|
|
- ''
|
|
- - 'r1z1-'
|
|
- {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
|
|
- ':%PORT%/d1'
|
|
swift_proxy_memcache:
|
|
Fn::Join:
|
|
- ','
|
|
- Merge::Map:
|
|
controller0:
|
|
Fn::Join:
|
|
- ', '
|
|
- - Fn::Join:
|
|
- ''
|
|
- - {get_attr: [controller0, networks, ctlplane, 0]}
|
|
- ':11211'
|
|
swift_replicas: { get_param: SwiftReplicas}
|
|
swift_min_part_hours: { get_param: SwiftMinPartHours}
|