@@ -7,16 +7,15 @@ import (
7
7
"net/http"
8
8
"os"
9
9
"os/exec"
10
- "path/filepath"
11
10
"testing"
12
11
13
12
"github.com/operator-framework/operator-sdk/test/e2e/e2eutil"
13
+ framework "github.com/operator-framework/operator-sdk/test/e2e/framework"
14
+
14
15
core "k8s.io/api/core/v1"
15
16
extensions "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
16
17
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
17
18
"k8s.io/apimachinery/pkg/types"
18
- "k8s.io/client-go/kubernetes"
19
- "k8s.io/client-go/tools/clientcmd"
20
19
)
21
20
22
21
const (
@@ -94,22 +93,12 @@ func TestMemcached(t *testing.T) {
94
93
t .Fatal (err )
95
94
}
96
95
96
+ // get global framework variables
97
+ f := framework .Global
97
98
namespace := "memcached"
98
- kubeconfigPath := filepath .Join (
99
- os .Getenv ("HOME" ), ".kube" , "config" ,
100
- )
101
- kubeconfig , err := clientcmd .BuildConfigFromFlags ("" , kubeconfigPath )
102
- if err != nil {
103
- t .Fatal (err )
104
- }
105
- kubeclient , err := kubernetes .NewForConfig (kubeconfig )
106
- if err != nil {
107
- t .Fatal (err )
108
- }
109
-
110
99
// create namespace
111
100
namespaceObj := & core.Namespace {ObjectMeta : metav1.ObjectMeta {Name : namespace }}
112
- _ , err = kubeclient .CoreV1 ().Namespaces ().Create (namespaceObj )
101
+ _ , err = f . KubeClient .CoreV1 ().Namespaces ().Create (namespaceObj )
113
102
if err != nil {
114
103
t .Fatal (err )
115
104
}
@@ -119,7 +108,7 @@ func TestMemcached(t *testing.T) {
119
108
rbacYAML , err := ioutil .ReadFile ("deploy/rbac.yaml" )
120
109
rbacYAMLSplit := bytes .Split (rbacYAML , []byte ("\n ---\n " ))
121
110
for _ , rbacSpec := range rbacYAMLSplit {
122
- err = e2eutil .CreateFromYAML (t , rbacSpec , kubeclient , kubeconfig , namespace )
111
+ err = e2eutil .CreateFromYAML (t , rbacSpec , f . KubeClient , f . KubeConfig , namespace )
123
112
if err != nil {
124
113
t .Fatal (err )
125
114
}
@@ -128,22 +117,22 @@ func TestMemcached(t *testing.T) {
128
117
129
118
// create crd
130
119
crdYAML , err := ioutil .ReadFile ("deploy/crd.yaml" )
131
- err = e2eutil .CreateFromYAML (t , crdYAML , kubeclient , kubeconfig , namespace )
120
+ err = e2eutil .CreateFromYAML (t , crdYAML , f . KubeClient , f . KubeConfig , namespace )
132
121
if err != nil {
133
122
t .Fatal (err )
134
123
}
135
124
t .Log ("Created crd" )
136
125
137
126
// create operator
138
127
operatorYAML , err = ioutil .ReadFile ("deploy/operator.yaml" )
139
- err = e2eutil .CreateFromYAML (t , operatorYAML , kubeclient , kubeconfig , namespace )
128
+ err = e2eutil .CreateFromYAML (t , operatorYAML , f . KubeClient , f . KubeConfig , namespace )
140
129
if err != nil {
141
130
t .Fatal (err )
142
131
}
143
132
t .Log ("Created operator" )
144
133
145
134
// wait for memcached-operator to be ready
146
- err = e2eutil .DeploymentReplicaCheck (t , kubeclient , namespace , "memcached-operator" , 1 , 6 )
135
+ err = e2eutil .DeploymentReplicaCheck (t , f . KubeClient , namespace , "memcached-operator" , 1 , 6 )
147
136
if err != nil {
148
137
t .Fatal (err )
149
138
}
@@ -158,11 +147,11 @@ func TestMemcached(t *testing.T) {
158
147
159
148
// create memcached custom resource
160
149
crYAML , err := ioutil .ReadFile ("deploy/cr.yaml" )
161
- e2eutil .CreateFromYAML (t , crYAML , kubeclient , kubeconfig , namespace )
162
- memcachedClient := e2eutil .GetCRClient (t , kubeconfig , crYAML )
150
+ e2eutil .CreateFromYAML (t , crYAML , f . KubeClient , f . KubeConfig , namespace )
151
+ memcachedClient := e2eutil .GetCRClient (t , f . KubeConfig , crYAML )
163
152
164
153
// wait for example-memcached to reach 3 replicas
165
- err = e2eutil .DeploymentReplicaCheck (t , kubeclient , namespace , "example-memcached" , 3 , 6 )
154
+ err = e2eutil .DeploymentReplicaCheck (t , f . KubeClient , namespace , "example-memcached" , 3 , 6 )
166
155
if err != nil {
167
156
t .Fatal (err )
168
157
}
@@ -180,7 +169,7 @@ func TestMemcached(t *testing.T) {
180
169
}
181
170
182
171
// wait for example-memcached to reach 4 replicas
183
- err = e2eutil .DeploymentReplicaCheck (t , kubeclient , namespace , "example-memcached" , 4 , 6 )
172
+ err = e2eutil .DeploymentReplicaCheck (t , f . KubeClient , namespace , "example-memcached" , 4 , 6 )
184
173
if err != nil {
185
174
t .Fatal (err )
186
175
}
@@ -197,23 +186,23 @@ func TestMemcached(t *testing.T) {
197
186
t .Log ("Failed to delete example-memcached CR" )
198
187
t .Fatal (err )
199
188
}
200
- err = kubeclient .AppsV1 ().Deployments (namespace ).
189
+ err = f . KubeClient .AppsV1 ().Deployments (namespace ).
201
190
Delete ("memcached-operator" , metav1 .NewDeleteOptions (0 ))
202
191
if err != nil {
203
192
t .Log ("Failed to delete memcached-operator deployment" )
204
193
t .Fatal (err )
205
194
}
206
- err = kubeclient .RbacV1beta1 ().Roles (namespace ).Delete ("memcached-operator" , metav1 .NewDeleteOptions (0 ))
195
+ err = f . KubeClient .RbacV1beta1 ().Roles (namespace ).Delete ("memcached-operator" , metav1 .NewDeleteOptions (0 ))
207
196
if err != nil {
208
197
t .Log ("Failed to delete memcached-operator Role" )
209
198
t .Fatal (err )
210
199
}
211
- err = kubeclient .RbacV1beta1 ().RoleBindings (namespace ).Delete ("default-account-memcached-operator" , metav1 .NewDeleteOptions (0 ))
200
+ err = f . KubeClient .RbacV1beta1 ().RoleBindings (namespace ).Delete ("default-account-memcached-operator" , metav1 .NewDeleteOptions (0 ))
212
201
if err != nil {
213
202
t .Log ("Failed to delete memcached-operator RoleBinding" )
214
203
t .Fatal (err )
215
204
}
216
- extensionclient , err := extensions .NewForConfig (kubeconfig )
205
+ extensionclient , err := extensions .NewForConfig (f . KubeConfig )
217
206
if err != nil {
218
207
t .Fatal (err )
219
208
}
@@ -222,7 +211,7 @@ func TestMemcached(t *testing.T) {
222
211
t .Log ("Failed to delete memcached CRD" )
223
212
t .Fatal (err )
224
213
}
225
- err = kubeclient .CoreV1 ().Namespaces ().Delete (namespace , metav1 .NewDeleteOptions (0 ))
214
+ err = f . KubeClient .CoreV1 ().Namespaces ().Delete (namespace , metav1 .NewDeleteOptions (0 ))
226
215
if err != nil {
227
216
t .Log ("Failed to delete memcached namespace" )
228
217
t .Fatal (err )
0 commit comments