Tempest provides stable library interfaces under tempest.lib.
This patch switches to use it for data_utils.
Change-Id: I9ec9282268adc80c947e18c34f34dc0fdd82b187
(cherry picked from commit 4a3082709e)
There's a parameter in QoS specs named "consumer" and it's default
value is 'back-end'. When "consumer" is set to 'front-end'/'back-end',
it should create a front-end/back-end QoS.
Now Huawei Driver doesn't consider the "consumer" parameter, fix it.
Change-Id: If76b7525b011c2576cfb669a4dc29ee1d6b870de
Closes-bug:#1667875
(cherry picked from commit b268b842bd)
This patch is to fix issues at two circumstances:
1. Create volume from image by non-admin user, this operation
will fail because Huawei driver tries to record LUN WWN at admin
metadata, however non-admin user doesn't have the admin metadata
access right, so exception is raised.
2. Restore volume backup to 3rd volume, this operation will also
restore backup volume's metadata to the 3rd volume, but the data
recorded in metadata is strong correlative to the corresponding
LUN at backend storage, so this will break the one-to-one
relationship between the restored volume and the LUN at storage.
To fix the issues above, we moved all LUN private data to
provider_location, stored as a dict string, not use admin
metadata or metadata to store LUN private data.
Change-Id: Id18622935ecaa1715491b4ede48c7b627e43d3fa
Closes-Bug: #1699109
(cherry picked from commit 2d6ac671f2)
The 'auto' arg should be translated to 'thin'
for the lvm.LVM() call.
Otherwise the checks for lvm_type=='thin' in the LVM()
code do not function as intended.
Closes-Bug: #1701547
Change-Id: Ifad854e6f0ef23085ff7af608e290e62c2ad2554
(cherry picked from commit 7033774fbb)
This reverts commit b907450d7d.
Even though this approach should perform better, the value it calculates
is not what the scheduler expects, we should be returning allocated
size.
We'll address the performance issue in a follow up patch
Closes-Bug: #1704104
Change-Id: I01b8fb2302884c3ed398f9553bb8e6a2aeb307c7
(cherry picked from commit 86e8cf948a)
Failed to create from image cache before the async migration was
completed. So the fix is that change the migration mode of creating
image cache volume from async to sync.
Change-Id: I446fbd063a20291edf405085e7d1f3b6417beb2c
Closes-Bug: 1698047
(cherry picked from commit 71b64e2752)
We were missing the context parameter... and apparently
never tested with cache limits enabled. This fixes
it and updates the unit tests to check for it too.
I'll follow up with a devstack patch to set some
limits by default too so we cover more of this
code and have it behave like a production deployment
in gate jobs.
Change-Id: Ia6d43b35843682bd201e57bb2941ca0243606412
Closes-Bug: #1701696
(cherry picked from commit 70719d028a)
Improve terminate connection
- use improved rest capabilities introduces in XMS 4.2 to query all
initiators in 1 call.
- create a new client for XMS 4.2 and above
- add unittests for client factory, old get initiators igs,
and fix code to handle the optimized code
Change-Id: Ic2b38e92f4c427cf2791fb07e871e173961478d2
Implements: blueprint xtremio-unmap-query-improvments
(cherry picked from commit 6301446230)
Similar to Pure driver the VMAX driver required the connector object
not be None. See https://review.openstack.org/#/c/471861/ for more
details. This fix allows for the connector to be None by forcing a
detach regardless. This was not cherry-picked from master as the SMIS
driver has been replaced by REST in Pike
Change-Id: I9805273770e8c7ea9ab2530ca71a36c96108a835
Closes-Bug: #1697661
This patch fixes two bugs while driver integrated with Huawei
Dorado array:
1. the KeyError exception while querying storage pool infos,
because some attributes don't exist for Dorado array.
2. attaching volume failed if the volume is a Huawei hypermetro
volume, at this instance, driver logic will miss querying
some infos from Dorado array, which leads KeyError exception
at the afterwards processing logic.
Change-Id: I0d5017de8417adc92bf6e3d3988a78cd761e75dc
Closes-Bug: #1698991
(cherry picked from commit bcf885c63e)
Addresses an issue where the pool specified by the scheduler was
ignored and default settings applied instead
Change-Id: I72dac64b72da258556da416b61cc8151aec8d6a2
Closes-Bug: #1698921
(cherry picked from commit ee13434298)
When Live migration is used extensively there can be scenarios
where a regular attached volume can belong to two or more Masking
Views. Because of this, we did not remove the volume from the storage
group, which is not typical behaviour. In this fix we use a temporary
file to determine if a terminate_connection is a regular detach or a
part of the live migration process.
Change-Id: Ide38fa21d65859a5516c577a9983124d998a2e95
Closes-Bug: #1684595
(cherry picked from commit 9d2466bb29)
When deleting consistency group the driver modifies the
input volume and returns it back to the caller.
The fix is to return the volume dictionaries back.
Closes-Bug: #1667306
Change-Id: I8d2a7980c169b743cffd968b3ca45b0ade3d66da
(cherry picked from commit 8b94c92412)
fix a bug in the xtremio driver which cause a create
snapshot from generic group with volumes to fail. the bug was that
the driver did not expect to have group_id instead of
consistency_group_id as part of the cgsnapshots object.
Closes-bug: #1664209
Change-Id: I5682fa5eaa7f265c7e10a2af5704847129704637
(cherry picked from commit 34ebfa6a07)
Updates Huawei driver logic to use requests lib for Huawei
array connection instead.
This stable branch merging attempt is to fix the problem that Huawei
driver cannot login Huawei array, if python env user used is SSL
certificate verification default enabled.
At this circumstance, Huawei driver will fail to login array, and
never operate properly.
So it's necessary to merge back to Ocata stable branch for Huawei
driver.
Change-Id: I397e4edde4d82baceb324c1fe9896b1c0f914194
(cherry picked from commit 59ddeabaca)
There are some issues around new attach/detach API/CLI,
fix them step by step. This patch adds 'all_tenants',
'project_id' support in attachment-list along with these
modifications:
1. Don't throw errors when have invalid filters and
don't check filters when is admin context.
2. Don't apply filters again when query already applied
limit and offset.
Change-Id: I5f469c809dfb16e52d6298c4aa13a30c27ee56f9
Closes-Bug: #1675974
(cherry picked from commit 9bb85f24de)
There is an issue where the initiator group does not get cleaned up
if the host name is hyphenated. This patch rectifies the issue by
getting the host name from the connector object instead of parsing it
from the masking view name. This fix is being applied directly to
stable ocata because the SMI-S driver has been replaced by REST in
Pike.
Change-Id: I064ec043c136a46c9d4f3439f849c1843f76a4cf
Closes-Bug: #1694546
There is an issue where conflicting threads tried to act on the same
VMAX volume in certain rollback situations (i.e. one process returns
it to the default storage group while the other process deletes it),
leading to inconsistencies later. This patch rectifies the issue by
locking the volume at the relevant method. We are directly
submitting to the stable ocata branch because our SMI-S driver has
been replaced with REST.
Change-Id: I8d5b38c7ca4ef6609e79c9368c593bc588aa97b5
Closes-Bug: #1694544
When backing-up an in-use volume, initialize_connection_snapshot did not
return connection information for attaching the snapshot thus causing
below error:
TypeError: 'NoneType' object has no attribute '__getitem__'
This commit fixes above issue.
Change-Id: Ie31a0cfe447aee670018914d379d178933437b8c
Closes-bug: #1693956
(cherry picked from commit 530259db85)
This patch fix the force delete for a consistency group
when the backend object (fileset) doesn't exist.
Change-Id: I81c4fc8fd913be11d88dcbcdd38dde88144af8bd
Closes-bug: #1694189
(cherry picked from commit 49932bbd34)
This patch adds a support to fail the unsupported CG operations
for GPFS driver with GPFSDriverUnsupportedOperation exception.
Change-Id: Icd5a693ac75eca0f55cc3ecb014feb192e9e84d7
Closes-bug: #1691526
(cherry picked from commit 77d17a1f8b)
This patch fixes an issue where errorMessage is not getting reassigned
from None in the method ._get_port_group_name_from_mv., having the knock
on effect where errors are not being picked up in subsequent calls or
conditional checks.
Change-Id: I74a85aaa912a7f4c22abbf48f0a5d1bd4538c098
Closes-Bug: #1686174
(cherry picked from commit b44f55c516)
Every secure connection to the ECOM was not being closed after
use. This fix closes each connection after use. Due to not being
able to mock pywbem there is no unit test for this fix.
Change-Id: I0730c709b9fdc20410de06ca3f9705c9ea77d098
Closes-Bug: #1689760
(cherry picked from commit 430e8c9fd8)
Previously managing an existing volume made a call to the ECOM
server which retrieved every volume across all connected arrays.
When this call was made if there were heavily populated arrays
the call would hang and eventually crash. To get around this,
instead of seeking the volume at the start of the manage operation,
the relevant details are filled in to a CIMInstanceName object and
this object is used for a more directed search to the ECOM server,
returning the volume successfully if it exists.
Change-Id: Ib8a628016caf88f67ec54ce10bc735053b70c8c2
Closes-Bug: #1681888
(cherry picked from commit dd7ea30547)