Kubelet creates v1.CSINode

This commit is contained in:
Michelle Au 2019-10-03 18:33:04 -07:00
parent 8f6ab81cd4
commit d27fa9d890
3 changed files with 22 additions and 22 deletions

View File

@ -11,7 +11,7 @@ go_library(
"//pkg/volume:go_default_library",
"//pkg/volume/util:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/storage/v1beta1:go_default_library",
"//staging/src/k8s.io/api/storage/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
@ -48,7 +48,7 @@ go_test(
"//pkg/volume/testing:go_default_library",
"//pkg/volume/util:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/storage/v1beta1:go_default_library",
"//staging/src/k8s.io/api/storage/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",

View File

@ -28,7 +28,7 @@ import (
"time"
v1 "k8s.io/api/core/v1"
storagev1beta1 "k8s.io/api/storage/v1beta1"
storagev1 "k8s.io/api/storage/v1"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
@ -72,7 +72,7 @@ type nodeUpdateFunc func(*v1.Node) (newNode *v1.Node, updated bool, err error)
// Interface implements an interface for managing labels of a node
type Interface interface {
CreateCSINode() (*storagev1beta1.CSINode, error)
CreateCSINode() (*storagev1.CSINode, error)
// Updates or Creates the CSINode object with annotations for CSI Migration
InitializeCSINodeWithAnnotation() error
@ -379,7 +379,7 @@ func (nim *nodeInfoManager) tryUpdateCSINode(
maxAttachLimit int64,
topology map[string]string) error {
nodeInfo, err := csiKubeClient.StorageV1beta1().CSINodes().Get(string(nim.nodeName), metav1.GetOptions{})
nodeInfo, err := csiKubeClient.StorageV1().CSINodes().Get(string(nim.nodeName), metav1.GetOptions{})
if nodeInfo == nil || errors.IsNotFound(err) {
nodeInfo, err = nim.CreateCSINode()
}
@ -412,7 +412,7 @@ func (nim *nodeInfoManager) InitializeCSINodeWithAnnotation() error {
}
func (nim *nodeInfoManager) tryInitializeCSINodeWithAnnotation(csiKubeClient clientset.Interface) error {
nodeInfo, err := csiKubeClient.StorageV1beta1().CSINodes().Get(string(nim.nodeName), metav1.GetOptions{})
nodeInfo, err := csiKubeClient.StorageV1().CSINodes().Get(string(nim.nodeName), metav1.GetOptions{})
if nodeInfo == nil || errors.IsNotFound(err) {
// CreateCSINode will set the annotation
_, err = nim.CreateCSINode()
@ -424,14 +424,14 @@ func (nim *nodeInfoManager) tryInitializeCSINodeWithAnnotation(csiKubeClient cli
annotationModified := setMigrationAnnotation(nim.migratedPlugins, nodeInfo)
if annotationModified {
_, err := csiKubeClient.StorageV1beta1().CSINodes().Update(nodeInfo)
_, err := csiKubeClient.StorageV1().CSINodes().Update(nodeInfo)
return err
}
return nil
}
func (nim *nodeInfoManager) CreateCSINode() (*storagev1beta1.CSINode, error) {
func (nim *nodeInfoManager) CreateCSINode() (*storagev1.CSINode, error) {
kubeClient := nim.volumeHost.GetKubeClient()
if kubeClient == nil {
@ -448,7 +448,7 @@ func (nim *nodeInfoManager) CreateCSINode() (*storagev1beta1.CSINode, error) {
return nil, err
}
nodeInfo := &storagev1beta1.CSINode{
nodeInfo := &storagev1.CSINode{
ObjectMeta: metav1.ObjectMeta{
Name: string(nim.nodeName),
OwnerReferences: []metav1.OwnerReference{
@ -460,17 +460,17 @@ func (nim *nodeInfoManager) CreateCSINode() (*storagev1beta1.CSINode, error) {
},
},
},
Spec: storagev1beta1.CSINodeSpec{
Drivers: []storagev1beta1.CSINodeDriver{},
Spec: storagev1.CSINodeSpec{
Drivers: []storagev1.CSINodeDriver{},
},
}
setMigrationAnnotation(nim.migratedPlugins, nodeInfo)
return csiKubeClient.StorageV1beta1().CSINodes().Create(nodeInfo)
return csiKubeClient.StorageV1().CSINodes().Create(nodeInfo)
}
func setMigrationAnnotation(migratedPlugins map[string](func() bool), nodeInfo *storagev1beta1.CSINode) (modified bool) {
func setMigrationAnnotation(migratedPlugins map[string](func() bool), nodeInfo *storagev1.CSINode) (modified bool) {
if migratedPlugins == nil {
return false
}
@ -512,7 +512,7 @@ func setMigrationAnnotation(migratedPlugins map[string](func() bool), nodeInfo *
}
func (nim *nodeInfoManager) installDriverToCSINode(
nodeInfo *storagev1beta1.CSINode,
nodeInfo *storagev1.CSINode,
driverName string,
driverNodeID string,
maxAttachLimit int64,
@ -530,7 +530,7 @@ func (nim *nodeInfoManager) installDriverToCSINode(
specModified := true
// Clone driver list, omitting the driver that matches the given driverName
newDriverSpecs := []storagev1beta1.CSINodeDriver{}
newDriverSpecs := []storagev1.CSINodeDriver{}
for _, driverInfoSpec := range nodeInfo.Spec.Drivers {
if driverInfoSpec.Name == driverName {
if driverInfoSpec.NodeID == driverNodeID &&
@ -550,7 +550,7 @@ func (nim *nodeInfoManager) installDriverToCSINode(
}
// Append new driver
driverSpec := storagev1beta1.CSINodeDriver{
driverSpec := storagev1.CSINodeDriver{
Name: driverName,
NodeID: driverNodeID,
TopologyKeys: topologyKeys.List(),
@ -563,7 +563,7 @@ func (nim *nodeInfoManager) installDriverToCSINode(
maxAttachLimit = math.MaxInt32
}
m := int32(maxAttachLimit)
driverSpec.Allocatable = &storagev1beta1.VolumeNodeResources{Count: &m}
driverSpec.Allocatable = &storagev1.VolumeNodeResources{Count: &m}
} else {
klog.Errorf("Invalid attach limit value %d cannot be added to CSINode object for %q", maxAttachLimit, driverName)
}
@ -572,7 +572,7 @@ func (nim *nodeInfoManager) installDriverToCSINode(
newDriverSpecs = append(newDriverSpecs, driverSpec)
nodeInfo.Spec.Drivers = newDriverSpecs
_, err := csiKubeClient.StorageV1beta1().CSINodes().Update(nodeInfo)
_, err := csiKubeClient.StorageV1().CSINodes().Update(nodeInfo)
return err
}
@ -602,7 +602,7 @@ func (nim *nodeInfoManager) tryUninstallDriverFromCSINode(
csiKubeClient clientset.Interface,
csiDriverName string) error {
nodeInfoClient := csiKubeClient.StorageV1beta1().CSINodes()
nodeInfoClient := csiKubeClient.StorageV1().CSINodes()
nodeInfo, err := nodeInfoClient.Get(string(nim.nodeName), metav1.GetOptions{})
if err != nil && errors.IsNotFound(err) {
return nil

View File

@ -27,7 +27,7 @@ import (
"github.com/stretchr/testify/assert"
v1 "k8s.io/api/core/v1"
storage "k8s.io/api/storage/v1beta1"
storage "k8s.io/api/storage/v1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -985,7 +985,7 @@ func TestInstallCSIDriverExistingAnnotation(t *testing.T) {
}
// Assert
nodeInfo, err := client.StorageV1beta1().CSINodes().Get(nodeName, metav1.GetOptions{})
nodeInfo, err := client.StorageV1().CSINodes().Get(nodeName, metav1.GetOptions{})
if err != nil {
t.Errorf("error getting CSINode: %v", err)
continue
@ -1074,7 +1074,7 @@ func test(t *testing.T, addNodeInfo bool, csiNodeInfoEnabled bool, testcases []t
if csiNodeInfoEnabled {
// CSINode validation
nodeInfo, err := client.StorageV1beta1().CSINodes().Get(nodeName, metav1.GetOptions{})
nodeInfo, err := client.StorageV1().CSINodes().Get(nodeName, metav1.GetOptions{})
if err != nil {
if !errors.IsNotFound(err) {
t.Errorf("error getting CSINode: %v", err)