coraid: fix snapshot deletion

Currently, a request to ESM API for a snapshot deletion looks this way:

{'addr': 'cms',
 'data': {
    'repoName': repository_name,
    'lvName': snapshot_name},
 'op': 'orchStrLunMods',
 'args': 'delClSnap'}

This is correct, however, some versions of the ESM API have a bug that
prevents it from validation this valid request and it fails with:

Must define the new LV name to be assigned to the clone/clSnap.

As a workaround for this bug, provide an 'newLvName' property with a
'noop' value to make the validation pass even on buggy versions.

Fixes bug #1365417

Change-Id: I3fd7f3c6a64cac992735b098368b52b9ab21d85c
This commit is contained in:
Roman Bogorodskiy 2014-09-04 10:04:59 +00:00
parent eb01ccba28
commit b39446b46b
2 changed files with 8 additions and 2 deletions

View File

@ -489,7 +489,8 @@ class CoraidDriverIntegrationalTestCase(CoraidDriverLoginSuccessTestCase):
delete_snapshot_request = {'addr': 'cms',
'data': {
'repoName': fake_repository_name,
'lvName': fake_snapshot_name},
'lvName': fake_snapshot_name,
'newLvName': 'noop'},
'op': 'orchStrLunMods',
'args': 'delClSnap'}
pack_data(delete_snapshot_request)

View File

@ -353,7 +353,12 @@ class CoraidAppliance(object):
request = {'addr': 'cms',
'data': {
'repoName': repository_name,
'lvName': snapshot_name},
'lvName': snapshot_name,
# NOTE(novel): technically, the 'newLvName' is not
# required for 'delClSnap' command. However, some
# versions of ESM have a bug that fails validation
# if we don't specify that. Hence, this fake value.
'newLvName': "noop"},
'op': 'orchStrLunMods',
'args': 'delClSnap'}
esm_result = self.esm_command(request)