I just run replication report from swift-recon, it tried to fetch all hosts in the ring files and count all data from each host with port together, but some data are duplicated (same host IP with different ports) and that should be ignored.
I only have 3 nodes, 192.168.200.21 and 192.168.200.222 are PACO and 192.168.221 is object-only node.
[vagrant@dev222 ~]$ sudo swift-recon -r -v
===============================================================================
--> Starting reconnaissance on 11 hosts
===============================================================================
[2016-08-11 10:00:48] Checking on replication
-> http://192.168.200.21:6000/recon/replication/object: {u'replication_last': 1470909623.250999, u'replication_stats': {u'rsync': 0, u'success': 1320, u'start': 1470909605.8969, u'attempted': 660, u'remove': 0, u'failure': 88, u'hashmatch': 1320, u'failure_nodes': {u'192.168.200.21': {u'd7': 8, u'd5': 8, u'd15': 8}, u'192.168.200.221': {u'd16': 8, u'd10': 8, u'd11': 8, u'd9': 8}, u'192.168.200.222': {u'd2': 8, u'd3': 8, u'd0': 8, u'd1': 8}}}, u'replication_time': 0.2891279339790344, u'object_replication_last': 1470909623.250999, u'object_replication_time': 0.2891279339790344}
-> http://192.168.200.222:6006/recon/replication/object: {u'replication_last': 1470909618.752044, u'replication_stats': {u'rsync': 0, u'success': 1520, u'start': 1470909588.776748, u'attempted': 760, u'remove': 0, u'failure': 77, u'hashmatch': 1520, u'failure_nodes': {u'192.168.200.21': {u'd7': 7, u'd5': 7, u'd15': 7}, u'192.168.200.221': {u'd16': 7, u'd10': 7, u'd11': 7, u'd9': 7}, u'192.168.200.222': {u'd2': 7, u'd3': 7, u'd0': 7, u'd1': 7}}}, u'replication_time': 0.49958388408025106, u'object_replication_last': 1470909618.752044, u'object_replication_time': 0.49958388408025106}
-> http://192.168.200.222:6000/recon/replication/object: {u'replication_last': 1470909618.752044, u'replication_stats': {u'rsync': 0, u'success': 1520, u'start': 1470909588.776748, u'attempted': 760, u'remove': 0, u'failure': 77, u'hashmatch': 1520, u'failure_nodes': {u'192.168.200.21': {u'd7': 7, u'd5': 7, u'd15': 7}, u'192.168.200.221': {u'd16': 7, u'd10': 7, u'd11': 7, u'd9': 7}, u'192.168.200.222': {u'd2': 7, u'd3': 7, u'd0': 7, u'd1': 7}}}, u'replication_time': 0.49958388408025106, u'object_replication_last': 1470909618.752044, u'object_replication_time': 0.49958388408025106}
-> http://192.168.200.222:6008/recon/replication/object: {u'replication_last': 1470909618.752044, u'replication_stats': {u'rsync': 0, u'success': 1520, u'start': 1470909588.776748, u'attempted': 760, u'remove': 0, u'failure': 77, u'hashmatch': 1520, u'failure_nodes': {u'192.168.200.21': {u'd7': 7, u'd5': 7, u'd15': 7}, u'192.168.200.221': {u'd16': 7, u'd10': 7, u'd11': 7, u'd9': 7}, u'192.168.200.222': {u'd2': 7, u'd3': 7, u'd0': 7, u'd1': 7}}}, u'replication_time': 0.49958388408025106, u'object_replication_last': 1470909618.752044, u'object_replication_time': 0.49958388408025106}
-> http://192.168.200.221:6000/recon/replication/object: {u'replication_last': 1470909625.101926, u'replication_stats': {u'rsync': 0, u'success': 1522, u'start': 1470909603.783551, u'attempted': 761, u'remove': 0, u'failure': 22, u'hashmatch': 1522, u'failure_nodes': {u'192.168.200.21': {u'd7': 2, u'd5': 2, u'd15': 2}, u'192.168.200.221': {u'd16': 2, u'd10': 2, u'd11': 2, u'd9': 2}, u'192.168.200.222': {u'd2': 2, u'd3': 2, u'd0': 2, u'd1': 2}}}, u'replication_time': 0.3553021828333537, u'object_replication_last': 1470909625.101926, u'object_replication_time': 0.3553021828333537}
-> http://192.168.200.221:6006/recon/replication/object: {u'replication_last': 1470909625.101926, u'replication_stats': {u'rsync': 0, u'success': 1522, u'start': 1470909603.783551, u'attempted': 761, u'remove': 0, u'failure': 22, u'hashmatch': 1522, u'failure_nodes': {u'192.168.200.21': {u'd7': 2, u'd5': 2, u'd15': 2}, u'192.168.200.221': {u'd16': 2, u'd10': 2, u'd11': 2, u'd9': 2}, u'192.168.200.222': {u'd2': 2, u'd3': 2, u'd0': 2, u'd1': 2}}}, u'replication_time': 0.3553021828333537, u'object_replication_last': 1470909625.101926, u'object_replication_time': 0.3553021828333537}
-> http://192.168.200.221:6008/recon/replication/object: {u'replication_last': 1470909625.101926, u'replication_stats': {u'rsync': 0, u'success': 1522, u'start': 1470909603.783551, u'attempted': 761, u'remove': 0, u'failure': 22, u'hashmatch': 1522, u'failure_nodes': {u'192.168.200.21': {u'd7': 2, u'd5': 2, u'd15': 2}, u'192.168.200.221': {u'd16': 2, u'd10': 2, u'd11': 2, u'd9': 2}, u'192.168.200.222': {u'd2': 2, u'd3': 2, u'd0': 2, u'd1': 2}}}, u'replication_time': 0.3553021828333537, u'object_replication_last': 1470909625.101926, u'object_replication_time': 0.3553021828333537}
-> http://192.168.200.21:6007/recon/replication/object: {u'replication_last': 1470909623.250999, u'replication_stats': {u'rsync': 0, u'success': 1320, u'start': 1470909605.8969, u'attempted': 660, u'remove': 0, u'failure': 88, u'hashmatch': 1320, u'failure_nodes': {u'192.168.200.21': {u'd7': 8, u'd5': 8, u'd15': 8}, u'192.168.200.221': {u'd16': 8, u'd10': 8, u'd11': 8, u'd9': 8}, u'192.168.200.222': {u'd2': 8, u'd3': 8, u'd0': 8, u'd1': 8}}}, u'replication_time': 0.2891279339790344, u'object_replication_last': 1470909623.250999, u'object_replication_time': 0.2891279339790344}
-> http://192.168.200.222:6007/recon/replication/object: {u'replication_last': 1470909618.752044, u'replication_stats': {u'rsync': 0, u'success': 1520, u'start': 1470909588.776748, u'attempted': 760, u'remove': 0, u'failure': 77, u'hashmatch': 1520, u'failure_nodes': {u'192.168.200.21': {u'd7': 7, u'd5': 7, u'd15': 7}, u'192.168.200.221': {u'd16': 7, u'd10': 7, u'd11': 7, u'd9': 7}, u'192.168.200.222': {u'd2': 7, u'd3': 7, u'd0': 7, u'd1': 7}}}, u'replication_time': 0.49958388408025106, u'object_replication_last': 1470909618.752044, u'object_replication_time': 0.49958388408025106}
-> http://192.168.200.221:6007/recon/replication/object: {u'replication_last': 1470909625.101926, u'replication_stats': {u'rsync': 0, u'success': 1522, u'start': 1470909603.783551, u'attempted': 761, u'remove': 0, u'failure': 22, u'hashmatch': 1522, u'failure_nodes': {u'192.168.200.21': {u'd7': 2, u'd5': 2, u'd15': 2}, u'192.168.200.221': {u'd16': 2, u'd10': 2, u'd11': 2, u'd9': 2}, u'192.168.200.222': {u'd2': 2, u'd3': 2, u'd0': 2, u'd1': 2}}}, u'replication_time': 0.3553021828333537, u'object_replication_last': 1470909625.101926, u'object_replication_time': 0.3553021828333537}
-> http://192.168.200.21:6006/recon/replication/object: {u'replication_last': 1470909623.250999, u'replication_stats': {u'rsync': 0, u'success': 1320, u'start': 1470909605.8969, u'attempted': 660, u'remove': 0, u'failure': 88, u'hashmatch': 1320, u'failure_nodes': {u'192.168.200.21': {u'd7': 8, u'd5': 8, u'd15': 8}, u'192.168.200.221': {u'd16': 8, u'd10': 8, u'd11': 8, u'd9': 8}, u'192.168.200.222': {u'd2': 8, u'd3': 8, u'd0': 8, u'd1': 8}}}, u'replication_time': 0.2891279339790344, u'object_replication_last': 1470909623.250999, u'object_replication_time': 0.2891279339790344}
[replication_failure] low: 22, high: 88, avg: 60.0, total: 660, Failed: 0.0%, no_result: 0, reported: 11
[replication_success] low: 1320, high: 1522, avg: 1466.2, total: 16128, Failed: 0.0%, no_result: 0, reported: 11
[replication_time] low: 0, high: 0, avg: 0.4, total: 4, Failed: 0.0%, no_result: 0, reported: 11
[replication_attempted] low: 660, high: 761, avg: 733.1, total: 8064, Failed: 0.0%, no_result: 0, reported: 11
Oldest completion was 2016-08-11 10:00:18 (29 seconds ago) by 192.168.200.222:6000.
Most recent completion was 2016-08-11 10:00:25 (23 seconds ago) by 192.168.200.221:6006.
===============================================================================
The patch https:/ /review. openstack. org/#/c/ 343514/