Add support for gethering metrics from CSI block-mode volumes

This commit is contained in:
Niels de Vos 2021-01-12 16:53:30 +01:00
parent d797ece247
commit e99ced3114
2 changed files with 8 additions and 0 deletions

View File

@ -95,6 +95,7 @@ type csiBlockMapper struct {
spec *volume.Spec
pod *v1.Pod
podUID types.UID
volume.MetricsProvider
}
var _ volume.BlockVolumeMapper = &csiBlockMapper{}

View File

@ -698,6 +698,13 @@ func (p *csiPlugin) NewBlockVolumeMapper(spec *volume.Spec, podRef *api.Pod, opt
}
klog.V(4).Info(log("created path successfully [%s]", dataDir))
blockPath, err := mapper.GetGlobalMapPath(spec)
if err != nil {
return nil, errors.New(log("failed to get device path: %v", err))
}
mapper.MetricsProvider = NewMetricsCsi(pvSource.VolumeHandle, blockPath, csiDriverName(pvSource.Driver))
// persist volume info data for teardown
node := string(p.host.GetNodeName())
attachID := getAttachmentName(pvSource.VolumeHandle, pvSource.Driver, node)