* Fixed Infinidat driver to inherit compression setting by default for
all newly created volumes. Admin can set ``True`` or ``False`` for
the ``infinidat_use_compression`` option in the driver section of
cinder.conf to explicitly enable or disable compression setting for
all newly created volumes. Or leave this option unset (commented out)
for all created volumes to inherit their compression setting from
their parent pool at creation time. The default value is unset.
* Removed support for pre-v3.0 InfiniBox systems that do not support
compression. These versions are end of life and no longer supported
for a long time
Closes-bug: #2017815
Signed-off-by: Alexander Deiter <adeiter@infinidat.com>
Change-Id: I6a33e4c85057bdf79530f9c9f24d867c49931310
Based on the python runtimes for 2023.2 [0], we should be running
functional jobs on python 3.9 and python 3.10.
This patch does not remove the ability to run the functional jobs
locally on python 3.8, as it may be useful to test changes that
are intended to be backported.
[0] https://governance.openstack.org/tc/reference/runtimes/2023.2.html
Change-Id: I5e12a7555b465a5fd8510d5a9b80d5caa30ce507
Consider volume and snapshots as below:
v1
|
`-- s1
|
`-- v2
|
`-- s2
User initiated deletion of snapshot s1.
It failed with some vague message.
Initially, it was suspected that ...
While copying volume v2 (sometimes an intermediate step to break
volume dependency), we send a request to clone the volume v2 to new
base volume; and the exception [1] isn't handled properly.
[1] Conflict (HTTP 409) 32 - volume has a child
However, on further investigation it was found that ...
after a new volume v2 (omv-<id>) is created and
when we try to delete old volume v2 (osv-<id>),
at this point the exception [1] is thrown as error.
This is now handled gracefully. Appropriate error is thrown
if the volume (v2) has snapshot (s2).
Co-Authored-By: raghavendrat <raghavendra-uddhav.tilay@hpe.com>
Closes-Bug: #1994521
Change-Id: I5e7fb425c92cdf8c16d5a86a58ca1a52421543d7
The pylint job is non-voting, but it was annoying to see it fail.
To add the insult to injury, the code was correct, but the pylint
was not smart enough. So this patch only exists to address
shortcomings of our toolchain.
Change-Id: I391e03426c42b7af122722cd851c4aa03f2dcb68
Since paramiko does not support FIPS, some deployments
may run without paramiko installed. Handle this in
ssh_utils.
(This does not handle the paramiko requirement for
drivers that import it directly.)
Change-Id: Id87876543df825f9d84938c615c5976abdebd8f4
Added a note to the two CI jobs that increase host memory about
a recently added devstack option [0] so that we don't forget about
it.
[0] I7b223391d3de
Change-Id: Ifb52819ddc4db22507805c77c5562ca3e3600e1a
The migration specifies a column order of
('service_uuid', 'deleted'), make the model use the same order.
Closes-Bug: #2012289
Change-Id: I2332bf4657761076c3d72e41d089ec014e73fb52
Refactors _get_updated_comments to retrieve updated comment via Volume.get().
This prevents a KeyError when getting comment during volume migration.
Closes-Bug: #2008931
Change-Id: Ic0cfa68172d2b0607928b35fec081da96e33c434
Pass autospec=True while patching the function.
Create the mock object for mock_helper using mock.sentinel. This gives
us some extra protection because sentinel object is not callable. If the
code tries to use it like a function, it will raise a TypeError.
This patch also changes assertFalse() to assert_not_called().
Partial-Bug: #2004174
Change-Id: I209ff5d0fd7e3eaa0b50dcbf71ff4b0960403f96
Signed-off-by: Khadija Kamran <kamrankhadijadj@gmail.com>
Pure uses the version number of the driver to identify which
customers are using which versions of OpenStack.
This will help granular analysis of which driver is being
used in each OpenStack version
Change-Id: Ib507509cb20284706ffd204bbbaaf752bab56c80
We take the approach to detect zero data when restoring and not
writing it out to the volume. This works exactly as expected
when restoring into Linux LVM volumes and into Ceph RBD volumes,
provided they are freshly created.
Closes-bug: #2007615
Change-Id: I54b81a568a01af44e3f74bcac55e823cdae9bfbf
Without this, tox fails with an error:
py38: FAIL code error: Multiple top-level packages discovered
in a flat-layout: ['etc', 'roles', 'cinder', 'playbooks',
'releasenotes'].
Change-Id: Iea13bca7b642ba0b0f1ffa38a504d5b6f2dd276b
The problem manifests itself as an unstable result of
test_check_force. It fails at Zuul once in a while. But this
seems impossible: there is no randomness or timing component
in this test. The randomness occurs because of cross-test
interference.
The root cause is that apparently someone forgot a deepcopy().
We also make test_check_force not to depend on the global specs,
seems like an obvious oversight. It is not the fix, only tidies
the code.
Change-Id: If1ef9bceae96ef044209c758eee2fd22b44efa49
* Add non-disruptive volume backup feature
* Add an item about creating a volume type
* Update the step for the user account as mentioned
in the official Infinidat documentation
Signed-off-by: Alexander Deiter <adeiter@infinidat.com>
Change-Id: I46318679fa311ec9dbecb5da9557255b1f378465