This patch stops submitting frequently REST API request in test scripts,
to avoid a risk of failing the scripts by unexpected REST API response
from a psuedo REST API in the scripts.
Hitachi driver submits a REST API request frequently, to avoid REST API
session timeout.
it should be stopped while running test scripts, or the request bothers
REST APIs which is for cinder features, like creating volume and delete
snapshots.
The test scripts have codes to stop submitting, but one of the code does
not work by using incorrect variable.
The patch fix the variable name to stop that correctoly.
Closes-Bug: #2063317
Change-Id: I81090aee4ed6c288f7d9bbdb45d7cc849663e393
(cherry picked from commit 60b7062902274de084e8fefb4435b094b92be894)
This patch prevents to delete a LDEV that is unexpectedly assigned to
two or more objects(volumes or snapshots).
In the unexpected situation, if ``delete`` command for one of objects
is run again, the data which is used by other objects is lost.
In order to prevent the data-loss, when creating an object,
the driver creates a LDEV and stores a value obtained by omitting
the hyphen from the object ID(*1) to ``LDEV nickname``.
When deleting an object, the driver compares the own object ID and
the object ID in ``LDEV nickname``, then, the object and the LDEV is
deleted only if both object IDs are same.
On the other hand, if both object IDs are not same, only the object
is deleted and the LDEV is kept, to prevent data-loss.
If format of ``LDEV nickname`` is not object ID(*2), both the object
and the LDEV is deleted without comparison, because it avoids disk
full risk, due to not deleting any LDEVs.
This patch implements only the object ID storing while creating a
snapshot and comparing IDs while deleting, because the feature to
store the object ID while creating a volume has already been
implemented.
(*1) Max length of ``LDEV nickname`` is 32 digits characters on
Hitachi storage.
(*2) 32 digits hexadecimal
Closes-Bug: #2072317
Change-Id: I7c6bd9a75dd1d7165d4f8614abb3d59fa642212d
The patch fixes to set correct object ID for LDEV nickname.
Closes-Bug: #2071697
Change-Id: I2a2cfb44207b03fbb006d29ae958896f3f3231ed
(cherry picked from commit 1895845dcf791d37dc765503b0c3300a75b16991)
Prevent compatibility problems between the stable
branch and future versions of mypy.
(Stable-only patch.)
Change-Id: Ib2261c889d9e7f19db2874290e5a921faa490328
Using python3 the Ceph backup driver faces encoding issues.
In order to solve this we should start using bytearray for
creating a zero-filled instance with a given length.
Closes-Bug: #1925809
Change-Id: I367df9b52f787403a54fb148713d122e9bb2a54f
(cherry picked from commit c13370cdec32ae6b74f3653981519af567be40de)
Include some temporary skips to pass with the
newly-released mypy 1.11.0.
Actual fixes to follow.
Change-Id: Id3990df4fbe5914cc3b5e10ccf90aa9e5c1210a5
(cherry picked from commit 834d933fa9fef6630d5df7ae278c6dad6dd82b80)
Adds code to image_utils to check for a qcow2 external data
file, a recent feature of qemu which we do not support and
which can be used maliciously.
Advice from the qemu-img community is that it is dangerous
to call qemu-img info on untrusted files, so we copy over
the format_inspector module from Glance. This performs basic
analysis on the image data file so we can detect problematic
images before we call qemu-img info to get all the image
attributes. It is expected that this code will eventually be
added to oslo so it can be consumed by Glance, Cinder, and
Nova.
Because cinder itself may create qcow2 format images with a
backing file in nfs-based backends, the glance format_inspector
has been modified to optionally allow such files. Since we are
monkeying with the format_inspector code, we also copy over
its unit tests to prevent regressions and to add tests for the
changed code.
Includes an additional fix to prevent an issue where a user
could mount a raw volume and write a qcow2 header with a larger
virtual size on it. On reattaching the volume it would have the
new larger virtual size avaialable without actually changing
the size value in cinder. While we cannot prevent this we can
prevent the user from using this volume again, which makes this
exploit pointless.
Co-authored-by: Dan Smith <dansmith@redhat.com>
Co-authored-by: Felix Huettner <felix.huettner@mail.schwarz>
Change-Id: I65857288b797cde573e7443ac6e7e6f57fedde01
Closes-bug: #2059809
(cherry picked from commit b207be3278f3dab6cfe945bd3d307db168f6f6c7)
Earlier the call to getWsApiVersion() worked without login.
Now with new wsapi of 2024, login is required.
This patch makes call to client_login() before getWsApiVersion().
Closes-Bug: #2068795
Change-Id: I30f105ee619386f52bc907f5115c08e0fafb9e42
(cherry picked from commit 1b07bee38643d4d4cf52fcb01d2e45318187b27e)
Fix the missing session argument so that swift backup driver to
resolve the TypeError raised in swift object access. The error makes
the swift back driver consistently fail during backup/restore
operation.
Closes-Bug: #2058596
Change-Id: I80f2cd614ba7277a28fa8a4a429fef983113f0fb
(cherry picked from commit 9ff29a649ee890cc6bbd7175c8f8f3d2cdd32653)
This fixes issues for volume backups with the Ceph driver
where failures of the first process ("rbd export-diff") were
not caught. Instead, only the return code of the second
process ("rbd import-diff") was recognized.
This change also preserves the stderr that was lost previously
in order to ease debugging.
Closes-Bug: 2031897
Co-Authored-By: Pete Zaitcev <zaitcev@kotori.zaitcev.us>
Change-Id: I53b573bfff64e7460ef34f1355d3a9d52a8879f9
Signed-off-by: Jan Hartkopf <jhartkopf@inovex.de>
(cherry picked from commit f8e13a883d961a4a5ba1cf6f557a96ebe6f540ad)
This change is to update the live migration ability in environments
using PowerMax. In previous 2023.1 version, the live migration fails
without a pool name.
The update adds the ability of live migration without a pool name.
Change-Id: Iad767cd516c8527136508470629236f68e0c7cc2
Closes-Bug: #2034937
(cherry picked from commit 9a470d41f4d2cd389a0f85e461d87ed5a3a664e3)
Dell PowerMax SnapVx unlink fails as the linked device
is not yet fully defined.
This patch fixed the issue by checking the new configuration
'snapvx_unlink_symforce' and the linked device 'defined' status
to determine the value of 'symforce' in the payload of
SnapVx unlink restcall.
Closes-Bug: #2045230
Change-Id: I614f6aef2d4da76c417b4a143ab80e4a5f716dcd
(cherry picked from commit 03ac369854597f6c886906c1f71561894b10aa04)
Two possibilities of clone volume:
1] same size, online copy
Existing behaviour: start clone & return from function.
Error occur because clone is not yet complete and
code tries to create vol on secondary array.
2] size is different, offline copy
Existing behaviour: (i) create new replicated vol.
(ii) during clone operation below error occur:
Volume is involved in remote copy
(iii) Since clone operation fails, delete new replicated vol (as cleanup).
To overcome both possibilities, code changes are done.
For clone of replicated vol, create offline copy only.
Steps:
(i) Create new vol without replication.
(ii) Perform clone operation; wait till completion (offline copy).
(iii) Create vol on secondary array.
Closes-Bug: #2021941
Change-Id: I1f025542a2509e36919ece01b29064377dbbe189
(cherry picked from commit 577e2ee108a5e3ec2b727928ee4e9c8b35331339)
Update the URL to the upper-constraints file to point to the redirect
rule on releases.openstack.org so that anyone working on this branch
will switch to the correct upper-constraints list automatically when
the requirements repository branches.
Until the requirements repository has as stable/2024.1 branch, tests will
continue to use the upper-constraints list on master.
Change-Id: Ib527d05f6bc9a4fe290f52bbfa09f1324458c40f
The stable/victoria and stable/wallaby branches have been deleted,
so reno can't find their release notes. Use the victoria-eom and
wallaby-eom tags to indicate the end of the
Cinder project's maintenance of these series.
Also fix our override for the reno closed_branch_tag_re to include
the -eom tags. Add the changed reno.yaml file to all relevant
irrelevant-files lists.
This strategy is what we used for the yoga transition, and was
discussed at a cinder weekly meeting:
https://meetings.opendev.org/irclogs/%23openstack-meeting-alt/%23openstack-meeting-alt.2024-02-07.log.html#t2024-02-07T14:06:09
Change-Id: I505b7cc12888d2373a0550b40bb945d75bb11067
The following three volume drivers are no longer supported, because
the storage products are now EOL[1].
- Dell SC Series Storage Driver (iSCSI, FC)
- Dell VNX Storage Driver (FC, iSCSI)
- Dell XtremeIO Storage Driver (iSCSI, FC)
This change marks these drivers unsupported, so that we can remove
these drivers after 2024.1 release.
[1] https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/7D7GUOI66BOD7Z3ZQWPWYYHH6VHAY4JJ/
Change-Id: I763278ec72adaf6f2ddd21edbfc687ca2f17f09a
Space allocation is an important NetApp driver specific feature.
This needs to be set when the cinder volume is created.
This is not related to thin/thick provisioning feature of cinder
volumes.It is independent of that. It enables ONTAP to reclaim
space automatically when host deletes data.This helps ONTAP
and host to see the actual space correctly when the host
deletes data.
It also helps to keep a LUN (cinder volume) online when the
LUN (cinder volume) in ontap runs out of space and containing
volume (in ONTAP) cannot automatically grow more space.
User can configure it by using volume type extra spec.
By default Space allocation value is disabled for ONTAP LUN
netapp:space_allocation: "<is> True" # to enable space allocation
netapp:space_allocation: "<is> False" # to disable space allocation
Blueprint: netapp-space-allocation-support
Change-Id: Ib7072f3093067ecd8ad84e396aaecec8f15c49ba
Add volume type extra spec boolean property
'powermax:disable_protected_snap'. Enabled when set to: `'<is> True'`,
`'True'`, `'true'`, or True, otherwise the property is disabled by
default.
When set to True, snapshot won't be replicated and won't
match the source volume type, it will be a regular device
no matter what.
If the property is not enabled in the volume type extra_specs, then
there is no change from the current behavior.
Implements blueprint powermax-protected-snap-config
Change-Id: Iafa44dcf0e8f46749b5ef37f0b8d341e8253a3bd
An apostrophe was in place of a backtick, and as a result the
hyperlink to the LP bug didn't display as a hyperlink.
Change-Id: I42867de19c35255f275f47eb78062130f5756cab