From adff145d85da79f0fb6e01e8f0c5e43c54028350 Mon Sep 17 00:00:00 2001 From: Simon Dodsley Date: Wed, 9 Apr 2025 10:49:21 -0400 Subject: [PATCH] [Pure Storage] Fix QoS setting for cloned volumes Volumes created from glance images on the source FlashArray using volume cloning are not being assigned the correct QoS specifications associated with the requested volume type. This patch resolves that issue. This patch is standalone for 2024.1 as the codebase changed for 2024.2 and this bug is addressed in a seperate patch for that release. Partial-Bug: #2100547 Change-Id: Ic3bc26eee419ecae7377f05e9488b809cd3b843a (cherry picked from commit 7b571e5f54216820d74cfd0609a3b2b625bef027) --- cinder/volume/drivers/pure.py | 6 ++++++ .../notes/pure_clone_qos_fix-a2a13311e94247db.yaml | 7 +++++++ 2 files changed, 13 insertions(+) create mode 100644 releasenotes/notes/pure_clone_qos_fix-a2a13311e94247db.yaml diff --git a/cinder/volume/drivers/pure.py b/cinder/volume/drivers/pure.py index 2b3f1e64d94..c28d7926125 100644 --- a/cinder/volume/drivers/pure.py +++ b/cinder/volume/drivers/pure.py @@ -765,6 +765,12 @@ class PureBaseVolumeDriver(san.SanDriver): vol_name, src_vref["size"], volume["size"]) + # Check if the volume_type has QoS settings and if so + # apply them to the newly created volume + qos = None + qos = self._get_qos_settings(volume.volume_type) + if qos: + self.set_qos(current_array, vol_name, qos) return self._setup_volume(current_array, volume, vol_name) diff --git a/releasenotes/notes/pure_clone_qos_fix-a2a13311e94247db.yaml b/releasenotes/notes/pure_clone_qos_fix-a2a13311e94247db.yaml new file mode 100644 index 00000000000..84f6467a99a --- /dev/null +++ b/releasenotes/notes/pure_clone_qos_fix-a2a13311e94247db.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + Pure Storage driver `bug #2100547 + `_: Fixed issue where + volumes created as clones from a source image volume do get + the defined QoS settings associated with the volume type used.