Issue: When delete pv failed, error message shows '*** Directory not empty ***'
the actual failed reason is 'access denied'
This commit ensures ceph-csi return right error massage.
Signed-off-by: ecosysbin <14729934+ecosysbin@user.noreply.gitee.com>
1. QoS provides settings for rbd volume read/write iops
and read/write bandwidth.
2. All QoS parameters are placed in the SC,
send QoS parameters from SC to Cephcsi through PVC create request.
3. We need provide QoS parameters in the SC as below:
- BaseReadIops
- BaseWriteIops
- BaseReadBytesPerSecond
- BaseWriteBytesPerSecond
- ReadIopsPerGB
- WriteIopsPerGB
- ReadBpsPerGB
- WriteBpsPerGB
- BaseVolSizeBytes
There are 4 base qos parameters among them, when users apply for
a volume capacity equal to or less than BaseVolSizebytes, use base
qos limit. For the portion of capacity exceeding BaseVolSizebytes,
QoS will be increased in steps set per GB. If the step size parameter
per GB is not provided, only base QoS limit will be used and not associated
with capacity size.
4. If PVC has resize request, adjust the QoS limit
according to the QoS parameters after resizing.
Signed-off-by: Yite Gu <guyite@bytedance.com>
Currently, `GetVolumeGroup()` fetches the RBD group from the
pool using the clusterID & poolID encoded in the VolumeGroupHandle.
However, this approach may fail in a secondary mirrored cluster,
where the clusterID & poolID could differ.
This commit ensures that `GetVolumeGroup` leverages the
clusterIDMapping and RBDPoolIDMapping to locate the RBD group in the
appropriate pool if it is not found in the pool corresponding
to the poolID encoded in the VolumeGroupHandle.
Signed-off-by: Praveen M <m.praveen@ibm.com>
Currently helm index configures URLs to charts with relative path
(see https://ceph.github.io/csi-charts/index.yaml).
Artifactory contains support for virtual repositories. Virtual
repositories are able to cache remote repositories and provide
offline access to those repositories.
In order for this to work correctly, charts must specify absolute base URL to
artifacts.
This commit adds this base URL using argument for helm index command.
URL with previous approach:
```yaml
urls:
- cephfs/ceph-csi-cephfs-3.13.0.tgz
```
URL with current approach (my personal "lirt" repo was used to test this, the
MR specifies correct "ceph" path)
```yaml
urls:
- https://lirt.github.io/csi-charts/cephfs/ceph-csi-cephfs-3.13.0.tgz
```
Signed-off-by: Ondrej Vasko <ondrej.vaskoo@gmail.com>
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>
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>
When a `dataPool` is passed while creating a volume, there is a
`%!s(MISSING)` piece added to a debug log message. When concatinating
strings, the `%s` formatter is not needed.
Updates: #5103
Signed-off-by: Niels de Vos <ndevos@ibm.com>
VolumeGroupReplicationContent controller needs `get`, `list` and `watch`
access control for resource `VolumeGroupReplicationContents`. And `get`
access control for resource `VolumeGroupReplicationClasses`.
Signed-off-by: Praveen M <m.praveen@ibm.com>
This commit adds new controller that watches for the
VolumeGroupReplicationContent and regenerates the OMAP data if
it doesn't exists.
Signed-off-by: Praveen M <m.praveen@ibm.com>
This commit adds `RegenerateVolumeGroupJournal` to Manager
interface. RegenerateVolumeGroupJournal regenerate the omap
data for the volume group.
This performs the following operations:
- extracts clusterID and Mons from the cluster mapping
- Retrieves pool and journalPool parameters from the VolumeGroupReplicationClass
- Reserves omap data
- Add volumeIDs mapping to the reserved volume group omap object
- Generate new volume group handle
Returns the generated volume group handler.
Signed-off-by: Praveen M <m.praveen@ibm.com>
This commit adds groupUUID param for `ReserveName` to be used for
OMAP name reserve instead of auto-generating.
This is useful for mirroring and metro-DR ensuring that mirrored
resources have consistent OMAP names across mirrored clusters.
Signed-off-by: Praveen M <m.praveen@ibm.com>
The attribute and variable `csiID` ise used for at least two different
things:
- name of the driver instance, used for journalling metadata
- objects of the CSIIdentifier struct, composing a volume-handle
By changing the name of the `csiID` attribute for driver instances to
`driverInstance`, any confusion should be prevented.
Signed-off-by: Niels de Vos <ndevos@ibm.com>
This patch adds the functionality to map the k8s volumesnapshots
to the cephfs/rbd snapshots.
This patch also adds a wrapper around oc/kubectl called `kube_client`
which will help get rid of code duplication.
Closes: #3344
Signed-off-by: Niraj Yadav <niryadav@redhat.com>
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to
mkfs.ext4, pass assume_storage_prezeroed=1 which is
stronger and allows the filesystem to skip inode table zeroing
completely instead of simply doing it lazily.
The support for this flag is checked by trying to format a fake
temporary image with mkfs.ext4 and checking its STDERR.
Closes: #4948
Signed-off-by: Niraj Yadav <niryadav@redhat.com>
Bumps the k8s-dependencies group with 1 update in the /api directory: [k8s.io/api](https://github.com/kubernetes/api).
Updates `k8s.io/api` from 0.31.3 to 0.32.1
- [Commits](https://github.com/kubernetes/api/compare/v0.31.3...v0.32.1)
---
updated-dependencies:
- dependency-name: k8s.io/api
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: k8s-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
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>
Volume Replication has been added to csi-addons
as a feature in it sometime back. But the doc still
uses the volume replication operator to enable
mirroring and create related resources for
disaster recovery.
this commit updates the document to use csi-addons
instead of creating volumereplication sidecar.
Signed-off-by: yati1998 <ypadia@redhat.com>
The Kubernetes CSI sidecars have had several releases that were not
included in deployments by Rook yet, update them to the versions that
are available today:
- csi-node-driver-registrar:v2.13.0
- csi-provisioner:v5.1.0
- csi-attacher:v4.8.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>