Add Swift dispersion profile

This runs the swift-dispersion-populate tool after deploying Swift,
which makes it possible to run swift-dispersion-report later on to check
the current dispersion within the cluster.

This is helpful to do sanity checks before rebalancing rings and to
check the overall health of the cluster.

Change-Id: Ic76a3c2cd671be538f116cdf98adf458d8869d8e
This commit is contained in:
Christian Schwede 2017-06-21 21:32:34 +02:00
parent 68110215e3
commit beb5fde051
5 changed files with 54 additions and 0 deletions

View File

@ -197,6 +197,7 @@ resource_registry:
OS::TripleO::Services::Ntp: puppet/services/time/ntp.yaml
OS::TripleO::Services::ContainersLogrotateCrond: OS::Heat::None
OS::TripleO::Services::SwiftProxy: puppet/services/swift-proxy.yaml
OS::TripleO::Services::SwiftDispersion: puppet/services/swift-dispersion.yaml
OS::TripleO::Services::ExternalSwiftProxy: OS::Heat::None
OS::TripleO::Services::SwiftStorage: puppet/services/swift-storage.yaml
OS::TripleO::Services::SwiftRingBuilder: puppet/services/swift-ringbuilder.yaml

View File

@ -0,0 +1,50 @@
heat_template_version: pike
description: >
OpenStack Swift dispersion tool configured with Puppet
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
SwiftPassword:
description: The password for the swift service account
type: string
hidden: true
outputs:
role_data:
description: Role data for the Swift dispersion tool.
value:
service_name: swift_dispersion
config_settings:
swift::dispersion::auth_version: 3
swift::dispersion::auth_user: swift
swift::dispersion::auth_tenant: service
swift::dispersion::auth_pass: {get_param: SwiftPassword}
swift::dispersion::auth_url: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
step_config: |
include ::tripleo::profile::base::swift::dispersion

View File

@ -131,6 +131,7 @@
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::SwiftDispersion
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::Tacker

View File

@ -99,6 +99,7 @@
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::SwiftDispersion
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::Tacker

View File

@ -134,6 +134,7 @@
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::SwiftDispersion
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::Tacker