diff --git a/defaults/main.yml b/defaults/main.yml index 4d00f7a5..8bbc8c33 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -358,7 +358,7 @@ swift_services: swift-account-server: group: swift_acc service_name: "swift-account-server" - execstarts: "{{ swift_bin }}/swift-account-server /etc/swift/account-server/account-server.conf" + execstarts: "{{ swift_bin }}/swift-account-server /etc/swift/account-server/account-server-2.conf" init_config_overrides: "{{ swift_account_server_init_overrides }}" start_order: 2 swift-account-replicator-server: @@ -371,7 +371,7 @@ swift_services: swift-container-server: group: swift_cont service_name: swift-container-server - execstarts: "{{ swift_bin }}/swift-container-server /etc/swift/container-server/container-server.conf" + execstarts: "{{ swift_bin }}/swift-container-server /etc/swift/container-server/container-server-2.conf" init_config_overrides: "{{ swift_container_server_init_overrides }}" start_order: 4 swift-container-replicator-server: @@ -384,7 +384,7 @@ swift_services: swift-object-server: group: swift_obj service_name: swift-object-server - execstarts: "{{ swift_bin }}/swift-object-server /etc/swift/object-server/object-server.conf" + execstarts: "{{ swift_bin }}/swift-object-server /etc/swift/object-server/object-server-2.conf" init_config_overrides: "{{ swift_object_server_init_overrides }}" start_order: 6 swift-object-replicator-server: @@ -429,13 +429,13 @@ swift_services: swift-container-replicator: group: swift_cont service_name: "swift-container-replicator" - execstarts: "{{ swift_bin }}/swift-container-replicator {{ swift_dedicated_replication | ternary('/etc/swift/container-server/container-server-replicator.conf', '/etc/swift/container-server/container-server.conf') }}" + execstarts: "{{ swift_bin }}/swift-container-replicator {{ swift_dedicated_replication | ternary('/etc/swift/container-server/container-server-replicator.conf', '/etc/swift/container-server/container-server-2.conf') }}" init_config_overrides: "{{ swift_container_replicator_init_overrides }}" start_order: 13 swift-container-sync: group: swift_cont service_name: "swift-container-sync" - execstarts: "{{ swift_bin }}/swift-container-sync /etc/swift/container-server/container-server.conf" + execstarts: "{{ swift_bin }}/swift-container-sync /etc/swift/container-server/container-server-2.conf" init_config_overrides: "{{ swift_container_sync_init_overrides }}" start_order: 14 swift-container-updater: @@ -448,7 +448,7 @@ swift_services: swift-object-auditor: group: swift_obj service_name: "swift-object-auditor" - execstarts: "{{ swift_bin }}/swift-object-auditor {{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server.conf') }}" + execstarts: "{{ swift_bin }}/swift-object-auditor {{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server-2.conf') }}" init_config_overrides: "{{ swift_object_auditor_init_overrides }}" start_order: 16 swift-object-expirer: @@ -460,19 +460,19 @@ swift_services: swift-object-reconstructor: group: swift_obj service_name: "swift-object-reconstructor" - execstarts: "{{ swift_bin }}/swift-object-reconstructor {{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server.conf') }}" + execstarts: "{{ swift_bin }}/swift-object-reconstructor {{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server-2.conf') }}" init_config_overrides: "{{ swift_object_reconstructor_init_overrides }}" start_order: 18 swift-object-replicator: group: swift_obj service_name: "swift-object-replicator" - execstarts: "{{ swift_bin }}/swift-object-replicator {{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server.conf') }}" + execstarts: "{{ swift_bin }}/swift-object-replicator {{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server-2.conf') }}" init_config_overrides: "{{ swift_object_replicator_init_overrides }}" start_order: 19 swift-object-updater: group: swift_obj service_name: "swift-object-updater" - execstarts: "{{ swift_bin }}/swift-object-updater /etc/swift/object-server/object-server.conf" + execstarts: "{{ swift_bin }}/swift-object-updater /etc/swift/object-server/object-server-2.conf" init_config_overrides: "{{ swift_object_updater_init_overrides }}" start_order: 20 diff --git a/tasks/swift_storage_hosts_account.yml b/tasks/swift_storage_hosts_account.yml index ddda1aba..47ccee8d 100644 --- a/tasks/swift_storage_hosts_account.yml +++ b/tasks/swift_storage_hosts_account.yml @@ -15,13 +15,18 @@ - name: "Swift account server configuration" config_template: - src: "account-server.conf.j2" - dest: "/etc/swift/account-server/account-server.conf" + src: "{{ item.src }}" + dest: "{{ item.dest }}" owner: "{{ swift_system_user_name }}" group: "{{ swift_system_group_name }}" mode: "0644" config_overrides: "{{ swift_account_server_conf_overrides }}" config_type: "ini" + with_items: + - src: "account-server-2.conf.j2" + dest: "/etc/swift/account-server/account-server-2.conf" + - src: "account-server.conf.j2" + dest: "/etc/swift/account-server/account-server.conf" notify: Restart swift services # We only create the dedicated replicator configuration when using a dedicated replication_network diff --git a/tasks/swift_storage_hosts_container.yml b/tasks/swift_storage_hosts_container.yml index a18a94c5..68387896 100644 --- a/tasks/swift_storage_hosts_container.yml +++ b/tasks/swift_storage_hosts_container.yml @@ -27,6 +27,10 @@ dest: "/etc/swift/container-server/container-server.conf" config_overrides: "{{ swift_container_server_conf_overrides }}" config_type: "ini" + - src: "container-server-2.conf.j2" + dest: "/etc/swift/container-server/container-server-2.conf" + config_overrides: "{{ swift_container_server_conf_overrides }}" + config_type: "ini" - src: "container-reconciler.conf.j2" dest: "/etc/swift/container-server/container-reconciler.conf" config_overrides: "{{ swift_container_reconciler_conf_overrides }}" diff --git a/tasks/swift_storage_hosts_object.yml b/tasks/swift_storage_hosts_object.yml index b09eb948..3883e59b 100644 --- a/tasks/swift_storage_hosts_object.yml +++ b/tasks/swift_storage_hosts_object.yml @@ -27,6 +27,10 @@ dest: "/etc/swift/object-server/object-server.conf" config_overrides: "{{ swift_object_server_conf_overrides }}" config_type: "ini" + - src: "object-server-2.conf.j2" + dest: "/etc/swift/object-server/object-server-2.conf" + config_overrides: "{{ swift_object_server_conf_overrides }}" + config_type: "ini" - src: "object-expirer.conf.j2" dest: "/etc/swift/object-server/object-expirer.conf" config_overrides: "{{ swift_object_expirer_conf_overrides }}" diff --git a/templates/account-server-2.conf.j2 b/templates/account-server-2.conf.j2 new file mode 100644 index 00000000..5303bd48 --- /dev/null +++ b/templates/account-server-2.conf.j2 @@ -0,0 +1,54 @@ +# {{ ansible_managed }} + +{% set _api_threads = ansible_processor_vcpus|default(2) // 2 %} +{% set api_threads = _api_threads if _api_threads > 0 else 1 %} + +[DEFAULT] +# Disable stderr logging +use_stderr = False +bind_ip = {{ swift_storage_address }} +bind_port = {{ swift_account_port }} +workers = {{ swift_account_server_workers | default(api_threads) }} + +user = {{ swift_system_user_name }} +devices = {{ swift_vars.mount_point | default(swift.mount_point) }} + +{% set _statsd_host = swift_vars.statsd_host | default(swift.statsd_host | default(statsd_host | default(False))) %} +{% if _statsd_host | bool %} +log_statsd_host = {{ _statsd_host }} +log_statsd_port = {{ swift_vars.statsd_port | default(swift.statsd_port | default(statsd_port)) }} +log_statsd_default_sample_rate = {{ swift_vars.statsd_default_sample_rate | default(swift.statsd_default_sample_rate | default(statsd_default_sample_rate)) }} +log_statsd_sample_rate_factor = {{ swift_vars.statsd_sample_rate_factor | default(swift.statsd_sample_rate_factor | default(statsd_sample_rate_factor))}} +log_statsd_metric_prefix = {{ swift_vars.statsd_metric_prefix | default(swift.statsd_metric_prefix | default(inventory_hostname)) }} +{% endif %} + +disable_fallocate = {{ swift_account_disable_fallocate }} +fallocate_reserve = {{ swift_account_fallocate_reserve }} + +[pipeline:main] +pipeline = healthcheck recon account-server + +[app:account-server] +use = egg:swift#account + +[filter:healthcheck] +use = egg:swift#healthcheck + +[filter:recon] +use = egg:swift#recon +recon_cache_path = /var/cache/swift +recon_lock_path = /var/lock + +{% if not swift_dedicated_replication %} +[account-replicator] +per_diff = 10000 +reclaim_age = {{ reclaim_age | default(604800) }} +{% endif %} + +[account-reaper] +delay_reaping = 604800 + +[filter:xprofile] +use = egg:swift#xprofile + +[account-auditor] diff --git a/templates/account-server.conf.j2 b/templates/account-server.conf.j2 index 820c066f..4f182d12 100644 --- a/templates/account-server.conf.j2 +++ b/templates/account-server.conf.j2 @@ -23,7 +23,7 @@ log_statsd_metric_prefix = {{ swift_vars.statsd_metric_prefix | default(swift.st {% endif %} disable_fallocate = {{ swift_account_disable_fallocate }} -fallocate_reserve = {{ swift_account_fallocate_reserve }} +fallocate_reserve = {{ swift_account_fallocate_reserve }}% [pipeline:main] pipeline = healthcheck recon account-server @@ -53,3 +53,5 @@ delay_reaping = 604800 [filter:xprofile] use = egg:swift#xprofile + +[account-auditor] diff --git a/templates/container-server-2.conf.j2 b/templates/container-server-2.conf.j2 new file mode 100644 index 00000000..c1fcc692 --- /dev/null +++ b/templates/container-server-2.conf.j2 @@ -0,0 +1,58 @@ +# {{ ansible_managed }} + +{% set _api_threads = ansible_processor_vcpus|default(2) // 2 %} +{% set api_threads = _api_threads if _api_threads > 0 else 1 %} + +[DEFAULT] +# Disable stderr logging +use_stderr = False +bind_ip = {{ swift_storage_address }} +bind_port = {{ swift_container_port }} +workers = {{ swift_container_server_workers | default(api_threads) }} + +user = {{ swift_system_user_name }} +devices = {{ swift_vars.mount_point | default(swift.mount_point) }} + +{% set _statsd_host = swift_vars.statsd_host | default(swift.statsd_host | default(statsd_host | default(False))) %} +{% if _statsd_host | bool %} +log_statsd_host = {{ _statsd_host }} +log_statsd_port = {{ swift_vars.statsd_port | default(swift.statsd_port | default(statsd_port)) }} +log_statsd_default_sample_rate = {{ swift_vars.statsd_default_sample_rate | default(swift.statsd_default_sample_rate | default(statsd_default_sample_rate)) }} +log_statsd_sample_rate_factor = {{ swift_vars.statsd_sample_rate_factor | default(swift.statsd_sample_rate_factor | default(statsd_sample_rate_factor))}} +log_statsd_metric_prefix = {{ swift_vars.statsd_metric_prefix | default(swift.statsd_metric_prefix | default(inventory_hostname)) }} +{% endif %} + +disable_fallocate = {{ swift_container_disable_fallocate }} +fallocate_reserve = {{ swift_container_fallocate_reserve }} + +[pipeline:main] +pipeline = healthcheck recon container-server + +[app:container-server] +use = egg:swift#container +allow_versions = {{ swift_allow_versions }} + +[filter:healthcheck] +use = egg:swift#healthcheck + +[filter:recon] +use = egg:swift#recon +recon_cache_path = /var/cache/swift +recon_lock_path = /var/lock + +{% if not swift_dedicated_replication %} +[container-replicator] +reclaim_age = {{ reclaim_age | default(604800) }} +{% endif %} + +[container-updater] +node_timeout = 15 +conn_timeout = 5 + +[container-sync] +internal_client_conf_path = /etc/swift/container-server/internal-client.conf + +[filter:xprofile] +use = egg:swift#xprofile + +[container-auditor] diff --git a/templates/container-server.conf.j2 b/templates/container-server.conf.j2 index a6c4d5ad..8a8fbbdc 100644 --- a/templates/container-server.conf.j2 +++ b/templates/container-server.conf.j2 @@ -23,7 +23,7 @@ log_statsd_metric_prefix = {{ swift_vars.statsd_metric_prefix | default(swift.st {% endif %} disable_fallocate = {{ swift_container_disable_fallocate }} -fallocate_reserve = {{ swift_container_fallocate_reserve }} +fallocate_reserve = {{ swift_container_fallocate_reserve }}% [pipeline:main] pipeline = healthcheck recon container-server @@ -57,3 +57,5 @@ internal_client_conf_path = /etc/swift/container-server/internal-client.conf [filter:xprofile] use = egg:swift#xprofile + +[container-auditor] diff --git a/templates/object-server-2.conf.j2 b/templates/object-server-2.conf.j2 new file mode 100644 index 00000000..13a18d48 --- /dev/null +++ b/templates/object-server-2.conf.j2 @@ -0,0 +1,66 @@ +# {{ ansible_managed }} + +{% set _api_threads = ansible_processor_vcpus|default(2) // 2 %} +{% set api_threads = _api_threads if _api_threads > 0 else 1 %} + +[DEFAULT] +# Disable stderr logging +use_stderr = False +bind_ip = {{ swift_storage_address }} +bind_port = {{ swift_object_port }} +workers = {{ swift_object_server_workers | default(api_threads) }} + +user = {{ swift_system_user_name }} +swift_dir = /etc/swift +devices = {{ swift_vars.mount_point | default(swift.mount_point) }} + +{% set _statsd_host = swift_vars.statsd_host | default(swift.statsd_host | default(statsd_host | default(False))) %} +{% if _statsd_host | bool %} +log_statsd_host = {{ _statsd_host }} +log_statsd_port = {{ swift_vars.statsd_port | default(swift.statsd_port | default(statsd_port)) }} +log_statsd_default_sample_rate = {{ swift_vars.statsd_default_sample_rate | default(swift.statsd_default_sample_rate | default(statsd_default_sample_rate)) }} +log_statsd_sample_rate_factor = {{ swift_vars.statsd_sample_rate_factor | default(swift.statsd_sample_rate_factor | default(statsd_sample_rate_factor))}} +log_statsd_metric_prefix = {{ swift_vars.statsd_metric_prefix | default(swift.statsd_metric_prefix | default(inventory_hostname)) }} +{% endif %} + +disable_fallocate = {{ swift_object_disable_fallocate }} +fallocate_reserve = {{ swift_object_fallocate_reserve }} + +[pipeline:main] +pipeline = healthcheck recon object-server + +[app:object-server] +use = egg:swift#object +mb_per_sync = 64 + +[filter:healthcheck] +use = egg:swift#healthcheck + +[filter:recon] +use = egg:swift#recon +recon_cache_path = /var/cache/swift +recon_lock_path = /var/lock + +{% if not swift_dedicated_replication %} +[object-replicator] +concurrency = 6 +reclaim_age = {{ reclaim_age | default(604800) }} +{% if swift_rsync_module_per_drive %} +rsync_module = {replication_ip}::object_{device} +{% endif %} + +[object-reconstructor] +concurrency = 6 +reclaim_age = {{ reclaim_age | default(604800) }} +{% endif %} + +[object-updater] +concurrency = 3 +concurrency = 3 +node_timeout = 60 +conn_timeout = 5 + +[filter:xprofile] +use = egg:swift#xprofile + +[object-auditor] diff --git a/templates/object-server-replicator.conf.j2 b/templates/object-server-replicator.conf.j2 index b886daa5..cbf68dc4 100644 --- a/templates/object-server-replicator.conf.j2 +++ b/templates/object-server-replicator.conf.j2 @@ -40,3 +40,5 @@ rsync_module = {replication_ip}::object_{device} [object-reconstructor] concurrency = 6 reclaim_age = {{ reclaim_age | default(604800) }} + +[object-auditor] diff --git a/templates/object-server.conf.j2 b/templates/object-server.conf.j2 index 996038e6..5c60a42a 100644 --- a/templates/object-server.conf.j2 +++ b/templates/object-server.conf.j2 @@ -24,7 +24,7 @@ log_statsd_metric_prefix = {{ swift_vars.statsd_metric_prefix | default(swift.st {% endif %} disable_fallocate = {{ swift_object_disable_fallocate }} -fallocate_reserve = {{ swift_object_fallocate_reserve }} +fallocate_reserve = {{ swift_object_fallocate_reserve }}% [pipeline:main] pipeline = healthcheck recon object-server @@ -65,3 +65,5 @@ conn_timeout = 5 [filter:xprofile] use = egg:swift#xprofile + +[object-auditor]