ceph-csi/internal/rbd
Madhu Rajanna 829fc5ed95 rbd: read clusterID and PoolID from mapping
Whenever Ceph-CSI receives a CSI/Replication
request it will first decode the
volumeHandle and try to get the required
OMAP details if it is not able to
retrieve, receives a `Not Found` error
message and Ceph-CSI will check for the
clusterID mapping. If the old volumeID
`0001-00013-site1-storage-0000000000000001
-b0285c97-a0ce-11eb-8c66-0242ac110002`
contains the `site1-storage` as the clusterID,
now Ceph-CSI will look for the corresponding
clusterID `site2-storage` from the above configmap.
If the clusterID mapping is found now Ceph-CSI
will look for the poolID mapping ie mapping between
`1` and `2`. Example:- pool with name exists on
both the clusters with different ID's Replicapool
with ID `1` on site1 and Replicapool with ID `2`
on site2. After getting the required mapping Ceph-CSI
has the required information to get more details
from the rados OMAP. If we have multiple clusterID mapping
it will loop through all the mapping and checks the
corresponding pool to get the OMAP data. If the clusterID
mapping does not exist Ceph-CSI will return an `Not Found`
error message to the caller.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 92ad2ceec9)
2021-08-09 09:24:16 +00:00
..
clone.go cleanup: resolve nlreturn linter issues 2021-07-22 06:05:01 +00:00
controllerserver_test.go cleanup: resolve parallel test issue 2021-07-13 11:31:39 +00:00
controllerserver.go rbd: add support to expand encrypted volume 2021-07-23 10:00:23 +00:00
driver.go cleanup: resolve nlreturn linter issues 2021-07-22 06:05:01 +00:00
encryption.go rbd: rename encryption metadata keys to enable mirroring 2021-07-26 11:49:56 +00:00
errors.go rbd: correct the code comment for ErrFlattenInProgress 2020-10-20 08:59:25 +00:00
identityserver.go internal: reformat long lines in internal/rbd package to 120 chars 2021-06-28 14:43:49 +00:00
mirror.go rbd: use go-ceph for getImageMirroringStatus 2021-07-26 06:37:40 +00:00
nodeserver_test.go cleanup: addresses paralleltest linter 2021-06-25 11:55:12 +00:00
nodeserver.go rbd: add support to expand encrypted volume 2021-07-23 10:00:23 +00:00
rbd_attach.go cleanup: resolve nlreturn linter issues 2021-07-22 06:05:01 +00:00
rbd_healer.go cleanup: resolve nlreturn linter issues 2021-07-22 06:05:01 +00:00
rbd_journal.go cleanup: resolve nlreturn linter issues 2021-07-22 06:05:01 +00:00
rbd_util_test.go rbd: read clusterID and PoolID from mapping 2021-08-09 09:24:16 +00:00
rbd_util.go rbd: read clusterID and PoolID from mapping 2021-08-09 09:24:16 +00:00
replicationcontrollerserver_test.go cleanup: resolve nlreturn linter issues 2021-07-22 06:05:01 +00:00
replicationcontrollerserver.go rbd: use go-ceph for getImageMirroringStatus 2021-07-26 06:37:40 +00:00
snapshot.go cleanup: resolve nlreturn linter issues 2021-07-22 06:05:01 +00:00