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,
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)
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')
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:
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:
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':
"""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'],