bedf3dc546
Make use of the new composable per-service node_ips lists by adding a ServiceNetMap entry for SwiftStorage, then pass the data to construct the raw device list into puppet-tripleo instead of mangling it in t-h-t inside the role templates. This will allow running swift storage services on nodes other than the Controller and ObjectStorage roles, and is required to enable custom roles. Depends-On: I11deed1df712ecccf85d36a75b3bd2e9d226af36 Change-Id: I1bf5f8a9d34b1a5d64ab8656b386226b54ec1a27 Partially-Implements: blueprint custom-roles
66 lines
2.2 KiB
YAML
66 lines
2.2 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
|
|
|
|
|
|
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::raw_disk_prefix: 'r1z1-'
|
|
tripleo::profile::base::swift::ringbuilder::raw_disks:
|
|
yaql:
|
|
expression: $.data.raw_disk_lists.flatten()
|
|
data:
|
|
raw_disk_lists:
|
|
- [':%PORT%/d1']
|
|
- repeat:
|
|
template: ':%PORT%/DEVICE'
|
|
for_each:
|
|
DEVICE: {get_param: SwiftRawDisks}
|
|
swift::ringbuilder::part_power: {get_param: SwiftPartPower}
|
|
swift::ringbuilder::min_part_hours: {get_param: SwiftMinPartHours}
|
|
step_config: |
|
|
include ::tripleo::profile::base::swift::ringbuilder
|