diff --git a/changelogs/unreleased/smh-default-replication-factor.yml b/changelogs/unreleased/smh-default-replication-factor.yml new file mode 100644 index 0000000000000000000000000000000000000000..2261ed8a6f244761c1877cfc5b6e9287a2764f1b_Y2hhbmdlbG9ncy91bnJlbGVhc2VkL3NtaC1kZWZhdWx0LXJlcGxpY2F0aW9uLWZhY3Rvci55bWw= --- /dev/null +++ b/changelogs/unreleased/smh-default-replication-factor.yml @@ -0,0 +1,5 @@ +--- +title: Add default replication factor configuration option to Praefect +merge_request: 4988 +author: +type: added diff --git a/files/gitlab-config-template/gitlab.rb.template b/files/gitlab-config-template/gitlab.rb.template index 6a1ce1f2e82e895c0c902e6326ef602c1b570959_ZmlsZXMvZ2l0bGFiLWNvbmZpZy10ZW1wbGF0ZS9naXRsYWIucmIudGVtcGxhdGU=..2261ed8a6f244761c1877cfc5b6e9287a2764f1b_ZmlsZXMvZ2l0bGFiLWNvbmZpZy10ZW1wbGF0ZS9naXRsYWIucmIudGVtcGxhdGU= 100644 --- a/files/gitlab-config-template/gitlab.rb.template +++ b/files/gitlab-config-template/gitlab.rb.template @@ -2099,6 +2099,7 @@ # praefect['logging_format'] = "json" # praefect['virtual_storages'] = { # 'default' => { +# 'default_replication_factor' => 3, # 'nodes' => { # 'praefect-internal-0' => { # 'address' => 'tcp://10.23.56.78:8075', diff --git a/files/gitlab-cookbooks/praefect/templates/default/praefect-config.toml.erb b/files/gitlab-cookbooks/praefect/templates/default/praefect-config.toml.erb index 6a1ce1f2e82e895c0c902e6326ef602c1b570959_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wcmFlZmVjdC90ZW1wbGF0ZXMvZGVmYXVsdC9wcmFlZmVjdC1jb25maWcudG9tbC5lcmI=..2261ed8a6f244761c1877cfc5b6e9287a2764f1b_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wcmFlZmVjdC90ZW1wbGF0ZXMvZGVmYXVsdC9wcmFlZmVjdC1jb25maWcudG9tbC5lcmI= 100644 --- a/files/gitlab-cookbooks/praefect/templates/default/praefect-config.toml.erb +++ b/files/gitlab-cookbooks/praefect/templates/default/praefect-config.toml.erb @@ -63,6 +63,9 @@ <% @virtual_storages.each do |name, config| %> [[virtual_storage]] name = '<%= name %>' +<% if config['default_replication_factor'] %> +default_replication_factor = <%= config['default_replication_factor'] %> +<% end %> <% config['nodes'].each do |storage, node| %> [[virtual_storage.node]] storage = '<%= storage %>' diff --git a/spec/chef/recipes/praefect_spec.rb b/spec/chef/recipes/praefect_spec.rb index 6a1ce1f2e82e895c0c902e6326ef602c1b570959_c3BlYy9jaGVmL3JlY2lwZXMvcHJhZWZlY3Rfc3BlYy5yYg==..2261ed8a6f244761c1877cfc5b6e9287a2764f1b_c3BlYy9jaGVmL3JlY2lwZXMvcHJhZWZlY3Rfc3BlYy5yYg== 100644 --- a/spec/chef/recipes/praefect_spec.rb +++ b/spec/chef/recipes/praefect_spec.rb @@ -92,6 +92,7 @@ let(:virtual_storages) do { 'default' => { + 'default_replication_factor' => 2, 'nodes' => { 'praefect1' => { address: 'tcp://node1.internal', token: "praefect1-token" }, 'praefect2' => { address: 'tcp://node2.internal', token: "praefect2-token" }, @@ -205,6 +206,7 @@ 'virtual_storage' => [ { 'name' => 'default', + 'default_replication_factor' => 2, 'node' => [ { 'address' => 'tcp://node1.internal',