diff options
Diffstat (limited to 'manifests/profile/base/swift')
-rw-r--r-- | manifests/profile/base/swift/proxy.pp | 2 | ||||
-rw-r--r-- | manifests/profile/base/swift/ringbuilder.pp | 38 | ||||
-rw-r--r-- | manifests/profile/base/swift/storage.pp | 2 |
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 { |