diff --git a/pkg/volume/csi/csi_plugin.go b/pkg/volume/csi/csi_plugin.go index 3c6a68d2f5d..207b6e587dc 100644 --- a/pkg/volume/csi/csi_plugin.go +++ b/pkg/volume/csi/csi_plugin.go @@ -703,7 +703,7 @@ func (p *csiPlugin) NewBlockVolumeMapper(spec *volume.Spec, podRef *api.Pod, opt return nil, errors.New(log("failed to get device path: %v", err)) } - mapper.MetricsProvider = NewMetricsCsi(pvSource.VolumeHandle, blockPath, csiDriverName(pvSource.Driver)) + mapper.MetricsProvider = NewMetricsCsi(pvSource.VolumeHandle, blockPath+"/"+string(podRef.UID), csiDriverName(pvSource.Driver)) // persist volume info data for teardown node := string(p.host.GetNodeName()) diff --git a/pkg/volume/volume.go b/pkg/volume/volume.go index 2ec1e5233ba..642f72645f8 100644 --- a/pkg/volume/volume.go +++ b/pkg/volume/volume.go @@ -48,6 +48,10 @@ type BlockVolume interface { // and name of a symbolic link associated to a block device. // ex. pods/{podUid}/{DefaultKubeletVolumeDevicesDirName}/{escapeQualifiedPluginName}/, {volumeName} GetPodDeviceMapPath() (string, string) + + // MetricsProvider embeds methods for exposing metrics (e.g. + // used, available space). + MetricsProvider } // MetricsProvider exposes metrics (e.g. used,available space) related to a