summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-05-26 01:02:07 +0000
committerGerrit Code Review <review@openstack.org>2017-05-26 01:02:07 +0000
commite6e78925f2674e33e8262a842412ebe66e89cf2d (patch)
treecd86f3c1ecdc86abf93d34be2d4a15754f40923a
parent022f50f31d48b795f1d31383cf69c0de6116910f (diff)
parent55b2fa409a176070f3b89fa0e51f32312bfdc7c4 (diff)
downloadswift-e6e78925f2674e33e8262a842412ebe66e89cf2d.tar.gz
Merge "Fixed get ring name from recon cli" into stable/ocata
-rw-r--r--swift/cli/recon.py2
-rw-r--r--test/unit/cli/test_recon.py20
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