From 7fa6fc722675105af043017cc738e1e28166f3b6 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Fri, 12 Jul 2019 10:26:01 -0400 Subject: [PATCH] Add explicit warning for deprecation of Cinder and ScaleIO volume providers We have had a warning for OpenStack in-tree cloud provider, Here we are adding more fine grained WARNING for OpenStack cinder volume provider in addition to that. Also identified ScaleIO as something that has not had activity or updates for a while, So we should deprecate that as well --- pkg/volume/plugins.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkg/volume/plugins.go b/pkg/volume/plugins.go index 933a18fc7f8..922e7403626 100644 --- a/pkg/volume/plugins.go +++ b/pkg/volume/plugins.go @@ -66,6 +66,13 @@ const ( CSIVolumePublished CSIVolumePhaseType = "published" ) +var ( + deprecatedVolumeProviders = map[string]string{ + "kubernetes.io/cinder": "The Cinder volume provider is deprecated and will be removed in a future release", + "kubernetes.io/scaleio": "The ScaleIO volume provider is deprecated and will be removed in a future release", + } +) + // VolumeOptions contains option information about a volume. type VolumeOptions struct { // The attributes below are required by volume.Provisioner @@ -674,6 +681,11 @@ func (pm *VolumePluginMgr) FindPluginBySpec(spec *Spec) (VolumePlugin, error) { } return nil, fmt.Errorf("multiple volume plugins matched: %s", strings.Join(matchedPluginNames, ",")) } + + // Issue warning if the matched provider is deprecated + if detail, ok := deprecatedVolumeProviders[matches[0].GetPluginName()]; ok { + klog.Warningf("WARNING: %s built-in volume provider is now deprecated. %s", matches[0].GetPluginName(), detail) + } return matches[0], nil } @@ -737,6 +749,11 @@ func (pm *VolumePluginMgr) FindPluginByName(name string) (VolumePlugin, error) { } return nil, fmt.Errorf("multiple volume plugins matched: %s", strings.Join(matchedPluginNames, ",")) } + + // Issue warning if the matched provider is deprecated + if detail, ok := deprecatedVolumeProviders[matches[0].GetPluginName()]; ok { + klog.Warningf("WARNING: %s built-in volume provider is now deprecated. %s", matches[0].GetPluginName(), detail) + } return matches[0], nil }