927495fe3d
The new master branch should point now to queens instead of pike. So, HOT templates should specify that they might contain features for queens release [1] [1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#queens Change-Id: I7654d1c59db0c4508a9d7045f452612d22493004
101 lines
3.3 KiB
YAML
101 lines
3.3 KiB
YAML
heat_template_version: queens
|
|
|
|
description: >
|
|
OpenStack Swift Ringbuilder
|
|
|
|
parameters:
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
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
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
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
|
|
SwiftRingGetTempurl:
|
|
default: ''
|
|
description: A temporary Swift URL to download rings from.
|
|
type: string
|
|
SwiftRingPutTempurl:
|
|
default: ''
|
|
description: A temporary Swift URL to upload rings to.
|
|
type: string
|
|
|
|
conditions:
|
|
swift_use_local_dir:
|
|
and:
|
|
- equals:
|
|
- get_param: SwiftUseLocalDir
|
|
- true
|
|
- equals:
|
|
- get_param: SwiftRawDisks
|
|
- {}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for Swift Ringbuilder configuration.
|
|
value:
|
|
service_name: swift_ringbuilder
|
|
config_settings:
|
|
tripleo::profile::base::swift::ringbuilder::swift_ring_get_tempurl: {get_param: SwiftRingGetTempurl}
|
|
tripleo::profile::base::swift::ringbuilder::swift_ring_put_tempurl: {get_param: SwiftRingPutTempurl}
|
|
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: [swift_use_local_dir, [':%PORT%/d1'], []]}
|
|
- repeat:
|
|
template: ':%PORT%/DEVICE'
|
|
for_each:
|
|
DEVICE: {get_param: SwiftRawDisks}
|
|
step_config: |
|
|
include ::tripleo::profile::base::swift::ringbuilder
|