class packstack::swift::ringbuilder () { class { 'swift::ringbuilder': part_power => '18', replicas => hiera('CONFIG_SWIFT_STORAGE_REPLICAS'), min_part_hours => 1, require => Class['swift'], } if ($::operatingsystem == 'CentOS') and (versioncmp($::operatingsystemmajrelease, '9') == 0) { # sets up an rsync db that can be used to sync the ring DB class { 'swift::ringserver': local_net_ip => hiera('CONFIG_STORAGE_HOST_URL'), rsync_use_xinetd => false, } } else { # sets up an rsync db that can be used to sync the ring DB class { 'swift::ringserver': local_net_ip => hiera('CONFIG_STORAGE_HOST_URL'), } } if str2bool($::selinux) { selboolean { 'rsync_export_all_ro': value => on, persistent => true, } } create_resources(ring_account_device, hiera('SWIFT_RING_ACCOUNT_DEVICES', {})) create_resources(ring_object_device, hiera('SWIFT_RING_OBJECT_DEVICES', {})) create_resources(ring_container_device, hiera('SWIFT_RING_CONTAINER_DEVICES', {})) }