69 lines
2.4 KiB
YAML
69 lines
2.4 KiB
YAML
heat_template_version: 2016-10-14
|
|
|
|
description: >
|
|
OpenStack Swift Ringbuilder
|
|
|
|
parameters:
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
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
|
|
SwiftRingBuild:
|
|
default: true
|
|
description: Whether to manage Swift rings or not
|
|
type: boolean
|
|
SwiftReplicas:
|
|
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
|
|
SwiftUseLocalDir:
|
|
default: true
|
|
description: 'Use a local directory for Swift storage services when building rings'
|
|
type: boolean
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for Swift Ringbuilder configuration.
|
|
value:
|
|
service_name: swift_ringbuilder
|
|
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::part_power: {get_param: SwiftPartPower}
|
|
tripleo::profile::base::swift::ringbuilder::min_part_hours: {get_param: SwiftMinPartHours}
|
|
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:
|
|
- {if: [{get_param: SwiftUseLocalDir}, [':%PORT%/d1'], []]}
|
|
- repeat:
|
|
template: ':%PORT%/DEVICE'
|
|
for_each:
|
|
DEVICE: {get_param: SwiftRawDisks}
|
|
step_config: |
|
|
include ::tripleo::profile::base::swift::ringbuilder
|