csi: plugin name normalization
Fixes https://github.com/moby/swarmkit/issues/3215 Progresses https://github.com/ceph/ceph-csi/issues/3769
- What I did Modified manager/csi/manager.go:getPlugin so that plugins are uniquely identified by their CSI driver name, not by the Docker plugin image/tag used to install them. This ensures that all of eg.: -rbd.csi.ceph.com:latest -rbd.csi.ceph.com:v3.10.0 -rbd.csi.ceph.com@sha256:... ...refer to the same logical driver instance.
- How I did it The getPlugin function now normalizes plugin names by stripping any tag suffixes. The normalized name is then used as the key in vm.plugins.
- How to test it Added Go Test for the addressed failure case. When run on the unpatched code, it also serves as proof of the issue and fails like expected.
- Description for the changelog Fix CSI plugin identity handling by normalizing plugin names to avoid duplicate plugin instances.