60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'manifests/dispersion.pp', line 60
class swift::dispersion (
$auth_url = 'http://127.0.0.1:5000/v2.0/',
$auth_user = 'dispersion',
$auth_tenant = 'services',
$auth_pass = 'dispersion_password',
$auth_version = '2.0',
$endpoint_type = 'publicURL',
$swift_dir = '/etc/swift',
$coverage = 1,
$retries = 5,
$concurrency = 25,
$dump_json = 'no'
) {
include swift::params
Package['swift'] -> Swift_dispersion_config<||>
Swift_dispersion_config<||> ~> Exec['swift-dispersion-populate']
file { '/etc/swift/dispersion.conf':
ensure => present,
owner => 'swift',
group => 'swift',
mode => '0660',
require => Package['swift'],
}
swift_dispersion_config {
'dispersion/auth_url': value => $auth_url;
'dispersion/auth_user': value => "${auth_tenant}:${auth_user}";
'dispersion/auth_key': value => $auth_pass;
'dispersion/auth_version': value => $auth_version;
'dispersion/endpoint_type': value => $endpoint_type;
'dispersion/swift_dir': value => $swift_dir;
'dispersion/dispersion_coverage': value => $coverage;
'dispersion/retries': value => $retries;
'dispersion/concurrency': value => $concurrency;
'dispersion/dump_json': value => $dump_json;
}
exec { 'swift-dispersion-populate':
path => ['/bin', '/usr/bin'],
subscribe => File['/etc/swift/dispersion.conf'],
timeout => 0,
onlyif => "swift -A ${auth_url} -U ${auth_tenant}:${auth_user} -K ${auth_pass} -V ${auth_version} stat | grep 'Account: '",
unless => "swift -A ${auth_url} -U ${auth_tenant}:${auth_user} -K ${auth_pass} -V ${auth_version} list | grep dispersion_",
require => Package['swiftclient'],
}
}
|