[stable/2023.1][CLOUDOPS-748] fix fileutils missing (#2303)

relate to #2298
diff --git a/images/cinder/Dockerfile b/images/cinder/Dockerfile
index fb37662..f512488 100644
--- a/images/cinder/Dockerfile
+++ b/images/cinder/Dockerfile
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: Apache-2.0
-# Atmosphere-Rebuild-Time: 2024-06-25T22:49:25Z
+# Atmosphere-Rebuild-Time: 2025-01-13T13:53:44Z
 
 ARG RELEASE
 
diff --git a/images/cinder/patches/cinder/0002-Directly-import-converted-image-to-RBD.patch b/images/cinder/patches/cinder/0002-Directly-import-converted-image-to-RBD.patch
index f63c4e9..b625d10 100644
--- a/images/cinder/patches/cinder/0002-Directly-import-converted-image-to-RBD.patch
+++ b/images/cinder/patches/cinder/0002-Directly-import-converted-image-to-RBD.patch
@@ -1,7 +1,7 @@
-From ddb4c87da6d20cc2cf37db70498f6890db1b2498 Mon Sep 17 00:00:00 2001
+From 294e042c15e288b5ce4d0c0451d1672fc9577f9d Mon Sep 17 00:00:00 2001
 From: ricolin <rlin@vexxhost.com>
-Date: Tue, 22 Oct 2024 18:31:52 +0800
-Subject: [PATCH] Directly import converted image to RBD
+Date: Mon, 13 Jan 2025 11:55:43 +0800
+Subject: [PATCH] [PATCH] Directly import converted image to RBD
 
 For volume encryption from Glance image case,
 once we cloned the image down, we do convert and import back to RBD.
@@ -12,25 +12,14 @@
 Related-Bug: #2055517
 Change-Id: Ib5e15eeee6a02e2833d14ac34f6fdeb4a6548a67
 ---
- cinder/tests/unit/volume/drivers/test_rbd.py  |  2 -
- cinder/volume/drivers/rbd.py                  | 57 ++++++++-----------
- ...verted-encrypt-image-005986a59d1027e1.yaml |  9 +++
- 3 files changed, 34 insertions(+), 34 deletions(-)
- create mode 100644 releasenotes/notes/allow-direct-import-converted-encrypt-image-005986a59d1027e1.yaml
+ cinder/volume/drivers/rbd.py | 67 +++++++++++++++++++-----------------
+ 1 file changed, 36 insertions(+), 31 deletions(-)
 
 diff --git a/cinder/volume/drivers/rbd.py b/cinder/volume/drivers/rbd.py
-index 13f67b3d4..291db326d 100644
+index 977b23356..cd71046b0 100644
 --- a/cinder/volume/drivers/rbd.py
 +++ b/cinder/volume/drivers/rbd.py
-@@ -32,7 +32,6 @@ from oslo_log import log as logging
- from oslo_service import loopingcall
- from oslo_utils import encodeutils
- from oslo_utils import excutils
--from oslo_utils import fileutils
- from oslo_utils import units
- try:
-     import rados
-@@ -1992,11 +1991,10 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
+@@ -1995,11 +1995,10 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
          self._copy_image_to_volume(context, volume, image_service, image_id,
                                     disable_sparse=disable_sparse)
  
@@ -46,7 +35,7 @@
          encryption = volume_utils.check_encryption_provider(
              volume,
              context)
-@@ -2010,6 +2008,19 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
+@@ -2013,6 +2012,19 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
          cipher_spec = image_utils.decode_cipher(encryption['cipher'],
                                                  encryption['key_size'])
  
@@ -66,7 +55,7 @@
          tmp_dir = volume_utils.image_conversion_dir()
  
          with tempfile.NamedTemporaryFile(prefix='luks_',
-@@ -2017,18 +2028,10 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
+@@ -2020,18 +2032,10 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
              with open(pass_file.name, 'w') as f:
                  f.write(passphrase)
  
@@ -89,7 +78,7 @@
  
      def _copy_image_to_volume(self,
                                context: context.RequestContext,
-@@ -2047,9 +2050,6 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
+@@ -2050,9 +2054,6 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
                                       size=volume.size,
                                       disable_sparse=disable_sparse)
  
@@ -99,7 +88,7 @@
              @utils.retry(exception.VolumeIsBusy,
                           self.configuration.rados_connection_interval,
                           self.configuration.rados_connection_retries)
-@@ -2058,17 +2058,21 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
+@@ -2061,17 +2062,21 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
  
              _delete_volume(volume)
  
@@ -132,21 +121,6 @@
          self._resize(volume)
          # We may need to re-enable replication because we have deleted the
          # original image and created a new one using the command line import.
-diff --git a/releasenotes/notes/allow-direct-import-converted-encrypt-image-005986a59d1027e1.yaml b/releasenotes/notes/allow-direct-import-converted-encrypt-image-005986a59d1027e1.yaml
-new file mode 100644
-index 000000000..b1544214d
---- /dev/null
-+++ b/releasenotes/notes/allow-direct-import-converted-encrypt-image-005986a59d1027e1.yaml
-@@ -0,0 +1,9 @@
-+---
-+fixes:
-+  - |
-+    [Bug 255517](https://bugs.launchpad.net/cinder/+bug/2055517): Improve slow
-+    on create encrypted volumes with temp file import.
-+    For volume encryption from Glance image case, once we cloned the image
-+    down, we do convert and import back to RBD. We now avoid another tempfile
-+    write and directly upload image to RBD. And it is now directly upload to
-+    RBD with qemu-img command without temprory converted image file generated.
 -- 
 2.25.1