From af6fb24845b6f53a047efd1d9c2a80d42b3f8770 Mon Sep 17 00:00:00 2001 From: Christian Schwede Date: Wed, 15 Mar 2017 15:53:46 +0100 Subject: [PATCH] Add missing Swift object reconstructor service Adding the object-reconstructor service and enabling it by default. This is required for erasure coding. Change-Id: If388bcc1532d7db2132d4b206e13252a30fa9041 --- manifests/params.pp | 3 ++ manifests/storage/object.pp | 12 +++++++ ...econstructor-service-25dd7df5a7d25612.yaml | 4 +++ spec/classes/swift_storage_object_spec.rb | 36 ++++++++++--------- templates/object-server.conf.erb | 2 ++ 5 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 releasenotes/notes/swift-add-reconstructor-service-25dd7df5a7d25612.yaml diff --git a/manifests/params.pp b/manifests/params.pp index 527c00b0..f9a83e81 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -16,6 +16,7 @@ class swift::params { $object_package_name = 'swift-object' $object_server_service_name = 'swift-object' $object_auditor_service_name = 'swift-object-auditor' + $object_reconstructor_service_name = 'swift-object-reconstructor' $object_replicator_service_name = 'swift-object-replicator' $object_updater_service_name = 'swift-object-updater' $object_expirer_package_name = 'swift-object-expirer' @@ -41,6 +42,7 @@ class swift::params { $object_package_name = 'openstack-swift-object' $object_server_service_name = 'openstack-swift-object' $object_auditor_service_name = 'openstack-swift-object-auditor' + $object_reconstructor_service_name = 'openstack-swift-object-reconstructor' $object_replicator_service_name = 'openstack-swift-object-replicator' $object_updater_service_name = 'openstack-swift-object-updater' $object_expirer_package_name = 'openstack-swift-proxy' @@ -67,6 +69,7 @@ class swift::params { 'swift-proxy-server', 'swift-object-auditor', 'swift-object-expirer', + 'swift-object-reconstructor', 'swift-object-replicator', 'swift-object-server', 'swift-object-updater', diff --git a/manifests/storage/object.pp b/manifests/storage/object.pp index 34346b1e..2bb7302b 100644 --- a/manifests/storage/object.pp +++ b/manifests/storage/object.pp @@ -36,6 +36,7 @@ class swift::storage::object( include ::swift::deps Swift_config<| |> ~> Service['swift-object-updater'] + Swift_config<| |> ~> Service['swift-object-reconstructor'] swift::storage::generic { 'object': manage_service => $manage_service, @@ -62,4 +63,15 @@ class swift::storage::object( require => Package['swift-object'], service_subscribe => Concat["/etc/swift/${config_file_name}"], } + + swift::service { 'swift-object-reconstructor': + os_family_service_name => $::swift::params::object_reconstructor_service_name, + service_ensure => $service_ensure, + enabled => $enabled, + config_file_name => $config_file_name, + service_provider => $service_provider, + require => Package['swift-object'], + service_subscribe => Concat["/etc/swift/${config_file_name}"], + } + } diff --git a/releasenotes/notes/swift-add-reconstructor-service-25dd7df5a7d25612.yaml b/releasenotes/notes/swift-add-reconstructor-service-25dd7df5a7d25612.yaml new file mode 100644 index 00000000..99ff55b7 --- /dev/null +++ b/releasenotes/notes/swift-add-reconstructor-service-25dd7df5a7d25612.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Added the object-reconstructor service and enabled it by default. + This is required for erasure coding. diff --git a/spec/classes/swift_storage_object_spec.rb b/spec/classes/swift_storage_object_spec.rb index 506a76e9..b513ce6d 100644 --- a/spec/classes/swift_storage_object_spec.rb +++ b/spec/classes/swift_storage_object_spec.rb @@ -78,10 +78,11 @@ describe 'swift::storage::object' do let :platform_params do { :service_names => { - 'swift-object-server' => 'swift-object', - 'swift-object-replicator' => 'swift-object-replicator', - 'swift-object-updater' => 'swift-object-updater', - 'swift-object-auditor' => 'swift-object-auditor' + 'swift-object-server' => 'swift-object', + 'swift-object-reconstructor' => 'swift-object-reconstructor', + 'swift-object-replicator' => 'swift-object-replicator', + 'swift-object-updater' => 'swift-object-updater', + 'swift-object-auditor' => 'swift-object-auditor' }, :service_provider => nil } @@ -96,10 +97,11 @@ describe 'swift::storage::object' do let :platform_params do { :service_names => { - 'swift-object-server' => 'swift-object-server', - 'swift-object-replicator' => 'swift-object-replicator', - 'swift-object-updater' => 'swift-object-updater', - 'swift-object-auditor' => 'swift-object-auditor', + 'swift-object-server' => 'swift-object-server', + 'swift-object-reconstructor' => 'swift-object-reconstructor', + 'swift-object-replicator' => 'swift-object-replicator', + 'swift-object-updater' => 'swift-object-updater', + 'swift-object-auditor' => 'swift-object-auditor', }, :service_provider => 'swiftinit' } @@ -121,10 +123,11 @@ describe 'swift::storage::object' do let :platform_params do { :service_names => { - 'swift-object-server' => 'openstack-swift-object', - 'swift-object-replicator' => 'openstack-swift-object-replicator', - 'swift-object-updater' => 'openstack-swift-object-updater', - 'swift-object-auditor' => 'openstack-swift-object-auditor' + 'swift-object-server' => 'openstack-swift-object', + 'swift-object-reconstructor' => 'openstack-swift-object-reconstructor', + 'swift-object-replicator' => 'openstack-swift-object-replicator', + 'swift-object-updater' => 'openstack-swift-object-updater', + 'swift-object-auditor' => 'openstack-swift-object-auditor' } } end @@ -138,10 +141,11 @@ describe 'swift::storage::object' do let :platform_params do { :service_names => { - 'swift-object-server' => 'swift-object-server', - 'swift-object-replicator' => 'swift-object-replicator', - 'swift-object-updater' => 'swift-object-updater', - 'swift-object-auditor' => 'swift-object-auditor', + 'swift-object-server' => 'swift-object-server', + 'swift-object-reconstructor' => 'swift-object-reconstructor', + 'swift-object-replicator' => 'swift-object-replicator', + 'swift-object-updater' => 'swift-object-updater', + 'swift-object-auditor' => 'swift-object-auditor', }, :service_provider => 'swiftinit' } diff --git a/templates/object-server.conf.erb b/templates/object-server.conf.erb index 5013aa5a..99a8f7e9 100644 --- a/templates/object-server.conf.erb +++ b/templates/object-server.conf.erb @@ -42,3 +42,5 @@ concurrency = <%= @replicator_concurrency %> concurrency = <%= @updater_concurrency %> [object-auditor] + +[object-reconstructor]