ceph-csi/internal/rbd
Madhu Rajanna 517ad8c644 rbd: use dummy image to workaround rbd scheduling bug
currently we have a bug in rbd mirror scheduling module.
After doing failover and failback the scheduling is not
getting updated and the mirroring snapshots are not
getting created periodically as per the scheduling
interval. This PR workarounds this one by doing below
operations

* Create a dummy (unique) image per cluster and this image
should be easily identified.

* During Promote operation on any image enable the
mirroring on the dummy image. when we enable the mirroring
on the dummy image the pool will get updated and the
scheduling will be reconfigured.

* During Demote operation on any image disable the mirroring
on the dummy image. the disable need to be done to enable
the mirroring again when we get the promote request to make
the image as primary

* When the DR is no more needed, this image need to be
manually cleanup as for now as we dont want to add a check
in the existing DeleteVolume code path for delete dummy image
as it impact the performance of the DeleteVolume workflow.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2021-11-19 09:38:59 +05:30
..
clone.go rbd: modify copyEncryptionConfig to accept copyOnlyPassphrase arg 2021-10-05 07:46:57 +00:00
controllerserver_test.go cleanup: resolve parallel test issue 2021-07-13 11:31:39 +00:00
controllerserver.go rbd: split the parsing and deletion logic to its own functions. 2021-10-27 18:35:00 +00:00
driver.go rbd: detect krbd features in runtime and fallback to nbd 2021-11-01 08:17:36 +00:00
encryption.go rbd: modify copyEncryptionConfig to accept copyOnlyPassphrase arg 2021-10-05 07:46:57 +00:00
errors.go rbd: detect migration volID in DeleteVolume() and delete rbd image 2021-10-04 16:06:31 +00:00
identityserver.go internal: reformat long lines in internal/rbd package to 120 chars 2021-06-28 14:43:49 +00:00
migration_test.go rbd: change iteration variable name in the migration test to be specific 2021-10-11 10:06:30 +00:00
migration.go rbd: split the parsing and deletion logic to its own functions. 2021-10-27 18:35:00 +00:00
mirror.go rbd: add helper function to get local state 2021-08-16 17:38:25 +00:00
nodeserver_test.go cleanup: generalize the parseBool function 2021-11-01 08:17:36 +00:00
nodeserver.go rbd: use small case of error message 2021-11-18 10:44:12 +00:00
rbd_attach.go rbd: utilize cookie support from rbd for nbd 2021-11-04 03:20:59 +00:00
rbd_healer.go util: NewK8sClient() should not panic on non-Kubernetes clusters 2021-09-02 11:22:14 +00:00
rbd_journal.go rbd: modify copyEncryptionConfig to accept copyOnlyPassphrase arg 2021-10-05 07:46:57 +00:00
rbd_util_test.go rbd: detect krbd features in runtime and fallback to nbd 2021-11-01 08:17:36 +00:00
rbd_util.go rbd: run schedule during promote operation 2021-11-19 09:38:59 +05:30
replicationcontrollerserver_test.go rbd: run schedule during promote operation 2021-11-19 09:38:59 +05:30
replicationcontrollerserver.go rbd: use dummy image to workaround rbd scheduling bug 2021-11-19 09:38:59 +05:30
snapshot.go cleanup: move log functions to new internal/util/log package 2021-08-26 09:34:05 +00:00