aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/base/swift
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/profile/base/swift')
-rw-r--r--manifests/profile/base/swift/proxy.pp2
-rw-r--r--manifests/profile/base/swift/ringbuilder.pp38
-rw-r--r--manifests/profile/base/swift/storage.pp2
3 files changed, 30 insertions, 12 deletions
diff --git a/manifests/profile/base/swift/proxy.pp b/manifests/profile/base/swift/proxy.pp
index 4e0e568..b047c36 100644
--- a/manifests/profile/base/swift/proxy.pp
+++ b/manifests/profile/base/swift/proxy.pp
@@ -107,7 +107,7 @@ class tripleo::profile::base::swift::proxy (
$enable_internal_tls = hiera('enable_internal_tls', false),
$memcache_port = 11211,
$memcache_servers = hiera('memcached_node_ips'),
- $step = hiera('step'),
+ $step = Integer(hiera('step')),
$swift_proxy_network = hiera('swift_proxy_network', undef),
$tls_proxy_bind_ip = undef,
$tls_proxy_fqdn = undef,
diff --git a/manifests/profile/base/swift/ringbuilder.pp b/manifests/profile/base/swift/ringbuilder.pp
index f7cfea4..3ab3234 100644
--- a/manifests/profile/base/swift/ringbuilder.pp
+++ b/manifests/profile/base/swift/ringbuilder.pp
@@ -69,11 +69,15 @@
# [*swift_ring_put_tempurl*]
# PUT tempurl to upload Swift rings to
#
+# [*skip_consistency_check*]
+# If set to true, skip the recon check to ensure rings are identical on all
+# nodes. Defaults to false
+#
class tripleo::profile::base::swift::ringbuilder (
$replicas,
$build_ring = true,
$devices = undef,
- $step = hiera('step'),
+ $step = Integer(hiera('step')),
$swift_zones = '1',
$raw_disk_prefix = 'r1z1-',
$raw_disks = [],
@@ -82,9 +86,10 @@ class tripleo::profile::base::swift::ringbuilder (
$min_part_hours = undef,
$swift_ring_get_tempurl = hiera('swift_ring_get_tempurl', ''),
$swift_ring_put_tempurl = hiera('swift_ring_put_tempurl', ''),
+ $skip_consistency_check = false,
) {
- if $step == 2 and $swift_ring_get_tempurl != '' {
+ if $step >= 2 and $swift_ring_get_tempurl != '' {
exec{'fetch_swift_ring_tarball':
path => ['/usr/bin'],
command => "curl --insecure --silent '${swift_ring_get_tempurl}' -o /tmp/swift-rings.tar.gz",
@@ -130,22 +135,35 @@ class tripleo::profile::base::swift::ringbuilder (
}
Ring_object_device<| |> ~> Exec['rebalance_object']
- Ring_object_device<| |> ~> Exec['rebalance_account']
- Ring_object_device<| |> ~> Exec['rebalance_container']
+ Ring_account_device<| |> ~> Exec['rebalance_account']
+ Ring_container_device<| |> ~> Exec['rebalance_container']
}
}
- if $step == 5 and $build_ring and $swift_ring_put_tempurl != '' {
- exec{'create_swift_ring_tarball':
- path => ['/bin', '/usr/bin'],
- command => 'tar cvzf /tmp/swift-rings.tar.gz /etc/swift/*.builder /etc/swift/*.ring.gz /etc/swift/backups/',
- unless => 'swift-recon --md5 | grep -q "doesn\'t match"'
- } ~>
+ if $step >= 5 and $build_ring and $swift_ring_put_tempurl != '' {
+ if $skip_consistency_check {
+ exec{'create_swift_ring_tarball':
+ path => ['/bin', '/usr/bin'],
+ command => 'tar cvzf /tmp/swift-rings.tar.gz /etc/swift/*.builder /etc/swift/*.ring.gz /etc/swift/backups/',
+ }
+ } else {
+ exec{'create_swift_ring_tarball':
+ path => ['/bin', '/usr/bin'],
+ command => 'tar cvzf /tmp/swift-rings.tar.gz /etc/swift/*.builder /etc/swift/*.ring.gz /etc/swift/backups/',
+ unless => 'swift-recon --md5 | grep -q "doesn\'t match"',
+ }
+ }
exec{'upload_swift_ring_tarball':
path => ['/usr/bin'],
command => "curl --insecure --silent -X PUT '${$swift_ring_put_tempurl}' --data-binary @/tmp/swift-rings.tar.gz",
require => Exec['create_swift_ring_tarball'],
refreshonly => true,
}
+
+ Exec['rebalance_account'] ~> Exec['create_swift_ring_tarball']
+ Exec['rebalance_container'] ~> Exec['create_swift_ring_tarball']
+ Exec['rebalance_object'] ~> Exec['create_swift_ring_tarball']
+
+ Exec['create_swift_ring_tarball'] ~> Exec['upload_swift_ring_tarball']
}
}
diff --git a/manifests/profile/base/swift/storage.pp b/manifests/profile/base/swift/storage.pp
index 5018d77..3d0ba16 100644
--- a/manifests/profile/base/swift/storage.pp
+++ b/manifests/profile/base/swift/storage.pp
@@ -30,7 +30,7 @@
class tripleo::profile::base::swift::storage (
# Deprecated conditional to support ControllerEnableSwiftStorage parameter
$enable_swift_storage = true,
- $step = hiera('step'),
+ $step = Integer(hiera('step')),
) {
if $step >= 4 {
if $enable_swift_storage {