| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The initial cinder design[1][2][3] allowed users to create mutliattach
volumes by spcifying the ``multiattach`` parameter in the request
body of volume create operation (``--allow-multiattach`` option in
cinderclient).
This functionality changed in Queens with the introduction of
microversion 3.50[4] where we used volume types to store
the multiattach capabilities. Any volume created with a multiattach
volume type will be a multiattach volume[5].
While implementing the new functionality, we had to keep backward
compatibility with the *old way* of creating multiattach volumes.
We deprecated the ``multiattach`` (``--allow-multiattach`` on cinderclient
side) parameter in the queens release[6][7].
We also removed the support of the ``--allow-multiattach`` optional
parameter from cinderclient in the train release[8] but the API
side never removed the compatibility code to disallow functionality
of creating multiattach volumes by using the ``multiattach``
parameter (instead of a multiattach volume type).
This patch removes the support of providing the ``multiattach``
parameter in the request body of a volume create operation and will
fail with a BadRequest exception stating the reason of failure
and how it can be fixed.
[1] https://blueprints.launchpad.net/cinder/+spec/multi-attach-volume
[2] https://review.opendev.org/c/openstack/cinder/+/85847/
[3] https://review.opendev.org/c/openstack/python-cinderclient/+/85856
[4] https://github.com/openstack/cinder/commit/f1bfd9790d2a7cac9a3e66417b11dc8e3edd8109
[5] https://docs.openstack.org/cinder/latest/admin/volume-multiattach.html#how-to-create-a-multiattach-volume
[6] https://github.com/openstack/cinder/commit/94dbf5cce2caff484460a1330feb6cbf7f3dd56a
[7] https://github.com/openstack/python-cinderclient/commit/adb141a2626192e8f45a911291895716d7c1c8a4
[8] https://github.com/openstack/python-cinderclient/commit/3c1b417959689c85a2f54505057ca995fedca075
Depends-On: https://review.opendev.org/c/openstack/tempest/+/875372
Closes-Bug: 2008259
Change-Id: I0ece6e279048abcc04b3674108290a80eca6bd62
(cherry picked from commit 32f1145b7ddf9a9a359e2359e7db63dbdd00b899)
(cherry picked from commit e2c3bcc6e380921bbe283b4a1b173216193c753d)
Conflicts: api-ref/source/v3/parameters.yaml
(cherry picked from commit a8a4cdcb2e099456d435028c924e51dcbdee33e9)
Conflicts: cinder/volume/flows/api/create_volume.py
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cinder is currently not able to upload a volume that is based on an
image back to glance. This bug is triggered if glance multistore is
enabled (devstack in this example).
When enabling multistore, the following properties will be stored in Cinder:
* os_glance_failed_import=''
* os_glance_importing_to_stores=''
Those properties will cause problems when Cinder tries to perform some
actions with Glance. Error msg:
```
cinderclient.exceptions.BadRequest: HTTP 403 Forbidden: Access was denied to this resource.: Attribute 'os_glance_failed_import' is reserved. (HTTP 400)
```
Nova had the same issue and solved it with:
https://github.com/openstack/nova/blob/50fdbc752a9ca9c31488140ef2997ed59d861a41/releasenotes/notes/absolutely-non-inheritable-image-properties-85f7f304fdc20b61.yaml
and
https://github.com/openstack/nova/commit/dda179d3f901e4f23091f3095f1af58bc26e222e
Therefore, this patch is intended to apply a similar solution in Cinder.
Change-Id: I79d70543856c01a45e2d8c083ab8df6b9c047ebc
Closes-Bug: #1945500
(cherry picked from commit c43fb490b204aadf41a32bcb5eb075b1656e2af4)
(cherry picked from commit 826b40281123d700b3aeba5dcf076544982973a3)
Conflicts: cinder/image/image_utils.py
- Changed syntax from "dict[str, str]" to "Dict[str, str]" for
Python <3.8 compatibility
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch adds support for trim/discard to 3 Dell EMC drivers:
- PowerStore
- PowerMax
- PowerFlex
Support is added to report this capability to both Nova, via the
'discard' value in connection properties, as well as internally to
Cinder, via the 'sparse_copy_volume' driver capability.
PowerStore and PowerMax only support thin volumes, so they will always
report the trimming capability, but the PowerFlex also supports thick
volumes, so it will only be returned for thin volumes, and following
vendor's recommendation [1] it will not be returned for volumes that
have snapshots.
SysAdmins can force all volumes to return discard capabilities for Nova
with the ``report_discard_supported`` configuration option.
[1]: https://docs.delltechnologies.com/bundle/READY_NODE_AMS_DG/page/GUID-8E6676C1-425A-4D51-8F59-1A92DE4F6638.html
Change-Id: Ib119fd689545bdb636a4844c6125aec7c3c24b96
(cherry picked from commit 43d851abbabfe6968707cb151157ac9b1dd52faa)
Conflicts:
cinder/volume/drivers/dell_emc/powerstore/adapter.py
cinder/volume/drivers/dell_emc/powerstore/driver.py
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When the volume service starts up, it goes through all
volumes for a host in the db and adds up the volume size as
a mechanism to account for that allocate space against the
backend. The problem was that the volume manager was only
counting volumes with a state of 'in-use' or 'available'.
If a volume has a host set on it, then we account for it's
allocated space.
This patch adds other volume states to use to account for
allocated space at volume service startup.
Closes-Bug: 1910767
Change-Id: I90d5dfbe62e630dc8042e725d411cadc2762db56
(cherry picked from commit 72da8249d910a307141bb9fec663d41cc28878bd)
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Continue to use tox 3 until we decide how to do the transition
to tox 4 in the stable branches. Two changes:
- .zuul.yaml: set the ensure_tox_version to use <4, which will
tell the host to install a tox 3 package ... but:
- tox.ini: from experimentation, it looks like if tox needs to
install anything from the 'requires' key in the core section,
it will also upgrade itself (in the .tox/.tox directory) to
the latest tox version, so add a cap on tox to the 'requires'
list
Change-Id: I3c22ff2d6e2951c6a8ba110d4393a399480e0f3f
(cherry picked from commit 426f6337b62a0b7e3307d89facb03f785c360e40)
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also add a more general check to convert_image that the image format
reported by qemu-img matches what the caller says it is.
Change-Id: I3c60ee4c0795aadf03108ed9b5a46ecd116894af
Partial-bug: #1996188
(cherry picked from commit 930fc93e9fda82a4aa4568ae149c3c80af7379d0)
(cherry picked from commit ba37dc2ead69c08d7ede242295ff997086e6121d)
Conflicts:
cinder/image/image_utils.py
- changed type annotations to use implicit Optional to be
consistent with cinder yoga mypy usage
- removed refs to image_conversion_disable in tests
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This patch updates how cinder calculates it's free capacity.
The new calculations are based off of the queens cinder specs
that describes each of the capacity factors here:
https://specs.openstack.org/openstack/cinder-specs/specs/queens/provisioning-improvements.html
This patch updates the capacity filter to use the new capacity factors
calculations, which is also used by the capacity weigher.
The new calculate_capacity_factors describes each of the factors and
returns a dictionary of each of the factors as calculated.
Change-Id: Ic1b5737281e542d2782089a369e4b7941fc3d921
(cherry picked from commit 856d3e108035ac1ed9c6a3cec4de47b1eb6ad18b)
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change Idc00b125b33b added the ability to store and retrieve user
message data in the request context, but it neglected to add code to
make sure they would persist across serialization and deserialization
of the request context object, as happens in the create-backup
workflow. As a result, when a user message needed to be created to
describe an error condition in the backup driver, instead we'd get an
exception raised: "TypeError: 'NoneType' object is not subscriptable".
This patch fixes the issue by making sure the message_* properties
persist across serialization/deserialization of RequestContext objects.
Closes-Bug: 1978729
Change-Id: Ibdaaf39abafbae6bfcb9fdf9fb7a55d968ad9f11
Signed-off-by: Jesper Schmitz Mouridsen <jesper@schmitz.computer>
(cherry picked from commit c46d41719e0c8199dc17ef566413889692644ef5)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Support for the human format by oslo_utils.imageutils.QemuImgInfo was
deprecated since oslo.utils 4.9.1 [1]. This change replaces the human
format with the json format which will be used by default.
[1] 73eb0673f627aad382e08a816191b637af436465
Backport note: The json format is preferable because it allows access
to format specific details (since oslo.utils 4.1.0). These details
are not present when the default 'human' format is used. See change
I133da07a5a9628b8a9 for details.
Closes-Bug: #1940540
Change-Id: Ia0353204abf849467106ee08982d1271de23101a
(cherry picked from commit c0d2e7ebd8b992d61a5f486baad3016d79e6a5d9)
(cherry picked from commit 11b0f97a013189fe985deec4f776a7719a6ad089)
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
stable/yoga
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[Spectrum Virtualize family] lsfcportsetmember call was
introduced in SVC code level 8.5.x. But during portset implementation,
lsfcportsetmember was included in 8.4.2.0 which is incorrect as SVC
8.4.2.0 doesn't recognise this command.
Correcting the SVC code level for lsfcportsetmember call.
Closes-Bug: #1976499
Change-Id: Ia9f22d630ff9d9541bb36e5506679dd15c27d5d5
(cherry picked from commit 0df29396bfa4eca306b5e4700defbfa5d5637b24)
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The tpool.killall method seems to block in some cases when running unit
tests, as observed with the Guru Meditation Reports. This has been
happening primarily on Python 3.9 and 3.10.
Moving the call from the test setUp to the cleanup after stopping
existing looping calls seems to resolve the issue. At least we've been
unable to reproduce the issue again even when running tests with
'--random'.
We need a way to identify existing looping calls that must be stopped,
tracking them with a decorator on the LoopingCallBase class __init__
method or looking for its instances in the objects tracked by the
Garbage Collector.
Using the GC mechanisms makes tests take 12 times longer to complete, so
this patch creates a new test utils class called InstanceTracker that
allows tracking any class.
We haven't been able to reproduce the test runner freeze situation with
this patch, even when running tests with '--random', but just in case
this happens again a TPOOL_KILLALL_ISSUE flag has been created to allow
easily disabling things if this were to happen again.
Because the tests use greenthreads, debugging blocked tests with GDB is
a nightmare, so the patch also adds the Guru Meditation Reports feature
to the test runner, that way we can do:
$ kill -USR2 <child_runner_pid>
And see the greenthreads, where in this case we would see one of them
stuck in the tpool.killall() call.
Change-Id: Idb5c428adcc1112046cc81a441c572a2e6bfa80c
(cherry picked from commit eb8409b3a8af41e2203e3b84bc6f02167ceef6a4)
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Infinidat Cinder driver truncates the list of configured iSCSI
portals and returns only the first IP for a given network space.
And in case of network path failure we lose access to the data.
To fix this issue, we need to return all configured and enabled
iSCSI portals for a given configured network space.
Closes-bug: #1981354
Change-Id: Ie2b7a163ee3a83121c04a21808ef437d740426d5
Co-authored-by: Alexander Deiter <adeiter@infinidat.com>
Signed-off-by: Alexander Deiter <adeiter@infinidat.com>
(cherry picked from commit a25dcc85180124f3f8db836ec49c0ee5b5741b62)
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Our tests don't do the eventlet monkey patching in the same way that the
Cinder services -backup, scheduler, volume- do.
This patch changes this by doing the monkey patching as soon as
possible, before cinder OVOs are loaded and bring in a number of oslo
libraries.
When copying the initialization part from the Cinder commands a fix for
'current_thread' is also copied.
Change-Id: I6c44d557466dfcb1f6507917eb88959e2ff388df
(cherry picked from commit 81f117c55d8327df6cbea993be087a6de17641e3)
|
|\ \ \ \ \ \
| |/ / / / / |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Our services don't have a 'kill' method, they have a 'stop' method, so
it doesn't make any sense to call the 'kill' method on them during test
cleanup.
This patch changes the 'kill' call with the right 'stop' call.
Change-Id: Ib1bae260b8b5289e9a6c80baf2de9e908f977d09
(cherry picked from commit 1ef8e3ddc270ce87da4bac507b8760e19f4d43f2)
|
|\ \ \ \ \ |
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch fix to output a warning message for resource lock correctly.
The message can help to analyze in some trouble.
Closes-Bug: #1989176
Change-Id: Iaeee0496987ffe4777c34fe8056f56985273a5d0
(cherry picked from commit d2b302885e8306f9d363a818ca4eb2c2c31f4bdd)
|
|\ \ \ \ \ |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Due to json.dumps({}) method returns {}, an error occurs in some
client's methods, such as when deleting volumes. This fix validate
if any payload was provided for the request.
Closes-Bug: #1981068
Change-Id: I0b389f4f53d3b34eddc23a7aebc85a5b42f3a09f
(cherry picked from commit a4ab9220fcfd4afd3019a0f3bd4f4b452296166f)
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | | |
stable/yoga
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently snapshot delete requires access to the source volume and
the operation fails if the source volume doesn't exist in the backend.
This prevents some snapshots from being deleted when the source volume
image is deleted from the backend for some reason (for example, after
cluster format).
This change makes the rbd driver to skip updating the source volume
if it doesn't exist. A warning log is left so that operators can be
aware of any skip event.
This commit also includes a squash to add a releasenote from
I40f6eb1f104da4410d32410940824a88f7d1ec62 to reduce backporting
workload.
Closes-Bug: #1957073
Change-Id: Icd9dad9ad7b3ad71b3962b078e5b94670ac41c87
(cherry picked from commit 3ddf7ca9ea9587318b8c903e2c43b1879846d1c2)
(cherry picked from commit cf108981432d35049bf28010d3191fd9f4b82ccc)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
While reverting to a snapshot with generic flow, we create a
temporary volume from snapshot and copy data from temporary to the
original volume.
While creating this temporary volume, the snapshot is in 'restoring'
state whereas the remotefs driver only accepts 'available' and
'backing-up' states for this operation.
This patch adds the 'restoring' state to the list of acceptable states.
Closes-Bug: 1946059
Change-Id: Id1e40fd42b88c63dbbba2aaae77c40660ddac4c7
(cherry picked from commit 862edca0deb366ea980485359216fea020a03c9e)
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is to address issues in the cinder-plugin-ceph-tempest* jobs
where a significant number of builds are failing. Symptoms are a
lot of server fault errors, identity error: unexpected status
code 500, and db connection errors in the tempest log. On these
jobs, syslog shows multiple
oom_reaper: reaped process xxxxxxx (mysqld)
lines. Occasionally ceph-osd or ceph-mons are also reaped, but
it's pretty consistently mysqld.
Default swap size is currently 1G. Increase to 4GB was determined
experimentally. (See other patches on topic: increase-swap.)
Change-Id: I3c08f363f5b74e1fe7900f4398bd2cb6df3a80d7
(cherry picked from commit d41abbf538b439ce8ba18ac5720dacc4cf2ac3f7)
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Forgot to add a release note for issue [1].
Since we are going to backport it, need to have a release note,
as was mentioned in [2].
[1] https://review.opendev.org/c/openstack/cinder/+/784603
[2] https://review.opendev.org/c/openstack/cinder/+/821739
Closes-Bug: #1979668
Change-Id: I75cd359269fc26783b069aaaa3ab92528c3bb500
|
|\ \ \
| | | |
| | | |
| | | | |
user guide" into stable/yoga
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
IBM Spectrum Virtualize user guide
This change is in order to update portset feature
details in IBM Spectrum Virtualize user guide
Change-Id: I844fde26ffa69a2140cd36e3cdc9e943db0432c5
(cherry picked from commit 2b752938e9dc7b62418fad335b5e429c20c05984)
|
|\ \ \ \
| |/ / /
|/| | |
| | | | |
stable/yoga
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When Element OS is being upgraded, the requests received will
get exceptions as result, but the operation will normally succeed
a few attempts after.
This patch fixes this issue by adding the following exceptions to
our list of retryable exceptions in SolidFire driver:
- xDBOperationTimeout.
- xDBConnectionLoss.
- xNoHandler.
- xSnapshotFailed.
- xRecvTimeout.
- xDBNoSuchPath.
- xPermissionDenied.
Change-Id: Idef086c55885687684875603481582f763355885
Closes-Bug: #1934435
(cherry picked from commit b7b830e9ac1e58ef432edf892eb972c98817ffdf)
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There are instances where cinder needs to create a temporary volume and
this can trigger a flatten of the new temporary volume, which will make
the operation take a lot longer.
In some cases this means slower operations, but in others it leads to
rpc timeout failures.
A case where we see timeout failures is when doing a backup of a
snapshot and we have rbd_flatten_volume_from_snapshot=true.
This patch ensures that we don't flatten temporary volumes.
Closes-Bug: #1916843
Change-Id: I8f55c3beb2f8df5b2227506f82ddf6ee57c951ae
(cherry picked from commit e726c07948138f514706cc69440971a2105c2bc0)
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We currently have no log entry when we start trying to acquire a lock.
In general this is ok, but there are cases where it can be problematic
for example if we have a deadlock situation or if a lock takes a very
long time to be acquired.
In those scenarios looking at the logs we would see the operation
proceed normally and suddenly go completely silent without knowing that
is waiting for a lock to be freed.
This patch adds a debug log message right before trying to acquire the
lock so we can detect those situations.
The original patch was using f-strings in debug logs, which we should
avoid and newer flake8 versions is raised as error G004, so this patch
also includes Change-Id: Ia87a0114738c82b2af2391bd5b4c2acb25db71fd that
fixes this issue.
Change-Id: Ida70e9b6098b2e0426cc479811e08a164ed24899
(cherry picked from commit a423d9f9d5672fc92de2c6aae35f0c99140c408d)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SolidFire driver introduced a clone image feature in Kilo release[1]
where we would create a cache volume with volume ID same as of image
ID to create volume from image efficiently by cloning from that cached
volume.
This feature worked same as the image cache feature we have in cinder
so it was deprecated in queens[2] and removed in train[3] in favor of
image cache feature provided by cinder.
However, we still kept compatibility code if users had solidfire cached
volumes to still take advantage of those to create efficient volume
from images.
In the current master (Yoga), we can safely assume that people have
moved to using the image cache feature of cinder since the solidfire
options to enable efficient cloning doesn't exist since train release.
This patch removes the remaining code around this feature as it
doesn't provide any additional benefit and we also log an ERROR
message unnecessarily confusing the operators for every create volume
from image request (details are in the linked launchpad bug).
Closes-Bug: #1959178
[1] https://review.opendev.org/c/openstack/cinder/+/142859
[2] https://review.opendev.org/c/openstack/cinder/+/511623
[3] https://review.opendev.org/c/openstack/cinder/+/664739
Change-Id: I8fe00b06ebb439f83f8cad0f592064c540c54b77
(cherry picked from commit 6b97abc4e4f364e95e09b1738798fa2b6ebd90d6)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In multi host environment, if volume is attached to instances present
on different hosts, detach operation works partially.
As a result, at later time the volume cannot be deleted.
Details are explained in launchpad bug.
This patch performs following:
During detach volume from instance, both possibilities are considered:
the instances can reside:
[1] either on same host.
[2] or on different hosts.
case [1]:
In such case, behaviour is same as earlier i.e vlun is not deleted
upon each detach operation i.e skip remainder of terminate volume
connection. The vluns are deleted only on last detach operation.
case [2]:
In such case, vlun of that host on 3par array is deleted separately
upon each detach operation.
Closes-Bug: #1958122
Change-Id: I47e8e86a495802a21570e23ecf7428fccc8b3d60
(cherry picked from commit 3ed2f38e54b84073f03ce1148c6dfcbbd37fc032)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're supposed to fail an import request for an already existing
backup, but the current code confuses an existing backup record with
one we created for the import, and during quota rollback, will
destroy either one. Simplify the logic so that we check whether
there's an already existing backup first and bail without even
bothering to make an unnecessary reservation, hence leaving us nothing
to roll back or delete by mistake.
Also revise and add tests.
Closes-bug: #1965847
Change-Id: I3c0e365f5dc3c32975343f538c6029f02ac7c2b5
(cherry picked from commit 6386cbb0a0b6cbf05ce625c5b1b680f4259bde2e)
|
|\
| |
| |
| | |
stable/yoga
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A temporary volume can be deleted while it is in use by DELETE API
accidentally because its status is `available`. To avoid this deletion,
this fix sets a value which doesn't accept deletion to volume status of
a temporary volume. When a temporary volume is used for backing up,
`backing-up` is set. When a temporary volume is used for reverting a
snapshot, `in-use` is set because the volume is attached by a host.
Closes-Bug: #1970768
Change-Id: Ib6a2e4d68e532b91161df5245c17ce815f12f935
(cherry picked from commit 53c13891b313d58923b223f6fbb1882e991f2785)
|
|\ \
| |/
|/| |
|