mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Add CSIDriver creation factory to e2e framework
This commit is contained in:
parent
13af8f286d
commit
5060704a76
@ -57,6 +57,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/api/policy/v1beta1:go_default_library",
|
"//staging/src/k8s.io/api/policy/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
|
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/storage/v1:go_default_library",
|
"//staging/src/k8s.io/api/storage/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/api/storage/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/errors: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/api/resource:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
@ -27,6 +27,7 @@ import (
|
|||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
storagev1 "k8s.io/api/storage/v1"
|
storagev1 "k8s.io/api/storage/v1"
|
||||||
|
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
@ -278,6 +279,7 @@ var errorItemNotSupported = errors.New("not supported")
|
|||||||
var factories = map[What]ItemFactory{
|
var factories = map[What]ItemFactory{
|
||||||
{"ClusterRole"}: &clusterRoleFactory{},
|
{"ClusterRole"}: &clusterRoleFactory{},
|
||||||
{"ClusterRoleBinding"}: &clusterRoleBindingFactory{},
|
{"ClusterRoleBinding"}: &clusterRoleBindingFactory{},
|
||||||
|
{"CSIDriver"}: &csiDriverFactory{},
|
||||||
{"DaemonSet"}: &daemonSetFactory{},
|
{"DaemonSet"}: &daemonSetFactory{},
|
||||||
{"Role"}: &roleFactory{},
|
{"Role"}: &roleFactory{},
|
||||||
{"RoleBinding"}: &roleBindingFactory{},
|
{"RoleBinding"}: &roleBindingFactory{},
|
||||||
@ -327,6 +329,8 @@ func (f *Framework) patchItemRecursively(item interface{}) error {
|
|||||||
f.PatchName(&item.Name)
|
f.PatchName(&item.Name)
|
||||||
case *storagev1.StorageClass:
|
case *storagev1.StorageClass:
|
||||||
f.PatchName(&item.Name)
|
f.PatchName(&item.Name)
|
||||||
|
case *storagev1beta1.CSIDriver:
|
||||||
|
f.PatchName(&item.Name)
|
||||||
case *v1.ServiceAccount:
|
case *v1.ServiceAccount:
|
||||||
f.PatchNamespace(&item.ObjectMeta.Namespace)
|
f.PatchNamespace(&item.ObjectMeta.Namespace)
|
||||||
case *v1.Secret:
|
case *v1.Secret:
|
||||||
@ -557,6 +561,27 @@ func (*storageClassFactory) Create(f *Framework, i interface{}) (func() error, e
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type csiDriverFactory struct{}
|
||||||
|
|
||||||
|
func (f *csiDriverFactory) New() runtime.Object {
|
||||||
|
return &storagev1beta1.CSIDriver{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*csiDriverFactory) Create(f *Framework, i interface{}) (func() error, error) {
|
||||||
|
item, ok := i.(*storagev1beta1.CSIDriver)
|
||||||
|
if !ok {
|
||||||
|
return nil, errorItemNotSupported
|
||||||
|
}
|
||||||
|
|
||||||
|
client := f.ClientSet.StorageV1beta1().CSIDrivers()
|
||||||
|
if _, err := client.Create(item); err != nil {
|
||||||
|
return nil, errors.Wrap(err, "create CSIDriver")
|
||||||
|
}
|
||||||
|
return func() error {
|
||||||
|
return client.Delete(item.GetName(), &metav1.DeleteOptions{})
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
type secretFactory struct{}
|
type secretFactory struct{}
|
||||||
|
|
||||||
func (f *secretFactory) New() runtime.Object {
|
func (f *secretFactory) New() runtime.Object {
|
||||||
|
Loading…
Reference in New Issue
Block a user