Merge "Fix get keyring content failed when ceph auth disabled"

This commit is contained in:
Zuul 2019-02-26 18:55:38 +00:00 committed by Gerrit Code Review
commit eaff50d9a0
2 changed files with 11 additions and 5 deletions

View File

@ -71,11 +71,14 @@ class RBDConnector(base.BaseLinuxConnector):
def _check_or_get_keyring_contents(self, keyring, cluster_name, user):
try:
if keyring is None and user:
keyring_path = ("/etc/ceph/%s.client.%s.keyring" %
(cluster_name, user))
with open(keyring_path, 'r') as keyring_file:
keyring = keyring_file.read()
if keyring is None:
if user:
keyring_path = ("/etc/ceph/%s.client.%s.keyring" %
(cluster_name, user))
with open(keyring_path, 'r') as keyring_file:
keyring = keyring_file.read()
else:
keyring = ''
return keyring
except IOError:
msg = (_("Keyring path %s is not readable.") % (keyring_path))

View File

@ -123,6 +123,9 @@ class RBDConnectorTestCase(test_connector.ConnectorTestCase):
self.assertEqual(
conn._check_or_get_keyring_contents(keyring, 'cluster',
'user'), keyring_data)
self.assertEqual(
conn._check_or_get_keyring_contents(keyring, 'cluster',
None), '')
def test_keyring_raise_error(self):
conn = rbd.RBDConnector(None)