@@ -30,19 +30,20 @@ import (
3030
3131 . "github.com/onsi/ginkgo/v2"
3232 . "github.com/onsi/gomega"
33- "sigs.k8s.io/controller-runtime/pkg/manager"
34-
35- batchv1 "k8s.io/api/batch/v1"
36- corev1 "k8s.io/api/core/v1"
37- apierrors "k8s.io/apimachinery/pkg/api/errors"
38- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3933 "k8s.io/client-go/kubernetes/scheme"
4034 "k8s.io/client-go/rest"
35+ ctrl "sigs.k8s.io/controller-runtime"
4136 "sigs.k8s.io/controller-runtime/pkg/client"
4237 "sigs.k8s.io/controller-runtime/pkg/envtest"
4338 logf "sigs.k8s.io/controller-runtime/pkg/log"
4439 "sigs.k8s.io/controller-runtime/pkg/log/zap"
4540
41+ batchv1 "k8s.io/api/batch/v1"
42+ corev1 "k8s.io/api/core/v1"
43+ apierrors "k8s.io/apimachinery/pkg/api/errors"
44+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
45+ "k8s.io/client-go/rest"
46+
4647 nodeopsv1alpha1 "github.com/pfnet-research/node-operation-controller/api/v1alpha1"
4748 //+kubebuilder:scaffold:imports
4849)
@@ -53,6 +54,8 @@ import (
5354var cfg * rest.Config
5455var k8sClient client.Client
5556var testEnv * envtest.Environment
57+ var ctx context.Context
58+ var cancel context.CancelFunc
5659
5760func TestAPIs (t * testing.T ) {
5861 RegisterFailHandler (Fail )
@@ -63,12 +66,12 @@ func TestAPIs(t *testing.T) {
6366var _ = BeforeSuite (func () {
6467 logf .SetLogger (zap .New (zap .WriteTo (GinkgoWriter ), zap .UseDevMode (true )))
6568
69+ ctx , cancel = context .WithCancel (context .Background ())
70+
6671 By ("bootstrapping test environment" )
67- trueV := true
6872 testEnv = & envtest.Environment {
6973 CRDDirectoryPaths : []string {filepath .Join (".." , "config" , "crd" , "bases" )},
7074 ErrorIfCRDPathMissing : true ,
71- UseExistingCluster : & trueV ,
7275 }
7376
7477 var err error
@@ -85,35 +88,40 @@ var _ = BeforeSuite(func() {
8588 Expect (err ).NotTo (HaveOccurred ())
8689 Expect (k8sClient ).NotTo (BeNil ())
8790
88- mgr , err := manager .New (cfg , manager.Options {})
89- Expect (err ).NotTo (HaveOccurred ())
91+ k8sManager , err := ctrl .NewManager (cfg , ctrl.Options {
92+ Scheme : scheme .Scheme ,
93+ })
94+ Expect (err ).ToNot (HaveOccurred ())
9095
9196 err = (& NodeOperationReconciler {
92- Client : mgr .GetClient (),
93- Scheme : scheme .Scheme ,
94- }).SetupWithManager (mgr )
97+ Client : k8sManager .GetClient (),
98+ Scheme : k8sManager .GetScheme (),
99+ DrainInterval : 1 * time .Second ,
100+ NDBRetryInterval : 1 * time .Second ,
101+ }).SetupWithManager (k8sManager )
95102 Expect (err ).ToNot (HaveOccurred ())
96103
97104 err = (& NodeRemediationReconciler {
98- Client : mgr .GetClient (),
99- Scheme : scheme . Scheme ,
100- }).SetupWithManager (mgr )
105+ Client : k8sManager .GetClient (),
106+ Scheme : k8sManager . GetScheme () ,
107+ }).SetupWithManager (k8sManager )
101108 Expect (err ).ToNot (HaveOccurred ())
102109
103110 err = (& NodeRemediationTemplateReconciler {
104- Client : mgr .GetClient (),
105- Scheme : scheme . Scheme ,
106- }).SetupWithManager (mgr )
111+ Client : k8sManager .GetClient (),
112+ Scheme : k8sManager . GetScheme () ,
113+ }).SetupWithManager (k8sManager )
107114 Expect (err ).ToNot (HaveOccurred ())
108115
109116 go func () {
110- err = mgr .Start (context .Background ())
117+ defer GinkgoRecover ()
118+ err = k8sManager .Start (ctx )
119+ Expect (err ).ToNot (HaveOccurred (), "failed to run manager" )
111120 }()
112- Expect (err ).ToNot (HaveOccurred ())
113121
114122 Eventually (func () bool {
115123 nodeList := & corev1.NodeList {}
116- Expect (k8sClient .List (context . Background () , nodeList )).NotTo (HaveOccurred ())
124+ Expect (k8sClient .List (ctx , nodeList )).NotTo (HaveOccurred ())
117125 for _ , node := range nodeList .Items {
118126 for _ , c := range node .Status .Conditions {
119127 if c .Type == corev1 .NodeReady && c .Status == corev1 .ConditionFalse {
@@ -126,6 +134,7 @@ var _ = BeforeSuite(func() {
126134})
127135
128136var _ = AfterSuite (func () {
137+ cancel ()
129138 By ("tearing down the test environment" )
130139 err := testEnv .Stop ()
131140 Expect (err ).NotTo (HaveOccurred ())
0 commit comments