Add object-reconstructor for swift EC

Swift Erasure Coding requires the object-reconstructor to be running,
this PR adds the object-reconstructor configuration and systemd/upstart
file.

Additionally, this PR adds testing for an erasure-coding policy as well
as for multiple policies in 1 deployment.

Change-Id: I71fe3d77e93112b9d27c93b37b59e6242cb3e00e
Closes-Bug: #1634859
This commit is contained in:
Andy McCrae 2016-10-19 18:12:28 +01:00
parent c86cf011e0
commit cd222e8cff
4 changed files with 43 additions and 0 deletions

View File

@ -365,6 +365,10 @@ swift_services:
group: swift_obj
program_name: "swift-object-expirer"
program_config_options: "/etc/swift/object-server/object-expirer.conf"
swift-object-reconstructor:
group: swift_obj
program_name: "swift-object-reconstructor"
program_config_options: "{{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server.conf') }}"
swift-proxy-server:
group: swift_proxy
program_name: "swift-proxy-server"

View File

@ -30,3 +30,8 @@ rsync_module = {replication_ip}::object_{device}
[object-auditor]
log_facility = LOG_LOCAL4
[object-reconstructor]
log_facility = LOG_LOCAL4
concurrency = 6
reclaim_age = {{ reclaim_age | default(604800) }}

View File

@ -47,6 +47,11 @@ rsync_module = {replication_ip}::object_{device}
[object-auditor]
log_facility = LOG_LOCAL4
[object-reconstructor]
log_facility = LOG_LOCAL4
concurrency = 6
reclaim_age = {{ reclaim_age | default(604800) }}
{% endif %}
[object-updater]

View File

@ -20,3 +20,32 @@ bridges:
ip_addr: "10.1.2.1"
- name: "br-repl"
ip_addr: "10.1.3.1"
swift:
storage_network: "{{ test_swift_storage_network | default('eth2') }}"
replication_network: "{{ test_swift_repl_network | default('eth3') }}"
part_power: 8
repl_number: "{{ test_swift_repl_number | default(3) }}"
region: "{{ test_swift_region | default(1) }}"
groups:
- account
- container
- gold
- ec-tests
drives:
- name: swift1
- name: swift2
mount_point: /openstack
storage_policies:
- policy:
name: gold
index: 0
default: True
- policy:
name: ec-tests
index: 1
policy_type: erasure_coding
ec_type: liberasurecode_rs_vand
ec_num_data_fragments: 3
ec_num_parity_fragments: 2
ec_object_segment_size: 1048576