remove s2ibinary controller & add apis/group file to reduce warning
Signed-off-by: runzexia <runzexia@yunify.com>
This commit is contained in:
18
pkg/apis/iam/group.go
Normal file
18
pkg/apis/iam/group.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 The KubeSphere authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package iam contains iam API versions
|
||||||
|
package iam
|
||||||
18
pkg/apis/logging/group.go
Normal file
18
pkg/apis/logging/group.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 The KubeSphere authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package logging contains logging API versions
|
||||||
|
package logging
|
||||||
18
pkg/apis/monitoring/group.go
Normal file
18
pkg/apis/monitoring/group.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 The KubeSphere authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package monitoring contains monitoring API versions
|
||||||
|
package monitoring
|
||||||
18
pkg/apis/operations/group.go
Normal file
18
pkg/apis/operations/group.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 The KubeSphere authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package operations contains operations API versions
|
||||||
|
package operations
|
||||||
18
pkg/apis/resources/group.go
Normal file
18
pkg/apis/resources/group.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 The KubeSphere authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package resources contains resources API versions
|
||||||
|
package resources
|
||||||
18
pkg/apis/terminal/group.go
Normal file
18
pkg/apis/terminal/group.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 The KubeSphere authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package terminal contains terminal API versions
|
||||||
|
package terminal
|
||||||
@@ -1,169 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2019 The KubeSphere authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package s2ibinary
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"reflect"
|
|
||||||
|
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
|
||||||
corev1 "k8s.io/api/core/v1"
|
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
|
||||||
"k8s.io/apimachinery/pkg/types"
|
|
||||||
devopsv1alpha1 "kubesphere.io/kubesphere/pkg/apis/devops/v1alpha1"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/controller"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/handler"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/manager"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
|
||||||
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/source"
|
|
||||||
)
|
|
||||||
|
|
||||||
var log = logf.Log.WithName("controller")
|
|
||||||
|
|
||||||
/**
|
|
||||||
* USER ACTION REQUIRED: This is a scaffold file intended for the user to modify with their own Controller
|
|
||||||
* business logic. Delete these comments after modifying this file.*
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Add creates a new S2iBinary Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller
|
|
||||||
// and Start it when the Manager is Started.
|
|
||||||
func Add(mgr manager.Manager) error {
|
|
||||||
return add(mgr, newReconciler(mgr))
|
|
||||||
}
|
|
||||||
|
|
||||||
// newReconciler returns a new reconcile.Reconciler
|
|
||||||
func newReconciler(mgr manager.Manager) reconcile.Reconciler {
|
|
||||||
return &ReconcileS2iBinary{Client: mgr.GetClient(), scheme: mgr.GetScheme()}
|
|
||||||
}
|
|
||||||
|
|
||||||
// add adds a new Controller to mgr with r as the reconcile.Reconciler
|
|
||||||
func add(mgr manager.Manager, r reconcile.Reconciler) error {
|
|
||||||
// Create a new controller
|
|
||||||
c, err := controller.New("s2ibinary-controller", mgr, controller.Options{Reconciler: r})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Watch for changes to S2iBinary
|
|
||||||
err = c.Watch(&source.Kind{Type: &devopsv1alpha1.S2iBinary{}}, &handler.EnqueueRequestForObject{})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(user): Modify this to be the types you create
|
|
||||||
// Uncomment watch a Deployment created by S2iBinary - change this for objects you create
|
|
||||||
err = c.Watch(&source.Kind{Type: &appsv1.Deployment{}}, &handler.EnqueueRequestForOwner{
|
|
||||||
IsController: true,
|
|
||||||
OwnerType: &devopsv1alpha1.S2iBinary{},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ reconcile.Reconciler = &ReconcileS2iBinary{}
|
|
||||||
|
|
||||||
// ReconcileS2iBinary reconciles a S2iBinary object
|
|
||||||
type ReconcileS2iBinary struct {
|
|
||||||
client.Client
|
|
||||||
scheme *runtime.Scheme
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reconcile reads that state of the cluster for a S2iBinary object and makes changes based on the state read
|
|
||||||
// and what is in the S2iBinary.Spec
|
|
||||||
// TODO(user): Modify this Reconcile function to implement your Controller logic. The scaffolding writes
|
|
||||||
// a Deployment as an example
|
|
||||||
// Automatically generate RBAC rules to allow the Controller to read and write Deployments
|
|
||||||
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
|
|
||||||
// +kubebuilder:rbac:groups=apps,resources=deployments/status,verbs=get;update;patch
|
|
||||||
// +kubebuilder:rbac:groups=devops.kubesphere.io,resources=s2ibinaries,verbs=get;list;watch;create;update;patch;delete
|
|
||||||
// +kubebuilder:rbac:groups=devops.kubesphere.io,resources=s2ibinaries/status,verbs=get;update;patch
|
|
||||||
func (r *ReconcileS2iBinary) Reconcile(request reconcile.Request) (reconcile.Result, error) {
|
|
||||||
// Fetch the S2iBinary instance
|
|
||||||
instance := &devopsv1alpha1.S2iBinary{}
|
|
||||||
err := r.Get(context.TODO(), request.NamespacedName, instance)
|
|
||||||
if err != nil {
|
|
||||||
if errors.IsNotFound(err) {
|
|
||||||
// Object not found, return. Created objects are automatically garbage collected.
|
|
||||||
// For additional cleanup logic use finalizers.
|
|
||||||
return reconcile.Result{}, nil
|
|
||||||
}
|
|
||||||
// Error reading the object - requeue the request.
|
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(user): Change this to be the object type created by your controller
|
|
||||||
// Define the desired Deployment object
|
|
||||||
deploy := &appsv1.Deployment{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Name: instance.Name + "-deployment",
|
|
||||||
Namespace: instance.Namespace,
|
|
||||||
},
|
|
||||||
Spec: appsv1.DeploymentSpec{
|
|
||||||
Selector: &metav1.LabelSelector{
|
|
||||||
MatchLabels: map[string]string{"deployment": instance.Name + "-deployment"},
|
|
||||||
},
|
|
||||||
Template: corev1.PodTemplateSpec{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{"deployment": instance.Name + "-deployment"}},
|
|
||||||
Spec: corev1.PodSpec{
|
|
||||||
Containers: []corev1.Container{
|
|
||||||
{
|
|
||||||
Name: "nginx",
|
|
||||||
Image: "nginx",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
if err := controllerutil.SetControllerReference(instance, deploy, r.scheme); err != nil {
|
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(user): Change this for the object type created by your controller
|
|
||||||
// Check if the Deployment already exists
|
|
||||||
found := &appsv1.Deployment{}
|
|
||||||
err = r.Get(context.TODO(), types.NamespacedName{Name: deploy.Name, Namespace: deploy.Namespace}, found)
|
|
||||||
if err != nil && errors.IsNotFound(err) {
|
|
||||||
log.Info("Creating Deployment", "namespace", deploy.Namespace, "name", deploy.Name)
|
|
||||||
err = r.Create(context.TODO(), deploy)
|
|
||||||
if err != nil {
|
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
} else if err != nil {
|
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(user): Change this for the object type created by your controller
|
|
||||||
// Update the found object and write the result back if there are any changes
|
|
||||||
if !reflect.DeepEqual(deploy.Spec, found.Spec) {
|
|
||||||
found.Spec = deploy.Spec
|
|
||||||
log.Info("Updating Deployment", "namespace", deploy.Namespace, "name", deploy.Name)
|
|
||||||
err = r.Update(context.TODO(), found)
|
|
||||||
if err != nil {
|
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return reconcile.Result{}, nil
|
|
||||||
}
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2019 The KubeSphere authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package s2ibinary
|
|
||||||
|
|
||||||
import (
|
|
||||||
stdlog "log"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"sync"
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/onsi/gomega"
|
|
||||||
"k8s.io/client-go/kubernetes/scheme"
|
|
||||||
"k8s.io/client-go/rest"
|
|
||||||
"kubesphere.io/kubesphere/pkg/apis"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/envtest"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/manager"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
|
||||||
)
|
|
||||||
|
|
||||||
var cfg *rest.Config
|
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
|
||||||
t := &envtest.Environment{
|
|
||||||
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crds")},
|
|
||||||
}
|
|
||||||
apis.AddToScheme(scheme.Scheme)
|
|
||||||
|
|
||||||
var err error
|
|
||||||
if cfg, err = t.Start(); err != nil {
|
|
||||||
stdlog.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
code := m.Run()
|
|
||||||
t.Stop()
|
|
||||||
os.Exit(code)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SetupTestReconcile returns a reconcile.Reconcile implementation that delegates to inner and
|
|
||||||
// writes the request to requests after Reconcile is finished.
|
|
||||||
func SetupTestReconcile(inner reconcile.Reconciler) (reconcile.Reconciler, chan reconcile.Request) {
|
|
||||||
requests := make(chan reconcile.Request)
|
|
||||||
fn := reconcile.Func(func(req reconcile.Request) (reconcile.Result, error) {
|
|
||||||
result, err := inner.Reconcile(req)
|
|
||||||
requests <- req
|
|
||||||
return result, err
|
|
||||||
})
|
|
||||||
return fn, requests
|
|
||||||
}
|
|
||||||
|
|
||||||
// StartTestManager adds recFn
|
|
||||||
func StartTestManager(mgr manager.Manager, g *gomega.GomegaWithT) (chan struct{}, *sync.WaitGroup) {
|
|
||||||
stop := make(chan struct{})
|
|
||||||
wg := &sync.WaitGroup{}
|
|
||||||
go func() {
|
|
||||||
wg.Add(1)
|
|
||||||
g.Expect(mgr.Start(stop)).NotTo(gomega.HaveOccurred())
|
|
||||||
wg.Done()
|
|
||||||
}()
|
|
||||||
return stop, wg
|
|
||||||
}
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2019 The KubeSphere authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package s2ibinary
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/onsi/gomega"
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
|
||||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
"k8s.io/apimachinery/pkg/types"
|
|
||||||
devopsv1alpha1 "kubesphere.io/kubesphere/pkg/apis/devops/v1alpha1"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/manager"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
|
||||||
)
|
|
||||||
|
|
||||||
var c client.Client
|
|
||||||
|
|
||||||
var expectedRequest = reconcile.Request{NamespacedName: types.NamespacedName{Name: "foo", Namespace: "default"}}
|
|
||||||
var depKey = types.NamespacedName{Name: "foo-deployment", Namespace: "default"}
|
|
||||||
|
|
||||||
const timeout = time.Second * 5
|
|
||||||
|
|
||||||
func TestReconcile(t *testing.T) {
|
|
||||||
g := gomega.NewGomegaWithT(t)
|
|
||||||
instance := &devopsv1alpha1.S2iBinary{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}
|
|
||||||
|
|
||||||
// Setup the Manager and Controller. Wrap the Controller Reconcile function so it writes each request to a
|
|
||||||
// channel when it is finished.
|
|
||||||
mgr, err := manager.New(cfg, manager.Options{})
|
|
||||||
g.Expect(err).NotTo(gomega.HaveOccurred())
|
|
||||||
c = mgr.GetClient()
|
|
||||||
|
|
||||||
recFn, requests := SetupTestReconcile(newReconciler(mgr))
|
|
||||||
g.Expect(add(mgr, recFn)).NotTo(gomega.HaveOccurred())
|
|
||||||
|
|
||||||
stopMgr, mgrStopped := StartTestManager(mgr, g)
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
close(stopMgr)
|
|
||||||
mgrStopped.Wait()
|
|
||||||
}()
|
|
||||||
|
|
||||||
// Create the S2iBinary object and expect the Reconcile and Deployment to be created
|
|
||||||
err = c.Create(context.TODO(), instance)
|
|
||||||
// The instance object may not be a valid object because it might be missing some required fields.
|
|
||||||
// Please modify the instance object by adding required fields and then remove the following if statement.
|
|
||||||
if apierrors.IsInvalid(err) {
|
|
||||||
t.Logf("failed to create object, got an invalid object error: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
g.Expect(err).NotTo(gomega.HaveOccurred())
|
|
||||||
defer c.Delete(context.TODO(), instance)
|
|
||||||
g.Eventually(requests, timeout).Should(gomega.Receive(gomega.Equal(expectedRequest)))
|
|
||||||
|
|
||||||
deploy := &appsv1.Deployment{}
|
|
||||||
g.Eventually(func() error { return c.Get(context.TODO(), depKey, deploy) }, timeout).
|
|
||||||
Should(gomega.Succeed())
|
|
||||||
|
|
||||||
// Delete the Deployment and expect Reconcile to be called for Deployment deletion
|
|
||||||
g.Expect(c.Delete(context.TODO(), deploy)).NotTo(gomega.HaveOccurred())
|
|
||||||
g.Eventually(requests, timeout).Should(gomega.Receive(gomega.Equal(expectedRequest)))
|
|
||||||
g.Eventually(func() error { return c.Get(context.TODO(), depKey, deploy) }, timeout).
|
|
||||||
Should(gomega.Succeed())
|
|
||||||
|
|
||||||
// Manually delete Deployment since GC isn't enabled in the test control plane
|
|
||||||
g.Expect(c.Delete(context.TODO(), deploy)).To(gomega.Succeed())
|
|
||||||
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user