mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Kubelet creates v1.CSINode
This commit is contained in:
parent
8f6ab81cd4
commit
d27fa9d890
@ -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",
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user