⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@github-actions
Copy link

This PR contains a snapshot of 2023.1 from upstream unmaintained/2023.1.

Akrog and others added 30 commits January 9, 2024 16:50
Pure iSCSI and FC drivers use SCSI SAM-2 addressing mode, which means
that LUNs < 256 use peripheral mode (unmodified values) and LUNs >= 256
use flat mode (2 higher bits of the MSB must be 01b).

This is not the standard behavior of os-brick, which defaults to
SAM/transparent mode.

In this patch the Pure storage driver reports it's addressing mode so
that LUNs with value greater than 255 can be connected by os-brick.

Depends-On: If32d054e8f944f162bdc8700d842134a80049877
Closes-Bug: #2006960
Change-Id: I4abfb6de58340c5ea70e7a796326f5d2089c80eb
(cherry picked from commit dad485e)
(cherry picked from commit 4373aa1)
This patch adds two new FIPS enabled jobs to determine if there are any
issues when FIPS is enabled.

Because the FIPS jobs currently run on centos, code is added to the
test setup script to set up the databases correctly.  Also had
to increase the swap space on the nodes; see [0] for an explanation.

[0] https://review.opendev.org/c/openstack/devstack/+/803706

Change-Id: Ib85b6ecc6f1b12eb8afa866e56afbfb13aad0cba
(cherry picked from commit 933a7b7)
Volume image metadata values were limited to 255 characters but Glance
allows up to 65535 (considering it uses a TEXT field in MySQL). Cinder
database also uses a TEXT field for those values so it made no sense to
limit them to 255. The actual values could already be longer when they
were copied from the image at volume creation time.

Closes-Bug: #1988942
Change-Id: Id200ae93384a452b34bdd20dd1f3fc656ec5650f
(cherry picked from commit 0bd1bd6)
(cherry picked from commit 2fb2ff9)
This patch fixes to use correct pool number for a secondary storage on
GAD environment[*1].
Even though the option ``hitachi_mirror_pool`` is to set pool number for
secondary storage, the option does not work and a pool number for
primary storage would be used on secondary storage.
The bug should be fixed and delete the risk to be used unexpected pool
number.

[1] GAD is the storage mirroring product on Hitachi storage. The feature
was implied as the patch
 https://review.opendev.org/c/openstack/cinder/+/796170 and was merged
into Antelope.

Closes-Bug: #2011810
Change-Id: I9c37ada5e6af1f3c28ebd5c3c2a8baf2d88d0a96
(cherry picked from commit 2270611)
(cherry picked from commit 19540c1)
Host group[1] name formats, which is managed by cinder driver,
for each storage models must be:
``HBSD-xxx`` for Hitachi storage(``xxx`` is WWPN of target host on FC,
or IP address of target host)
``HPEXP-xxx`` for HPE-XP storage
``NEC-xxx`` for NEC V storage , but the format `HBSD-xxx` is used for
OEM storage models because a bug in the merged patch
https://review.opendev.org/c/openstack/cinder/+/866526 overwrites the
prefix for Hitachi storage.

It should be fixed to use original prefixes.

[1] ``Host group``(or ``iSCSI target``), which is one of Hitachi and
OEM storage parameter,
is a group of multiple server hosts connecting to same storage port.

Following site would be help to know what host group is:
https://knowledge.hitachivantara.com/Documents/Management_Software/SVOS/9.1.x/Volume_Management_-_VSP_G130%2C_G%2F%2FF350%2C_G%2F%2FF370%2C_G%2F%2FF700%2C_G%2F%2FF900/Provisioning/11_About_LUN_Manager%2C_logical_units_(LUs)%2C_and_host_groups

Closes-Bug: #2012515
Change-Id: I1c9677112caa0808dff17cbde2db6afbe25a2129
(cherry picked from commit 61e7d1f)
(cherry picked from commit e8e24a2)
This patch is to fix an exception name when deleted volume is busy
in delete_volume().
Although exception ``VolumeIsBusy`` should be issued in that case,
``VolumeDriverException`` is issued. It should be fixed.

Closes-Bug: #2024418
Change-Id: I5405790c7cd4ca513ceea70380be723a54c3fe3c
(cherry picked from commit a0d0752)
(cherry picked from commit 8f497c1)
Saves 30s of unit test run time.

Change-Id: I033a76b9e04b2032c38b8b1f087033409470fafa
(cherry picked from commit aa91cf1)
(cherry picked from commit 6137b96)
This shaves about 45s off of NEC unit test run time.

Change-Id: I2937ae4b7e3ceddc5b0650a0676bd6c3120b7fcc
(cherry picked from commit a57f6fb)
(cherry picked from commit c0d9e2a)
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 60b7062)
(cherry picked from commit 070ca24)
The patch fixes to set correct object ID for LDEV nickname.

Closes-Bug: #2071697
Change-Id: I2a2cfb44207b03fbb006d29ae958896f3f3231ed
(cherry picked from commit 1895845)
(cherry picked from commit b5b0c6d)
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
(cherry picked from commit d04db6f)
Conflicts:
	doc/source/configuration/block-storage/drivers/hitachi-vsp-driver.rst
(cherry picked from commit 06f367c)
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 <[email protected]>
Change-Id: I53b573bfff64e7460ef34f1355d3a9d52a8879f9
Signed-off-by: Jan Hartkopf <[email protected]>
(cherry picked from commit f8e13a8)
(cherry picked from commit 52f885b)
(cherry picked from commit 7e67fcd)
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 9ff29a6)
(cherry picked from commit 966bc53)
(cherry picked from commit a466141)
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 1b07bee)
(cherry picked from commit 7ab8848)
(cherry picked from commit e8b57df)
In some deployments, after an upgrade, we remove the old service
records and create new ones. This leaves the volumes with the
service_uuid pointing to the old (deleted) service and causes an
issue while purging out the deleted service records.
This patch adds a cinder-manage command to update the
service_uuid field of volumes with the following command:

``cinder-manage volume update_service``

The service_uuid of volumes associated with old service_uuid
also gets updated when cinder creates a new service.

Change-Id: I0b13c6351733b8163bcf6e73c939c375493dcba5
(cherry picked from commit edeac13)
(cherry picked from commit 530376b)
(cherry picked from commit 5b3717f)
In microversion 3.67, we made project_id optional in the URL
for all Cinder APIs.
However, the default-types APIs (set, unset, get, list) were
implemented without the project_id in the URL to make it
ready for SRBAC and anticipating the new endpoint for cinder
without project_id.

This is causing issues while implementing the SDK support for
default-types APIs since we fetch the endpoint containing
project_id (http://127.0.0.1/volume/v3/<project_id>/default-types)
but the default-types API doesn't expect it
(http://127.0.0.1/volume/v3/default-types) resulting in 404
resource not found error.

ResourceNotFound: 404: Client Error for url:
http://127.0.0.1/volume/v3/default_types/12a1b5e507e7497db79707b0ddedf1a4,
: 404 Not Found: The resource could not be found.

This patch makes the default-types APIs consistent with the
other cinder APIs that accept URL with/without project_id.

NOTE: This patch doesn't require a microversion bump or releasenote
since the expectation with MV3.67 is that all APIs support
request irrespective of project_id in the URL and this change is
making default-types APIs consisitent with MV3.67.
Also MV3.67 is just an indication of the behavior change otherwise
supplying URLs without project ID with MV < 3.67 also works.

Change-Id: I63efc0598d501d77474588a02582f5338bb8d345
(cherry picked from commit 9afa19e)
(cherry picked from commit 2bb2f13)
(cherry picked from commit ec37acc)
This patch allows delete_volume and delete_snapshot calls
to fail less often when using RBD volume clones and snapshots.

RBD clone v2 support allows remove() to pass in situations
where it would previously fail, but it still fails with an
ImageBusy error in some situations.  For example:

 volume1
   -> snapshot s1 of volume 1
     -> volume2 cloned from snapshot 1
Deleting snapshot s1 would fail with ImageBusy.

This is fixed by using RBD flatten operations to break
dependencies between volumes/snapshots and other RBD volumes
or snapshots.

Delete now works as follows:
  1. Attempt RBD remove()
     This is the "fast path" for removing a simple volume
     that involves no extra overhead.
  2. If busy and the volume has child dependencies,
     flatten those dependencies with RBD flatten()
  3. Attempt RBD remove() again
     This will succeed in more cases than (1) would have.
  4. If remove() failed, use trash_move() instead to move
     the image to the trash instead.
     This allows Cinder deletion of a volume (volume1) to proceed
     in the scenario where volume2 was cloned from snapshot s1 of
     volume1, and snapshot s1 has been trashed and not fully
     deleted from the RBD backend.  (Snapshots in the trash
     namespace are no longer visible but are still in the
     dependency chain.)

This allows Cinder deletions to succeed in most scenarios where
they would previously fail.

In cases where a .clone_snap snapshot is present, we still do a
rename to .deleted instead of deleting/trashing the volume.  This
should be worked on further in a follow-up as it is likely not
necessary most of the time.

A new configuration option, rbd_concurrent_flatten_operations, was
introduced to limit how many flatten calls can be made at the same time.
This is to prevent overloading the backend. The default value is 3.

Co-Authored-By: Eric Harney <[email protected]>
Co-Authored-By: Sofia Enriquez <[email protected]>

Closes-Bug: #1969643
Change-Id: I009d0748fdc829ca0b4f99bc9b70dadd19717d04
(cherry picked from commit 1a675c9)
(cherry picked from commit ab92378)
Zuul and others added 7 commits October 31, 2024 16:29
Change-Id: Ia35eb28e02840fa188e3e2dad8d188164ca1738a
The property "signature_verified" is added by cinder
to volumes created from images. That property is
propagated to glance when images are created from such
volumes. Later, when creating volumes from such images
again, the image property conflicts with cinder trying to
add the property again. The solution is to never
propagate such cinder property in the first place.

Closes-bug: #1823445
Change-Id: Id46877e490b17c00ba1cf8cf312dd2f456760a23
(cherry picked from commit c65f43c)
(cherry picked from commit 9dbf296)
(cherry picked from commit 9d1b6b8)
(cherry picked from commit a770f72)
Online data migrations have been ignoring deleted volumes and
snapshots which causes upgrade failures during a DB sync when
upgrading to 2024.1

This patches the query to include deleted resources so that
these records can be fixed ahead of an upgrade.

Note for unmaintained/2023.1: This patch was earlier merged only to the
non-SLURP 2023.2 branch, which was EOL-ed since, therefore when
upgrading from 2023.1 to 2024.1 the bug reappears.

Related-Bug: #2070475
Change-Id: I879cda84d78957a1065bdcf6619fefe88596809e
Signed-off-by: Bence Romsics <[email protected]>
(cherry picked from commit 0a0c534)
flake8-import-order has a new release[1] on June 20th that breaks
Cinder in a different way.

./cinder/api/api_utils.py:28:1: I300 TYPE_CHECKING block should have one newline above.
./cinder/api/common.py:32:1: I300 TYPE_CHECKING block should have one newline above.
./cinder/cmd/backup.py:48:1: I300 TYPE_CHECKING block should have one newline above.
./cinder/cmd/volume.py:52:1: I300 TYPE_CHECKING block should have one newline above.

It would be good to fix the changes but for now, it's best to pin
the flake8-import-order to <0.19.X where the jobs were stable.
We can pin it to a higher version when needed but we want to
unblock the gate as a priority for now.

[1] https://pypi.org/project/flake8-import-order/0.19.1/

Change-Id: Ic99814a61c93a9249ae9fbe5ecd5c510cb6e31ed
(cherry picked from commit 4b96a9a)
Conflicts:
	test-requirements.txt
(cherry picked from commit 2da9df9)
Conflicts:
	test-requirements.txt
(cherry picked from commit 73f25c6)
Conflicts:
	test-requirements.txt
Signed-off-by: Eric Harney <[email protected]>
(cherry picked from commit 0b50390)
Signed-off-by: Elod Illes <[email protected]>
@github-actions github-actions bot requested a review from a team as a code owner January 16, 2026 10:01
@github-actions github-actions bot added automated Automated action performed by GitHub Actions synchronisation labels Jan 16, 2026
@priteau priteau closed this Jan 16, 2026
@priteau priteau reopened this Jan 16, 2026
priteau
priteau previously approved these changes Jan 16, 2026
@priteau priteau enabled auto-merge January 16, 2026 10:04
A test in datera was failing locally due to the fact the the version
checking could be wrong in the egg-info local folder if you switch from
a branch to another.

It's not necessary to test this anymore as Cinder version 15 (train) is
EOL anyway.

Signed-off-by: Arnaud Morin <[email protected]>
Change-Id: I0d17899c0b239ec969ff51238dcbd4402a567f6c
(cherry picked from commit 7ee7ac5)
@priteau priteau merged commit 27392a0 into stackhpc/2023.1 Jan 16, 2026
4 checks passed
@priteau priteau deleted the upstream/2023.1-2026-01-16 branch January 16, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated Automated action performed by GitHub Actions synchronisation

Projects

None yet

Development

Successfully merging this pull request may close these issues.