diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-05-26 01:02:07 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-05-26 01:02:07 +0000 |
commit | e6e78925f2674e33e8262a842412ebe66e89cf2d (patch) | |
tree | cd86f3c1ecdc86abf93d34be2d4a15754f40923a | |
parent | 022f50f31d48b795f1d31383cf69c0de6116910f (diff) | |
parent | 55b2fa409a176070f3b89fa0e51f32312bfdc7c4 (diff) | |
download | swift-e6e78925f2674e33e8262a842412ebe66e89cf2d.tar.gz |
Merge "Fixed get ring name from recon cli" into stable/ocata
-rw-r--r-- | swift/cli/recon.py | 2 | ||||
-rw-r--r-- | test/unit/cli/test_recon.py | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/swift/cli/recon.py b/swift/cli/recon.py index 49df59694..346bb30c0 100644 --- a/swift/cli/recon.py +++ b/swift/cli/recon.py @@ -227,7 +227,7 @@ class SwiftRecon(object): if self.server_type == 'object': for ring_name in os.listdir(swift_dir): if ring_name.startswith('object') and \ - ring_name.endswith('ring.gz'): + ring_name.endswith('.ring.gz'): ring_names.add(ring_name) else: ring_name = '%s.ring.gz' % self.server_type diff --git a/test/unit/cli/test_recon.py b/test/unit/cli/test_recon.py index 141cfc5aa..bdec8d83c 100644 --- a/test/unit/cli/test_recon.py +++ b/test/unit/cli/test_recon.py @@ -263,6 +263,26 @@ class TestRecon(unittest.TestCase): self.assertEqual(set([('127.0.0.1', 10001), ('127.0.0.2', 10004)]), ips) + def test_get_error_ringnames(self): + # create invalid ring name files + invalid_ring_file_names = ('object.sring.gz', + 'object-1.sring.gz', + 'broken') + for invalid_ring in invalid_ring_file_names: + ring_path = os.path.join(self.swift_dir, invalid_ring) + with open(ring_path, 'w'): + pass + + hosts = [("127.0.0.1", "8080")] + self.recon_instance.verbose = True + self.recon_instance.server_type = 'object' + stdout = StringIO() + with mock.patch('sys.stdout', new=stdout), \ + mock.patch('swift.common.utils.md5'): + self.recon_instance.get_ringmd5(hosts, self.swift_dir) + output = stdout.getvalue() + self.assertNotIn('On disk ', output) + def test_get_ringmd5(self): for server_type in ('account', 'container', 'object', 'object-1'): ring_name = '%s.ring.gz' % server_type |