This commit fixes a bug in rbdVol.Exists() which caused
VolID not to be set in PVC-PVC clone case.
Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit b05d4676798121c180a423f4e66fd2ac37c47645)
# Conflicts:
# internal/rbd/rbd_journal.go
The resize test for NFS seems to fail with the following error:
expected size 1Gi found 35G
This might be because there is a new Ceph release, this needs furtner
investigation.
Signed-off-by: Niels de Vos <ndevos@ibm.com>
(cherry picked from commit 4d1548c48117f715b0fb8a80306bb3c0677fe5c2)
With the new Ceph container-build process, the .repo files for DNF are
removed. This means that the build containers can not install required
dependencies anymore, like librados-devel and librbd-devel.
By reinstalling the ceph-release package from the Ceph distribution
server, the .repo files are restored and the required Ceph packages can
be installed again.
Signed-off-by: Niels de Vos <ndevos@ibm.com>
(cherry picked from commit 21165dfc64b6c5abc3f85faf570f077b70dfc8ec)
Issue: When an RBD image is created in a non-default namespace,
the OMAP data for the PersistentVolume fails to regenerate
because it still attempts to locate the RBD image in the default
namespace.
This commit ensures the correct radosNamespace is retrieved from
the ceph-csi-config.
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 8a66575825be125b5c9f1762cc60f7e118e856ce)
Problem: When the encryptionType is not specified in the StorageClass,
the default type (block) is used and stored in OMAP. However, during
OMAP regeneration in a secondary cluster, the default type is incorrectly
set to none. This discrepancy leads to errors during PVC cloning,
with the message: `cannot create encrypted volume from unencrypted volume.`
Solution: Update the default encryption type to consistently use
block instead of none.
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 0cfb2b012b1367b59dd834f7dcd0a20e61e5581f)
this commit adds a check to getVolumeReplicationInfo
to include status not found error while getting the
remote status.
This helps the failover to be done even if remote site status
is not found
Signed-off-by: yati1998 <ypadia@redhat.com>
(cherry picked from commit 4101b63e02f110a30f09a499e31b5ebaaa59cd0e)
CephFS uses the parameter `volumeGroupNamePrefix` for creating VolumeGroups.
This commit renames `groupNamePrefix` to `volumeGroupNamePrefix` for RBD
VolumeGroup creation to ensure consistent naming.
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit eebfd15e78a184a9abf9321a3d57d91a57ef2a36)
Fix status codes that are returned for Get/Delete RPC calls
for VolumeGroup/VolumeGroupSnapshot.
Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
(cherry picked from commit 18a62ec9de170b180197b75c0a67b5fc4f6b7e19)
We should return NotFound status if the group doesn't exists
for ControllerGetVolumeGroup RPC call.
And, an empty/OK response for DeleteVolumeGroup if the group
doesn't exists
Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
(cherry picked from commit c7d54ab7767e04d597e891d6307249dd5a8cec79)
Currently, CephCSI only uses listSnaps to determine
number of snapshots on a RBD image and uses snapshot
names as child image names to flatten them.
But child images may have different name(in case of
group snapshot) or they maybe in trash
(deleted k8s VolSnapshot with alive restored PVC).
The above problems are avoid by making use of both
snap and child image lists.
Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit 09d848e01727343a56e38f64a1daf2d03b234a84)
This commit consolidates flatten logic checks for cloneDepth
and snapshotLimit in PrepareVolumeForSnapshot. This allows
the function to be called for both CreateSnapshot and
CreateVolumeGroupSnapshot.
Clone Depth check and flattening of grand parent image
now occurs before creation of snapshot starts.
This aligns better with how PVC-PVC clone and
PVC-restore process occurs currently.
Flattening the grandparent image once prevents
flattening of every newly created snapshot.
Snapshot in above para refers to k8s VolumeSnapshot
(which is backed by a rbd image).
Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit 9936033283f697ce10d6bbb47696929de3797517)
This commit fixes the VolumeGroup UndoReservation
by using the correct RequestName of the VolumeGroup
instead of the volumeGroupHandle.
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 51d0a081126a4f20081770efa678f91e47c78e38)
This function deletes rbd snap and rbd image
backing k8s snapshot.
The same function is used for deleting
individual snapshots in group snapshot.
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 797eceebb2c4940bb5f90e17e23b21488263ef44)
Remove the vsg flag present in the older snapshotter
which is meant only for the Alpha Release and we are
no longer installing Alpha CRD.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit a88f86e9a43a82aa5132bf5b2839f8aa9303a15e)
updating the yamls of vgs to v1beta1
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 21d639df2054e8fa75d95a82790b953d21e4888e)
updating the snapshot container ARG
to enable the vgs feature.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit eb66ec8177699c36323f886c93816ffc528d8e3b)
updating the snapshot client and
test to use v1beta1 client and API.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit a17fef07e6058764050f569b05baf0d6fab359e6)
updating the snapshotter image to 8.2.0
and update the flag to enable vgs
feature.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 5bfff89e04f0d45d6b090bf35a7688aa771ddc1d)
updating the snapshotter image to 8.2.0
and update the flag to enable vgs
feature.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 23da6d9b13f89452269c6918f68839236661047c)
updating the snapshot version in
the build.env
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 884c47dd3cebd961eb1e59d7be10ce0d2afdd304)
updating the github action pull
request commentor to drop
older unsupported release and support
3.13 release.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit a32ba13045f4f433d4c00f568c67209556428a76)
updating mergify rules to drop
3.11 and add 3.13 support.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit b69c84ba1d504c5b80d57d6f431d399ce38ae771)
updating the documents for the 3.13
release.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 778104d92f19d46af07cc99485b5cdd192e349ae)
On occasion there are inconsistencies in the CentOS or Ceph RPM
repositories. This can cause `dnf update` to fail when there are
conflicting versions of a package. By adding the `--nobest` option,
packages can get upgraded to an older version, but not the latest.
Signed-off-by: Niels de Vos <ndevos@ibm.com>
(cherry picked from commit d8a040719e0ad491ad144fe361b67e6bd2109710)
Some packages were updated to more recent versions, others were not. Now
everything is at the latest v0.31.3.
Signed-off-by: Niels de Vos <ndevos@ibm.com>
`ControllerExpandVolume` creates the credentials from
secrets but never actually uses it for anything.
The secrets map is passed on to `NewVolumeOptionsFromVolID`
which does the same check again. This patch removes the
extraneous step.
Signed-off-by: Niraj Yadav <niryadav@redhat.com>
using os.RemoveAll will remove everything
in the director after the Umount we should
be using os.Remove only to remove the empty
directory
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
using os.RemoveAll will remove everything
in the director after the Umount we should
be using os.Remove only to remove the empty
directory
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
We should not be dependent on the CO to ensure
that it will serialize the request instead of
that we need to have own internal locks to ensure
that we dont do concurrent operations for same
request.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
We should not be dependent on the CO to ensure
that it will serialize the request instead of
that we need to have own internal locks to ensure
that we dont do concurrent operations for same
request.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>