Merge pull request #80375 from wongma7/framework-csidriver

Add CSIDriver creation factory to e2e framework
This commit is contained in:
Kubernetes Prow Robot 2019-07-23 01:28:54 -07:00 committed by GitHub
commit 3ea28073a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 0 deletions

View File

@ -57,6 +57,7 @@ go_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/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/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",

View File

@ -27,6 +27,7 @@ import (
v1 "k8s.io/api/core/v1"
rbacv1 "k8s.io/api/rbac/v1"
storagev1 "k8s.io/api/storage/v1"
storagev1beta1 "k8s.io/api/storage/v1beta1"
apierrs "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
@ -279,6 +280,7 @@ var errorItemNotSupported = errors.New("not supported")
var factories = map[What]ItemFactory{
{"ClusterRole"}: &clusterRoleFactory{},
{"ClusterRoleBinding"}: &clusterRoleBindingFactory{},
{"CSIDriver"}: &csiDriverFactory{},
{"DaemonSet"}: &daemonSetFactory{},
{"Role"}: &roleFactory{},
{"RoleBinding"}: &roleBindingFactory{},
@ -328,6 +330,8 @@ func (f *Framework) patchItemRecursively(item interface{}) error {
f.PatchName(&item.Name)
case *storagev1.StorageClass:
f.PatchName(&item.Name)
case *storagev1beta1.CSIDriver:
f.PatchName(&item.Name)
case *v1.ServiceAccount:
f.PatchNamespace(&item.ObjectMeta.Namespace)
case *v1.Secret:
@ -570,6 +574,27 @@ func (*storageClassFactory) Create(f *Framework, i interface{}) (func() error, e
}, 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{}
func (f *secretFactory) New() runtime.Object {