diff --git a/cinder/tests/test_coraid.py b/cinder/tests/test_coraid.py index 52297d7462f..cda121b2832 100644 --- a/cinder/tests/test_coraid.py +++ b/cinder/tests/test_coraid.py @@ -183,14 +183,14 @@ class TestCoraidRESTClient(test.TestCase): def test__set_group(self): setattr(self.rest_mock, '_set_group', lambda *_: fake_group_id) - self.stubs.Set(CoraidRESTClient, '_esm', + self.stubs.Set(CoraidRESTClient, '_admin_esm_cmd', lambda *_: fake_login_reply) self.drv._set_group(fake_login_reply) def test__set_group_fails_no_group(self): setattr(self.rest_mock, '_set_group', lambda *_: False) - self.stubs.Set(CoraidRESTClient, '_esm', + self.stubs.Set(CoraidRESTClient, '_admin_esm_cmd', lambda *_: fake_login_reply_group_fail) self.assertRaises(CoraidESMException, self.drv._set_group, @@ -199,14 +199,14 @@ class TestCoraidRESTClient(test.TestCase): def test__configure(self): setattr(self.rest_mock, '_configure', lambda *_: True) - self.stubs.Set(CoraidRESTClient, '_esm', + self.stubs.Set(CoraidRESTClient, '_esm_cmd', lambda *_: fake_esm_success) self.drv._configure(fake_configure_data) def test__get_volume_info(self): setattr(self.rest_mock, '_get_volume_info', lambda *_: fake_volume_info) - self.stubs.Set(CoraidRESTClient, '_esm', + self.stubs.Set(CoraidRESTClient, '_esm_cmd', lambda *_: fake_esm_fetch) self.drv._get_volume_info(fake_volume_name) diff --git a/cinder/volume/drivers/coraid.py b/cinder/volume/drivers/coraid.py index d95024f165f..3c0616b8364 100644 --- a/cinder/volume/drivers/coraid.py +++ b/cinder/volume/drivers/coraid.py @@ -95,7 +95,7 @@ class CoraidRESTClient(object): url = ('admin?op=login&username=%s&password=%s' % (self.user, self.password)) data = 'Login' - reply = self._esm(url, data) + reply = self._admin_esm_cmd(url, data) if reply.get('state') == 'adminSucceed': self.session = time.time() + 1100 msg = _('Update session cookie %(session)s') @@ -116,7 +116,7 @@ class CoraidRESTClient(object): if groupId: url = ('admin?op=setRbacGroup&groupId=%s' % (groupId)) data = 'Group' - reply = self._esm(url, data) + reply = self._admin_esm_cmd(url, data) if reply.get('state') == 'adminSucceed': return True else: @@ -139,10 +139,14 @@ class CoraidRESTClient(object): return kid['groupId'] return False - def _esm(self, url=False, data=None): + def _esm_cmd(self, url=False, data=None): + self._login() + return self._admin_esm_cmd(url, data) + + def _admin_esm_cmd(self, url=False, data=None): """ - _esm represent the entry point to send requests to ESM Appliance. - Send the HTTPS call, get response in JSON + _admin_esm_cmd represent the entry point to send requests to ESM + Appliance. Send the HTTPS call, get response in JSON convert response into Python Object and return it. """ if url: @@ -166,10 +170,9 @@ class CoraidRESTClient(object): def _configure(self, data): """In charge of all commands into 'configure'.""" - self._login() url = 'configure' LOG.debug(_('Configure data : %s'), data) - response = self._esm(url, data) + response = self._esm_cmd(url, data) LOG.debug(_("Configure response : %s"), response) if response: if response.get('configState') == 'completedSuccessfully': @@ -184,7 +187,7 @@ class CoraidRESTClient(object): """Retrive volume informations for a given volume name.""" url = 'fetch?shelf=cms&orchStrRepo&lv=%s' % (volume_name) try: - response = self._esm(url) + response = self._esm_cmd(url) info = response[0][1]['reply'][0] return {"pool": info['lv']['containingPool'], "repo": info['repoName'],