Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Commit c0c5ceb

Browse files
authored
Merge pull request #124 from JoshVanL/upgrade-k8s-dependancies
Upgrade k8s dependancies
2 parents 9577a51 + b8bfb23 commit c0c5ceb

File tree

7 files changed

+219
-144
lines changed

7 files changed

+219
-144
lines changed

go.mod

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,19 @@ go 1.13
55
require (
66
github.com/golang/mock v1.2.0
77
github.com/heptiolabs/healthcheck v0.0.0-20180807145615-6ff867650f40
8-
github.com/jstemmer/go-junit-report v0.9.1 // indirect
98
github.com/onsi/ginkgo v1.10.1
109
github.com/onsi/gomega v1.7.0
1110
github.com/sirupsen/logrus v1.4.2
1211
github.com/spf13/cobra v0.0.5
1312
github.com/spf13/pflag v1.0.5
14-
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac // indirect
1513
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 // indirect
1614
gopkg.in/square/go-jose.v2 v2.3.1
17-
k8s.io/api v0.0.0-20191114100352-16d7abae0d2a
18-
k8s.io/apimachinery v0.0.0-20191028221656-72ed19daf4bb
19-
k8s.io/apiserver v0.0.0-20191003001037-3c8b233e046c
20-
k8s.io/cli-runtime v0.0.0-20191114110141-0a35778df828
21-
k8s.io/client-go v11.0.0+incompatible
22-
k8s.io/component-base v0.0.0-20191114102325-35a9586014f7
15+
k8s.io/api v0.17.0
16+
k8s.io/apimachinery v0.17.0
17+
k8s.io/apiserver v0.17.0
18+
k8s.io/cli-runtime v0.17.0
19+
k8s.io/client-go v0.17.0
20+
k8s.io/component-base v0.17.0
2321
k8s.io/klog v1.0.0
24-
sigs.k8s.io/kind v0.5.1
22+
sigs.k8s.io/kind v0.7.0
2523
)
26-
27-
replace (
28-
github.com/golang/mock => github.com/golang/mock v1.3.1
29-
k8s.io/api => k8s.io/api v0.0.0-20191114100352-16d7abae0d2a
30-
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20191028221656-72ed19daf4bb
31-
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20191114110141-0a35778df828
32-
k8s.io/client-go => k8s.io/client-go v0.0.0-20191114101535-6c5935290e33
33-
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20191004115455-8e001e5d1894
34-
k8s.io/component-base => k8s.io/component-base v0.0.0-20191114102325-35a9586014f7
35-
k8s.io/metrics => k8s.io/metrics v0.0.0-20191114105837-a4a2842dc51b
36-
sigs.k8s.io/kind => sigs.k8s.io/kind v0.5.1
37-
)
38-
39-
replace k8s.io/kubectl => k8s.io/kubectl v0.0.0-20190918164019-21692a0861df
40-
41-
replace k8s.io/apiserver => k8s.io/apiserver v0.0.0-20191003001037-3c8b233e046c

go.sum

Lines changed: 148 additions & 84 deletions
Large diffs are not rendered by default.

pkg/proxy/tokenreview/fake/tokenreview.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22
package fake
33

44
import (
5+
"context"
6+
57
authv1 "k8s.io/api/authentication/v1"
8+
clientauthv1 "k8s.io/client-go/kubernetes/typed/authentication/v1"
69
)
710

11+
var _ clientauthv1.TokenReviewInterface = &FakeReviewer{}
12+
813
type FakeReviewer struct {
914
CreateFn func(*authv1.TokenReview) (*authv1.TokenReview, error)
1015
}
@@ -21,6 +26,10 @@ func (f *FakeReviewer) Create(req *authv1.TokenReview) (*authv1.TokenReview, err
2126
return f.CreateFn(req)
2227
}
2328

29+
func (f *FakeReviewer) CreateContext(ctx context.Context, req *authv1.TokenReview) (*authv1.TokenReview, error) {
30+
return f.CreateFn(req)
31+
}
32+
2433
func (f *FakeReviewer) WithCreate(req *authv1.TokenReview, err error) *FakeReviewer {
2534
f.CreateFn = func(*authv1.TokenReview) (*authv1.TokenReview, error) {
2635
return req, err

test/environment/dev/dev.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ func create() {
3232
env, err := environment.Create(1, 1)
3333
errExit(err)
3434

35-
fmt.Printf("dev environment created.\nexport KUBECONFIG=%s\n",
36-
env.KubeConfigPath())
35+
fmt.Printf("dev environment created.\n")
36+
fmt.Printf("export KUBECONFIG=%s\n", env.KubeConfigPath())
3737
}
3838

3939
func destroy() {

test/environment/environment.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
)
1414

1515
const (
16-
defaultNodeImage = "1.16.1"
16+
defaultNodeImage = "1.17.0"
1717
defaultRootPath = "../../."
1818
)
1919

@@ -90,7 +90,7 @@ func (e *Environment) Node(name string) (*nodes.Node, error) {
9090

9191
var node *nodes.Node
9292
for _, n := range ns {
93-
if n.Name() == name {
93+
if n.String() == name {
9494
node = &n
9595
break
9696
}

test/kind/image.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"strings"
1212

1313
log "github.com/sirupsen/logrus"
14+
"sigs.k8s.io/kind/pkg/cluster/nodeutils"
1415
)
1516

1617
func (k *Kind) LoadKubeOIDCProxy() error {
@@ -61,7 +62,7 @@ func (k *Kind) loadImage(binPath, mainPath, image, dockerfilePath string) error
6162
return err
6263
}
6364

64-
nodes, err := k.ctx.ListNodes()
65+
nodes, err := k.Nodes()
6566
if err != nil {
6667
return err
6768
}
@@ -72,9 +73,9 @@ func (k *Kind) loadImage(binPath, mainPath, image, dockerfilePath string) error
7273
}
7374

7475
for _, node := range nodes {
75-
log.Infof("kind: loading image %q to node %q", image, node.Name())
76+
log.Infof("kind: loading image %q to node %q", image, node.String())
7677
r := bytes.NewBuffer(b)
77-
if err := node.LoadImageArchive(r); err != nil {
78+
if err := nodeutils.LoadImageArchive(node, r); err != nil {
7879
return err
7980
}
8081

test/kind/kind.go

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package kind
33

44
import (
55
"fmt"
6+
"io/ioutil"
7+
"os"
8+
"path/filepath"
69
"strings"
710
"time"
811

@@ -13,16 +16,19 @@ import (
1316
"k8s.io/client-go/kubernetes"
1417
"k8s.io/client-go/rest"
1518
"k8s.io/client-go/tools/clientcmd"
16-
configv1alpha3 "sigs.k8s.io/kind/pkg/apis/config/v1alpha3"
19+
configv1alpha4 "sigs.k8s.io/kind/pkg/apis/config/v1alpha4"
1720
"sigs.k8s.io/kind/pkg/cluster"
18-
"sigs.k8s.io/kind/pkg/cluster/create"
1921
"sigs.k8s.io/kind/pkg/cluster/nodes"
2022
)
2123

24+
const (
25+
clusterName = "kube-oidc-proxy-e2e"
26+
)
27+
2228
type Kind struct {
2329
rootPath string
2430

25-
ctx *cluster.Context
31+
provider *cluster.Provider
2632
restConfig *rest.Config
2733
client *kubernetes.Clientset
2834
}
@@ -32,51 +38,62 @@ func New(rootPath, nodeImage string, masterNodes, workerNodes int) (*Kind, error
3238

3339
k := &Kind{
3440
rootPath: rootPath,
35-
ctx: cluster.NewContext("kube-oidc-proxy-e2e"),
3641
}
3742

38-
conf := new(configv1alpha3.Cluster)
39-
configv1alpha3.SetDefaults_Cluster(conf)
43+
conf := new(configv1alpha4.Cluster)
44+
configv1alpha4.SetDefaultsCluster(conf)
4045
conf.Nodes = nil
4146

4247
// This behviour will be changing soon in later versions of kind.
4348
if workerNodes == 0 {
4449
for i := 0; i < masterNodes; i++ {
4550
conf.Nodes = append(conf.Nodes,
46-
configv1alpha3.Node{
51+
configv1alpha4.Node{
4752
Image: nodeImage,
4853
})
4954
}
5055

5156
} else {
5257
for i := 0; i < masterNodes; i++ {
5358
conf.Nodes = append(conf.Nodes,
54-
configv1alpha3.Node{
59+
configv1alpha4.Node{
5560
Image: nodeImage,
56-
Role: configv1alpha3.ControlPlaneRole,
61+
Role: configv1alpha4.ControlPlaneRole,
5762
})
5863
}
5964

6065
for i := 0; i < workerNodes; i++ {
6166
conf.Nodes = append(conf.Nodes,
62-
configv1alpha3.Node{
67+
configv1alpha4.Node{
6368
Image: nodeImage,
64-
Role: configv1alpha3.WorkerRole,
69+
Role: configv1alpha4.WorkerRole,
6570
})
6671
}
6772
}
6873

6974
conf.Networking.ServiceSubnet = "10.0.0.0/16"
7075

7176
// create kind cluster
72-
log.Infof("kind: creating kind cluster %q", k.ctx.Name())
73-
if err := k.ctx.Create(create.WithV1Alpha3(conf)); err != nil {
74-
return nil, fmt.Errorf("failed to create cluster: %s", err)
77+
log.Infof("kind: creating kind cluster %q", clusterName)
78+
k.provider = cluster.NewProvider()
79+
if err := k.provider.Create(
80+
clusterName,
81+
cluster.CreateWithV1Alpha4Config(conf),
82+
); err != nil {
83+
return nil, err
7584
}
7685

7786
// generate rest config to kind cluster
78-
kubeconfig := k.ctx.KubeConfigPath()
79-
restConfig, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
87+
kubeconfigData, err := k.provider.KubeConfig(clusterName, false)
88+
if err != nil {
89+
return nil, err
90+
}
91+
92+
if err := ioutil.WriteFile(k.KubeConfigPath(), []byte(kubeconfigData), 0600); err != nil {
93+
return nil, err
94+
}
95+
96+
restConfig, err := clientcmd.BuildConfigFromFlags("", k.KubeConfigPath())
8097
if err != nil {
8198
return nil, k.errDestroy(fmt.Errorf("failed to build kind rest client: %s", err))
8299
}
@@ -96,31 +113,33 @@ func New(rootPath, nodeImage string, masterNodes, workerNodes int) (*Kind, error
96113
return nil, k.errDestroy(fmt.Errorf("failed to wait for DNS pods to become ready: %s", err))
97114
}
98115

99-
log.Infof("kind: cluster ready %q", k.ctx.Name())
116+
log.Infof("kind: cluster ready %q", clusterName)
100117

101118
return k, nil
102119
}
103120

104121
func DeleteCluster(name string) error {
105-
ok, err := cluster.IsKnown(name)
122+
provider := cluster.NewProvider()
123+
124+
kubeconfig, err := provider.KubeConfig(clusterName, false)
106125
if err != nil {
107126
return err
108127
}
109128

110-
if !ok {
111-
return fmt.Errorf("cluster unknown: %q", name)
112-
}
113-
114-
return cluster.NewContext(name).Delete()
129+
return provider.Delete(clusterName, kubeconfig)
115130
}
116131

117132
func (k *Kind) Destroy() error {
118-
log.Infof("kind: destroying cluster %q", k.ctx.Name())
119-
if err := k.ctx.Delete(); err != nil {
133+
log.Infof("kind: destroying cluster %q", clusterName)
134+
if err := DeleteCluster(clusterName); err != nil {
120135
return fmt.Errorf("failed to delete kind cluster: %s", err)
121136
}
122137

123-
log.Infof("kind: destroyed cluster %q", k.ctx.Name())
138+
if err := os.Remove(k.KubeConfigPath()); err != nil {
139+
return fmt.Errorf("failed to delete kubeconfig file: %s", err)
140+
}
141+
142+
log.Infof("kind: destroyed cluster %q", clusterName)
124143

125144
return nil
126145
}
@@ -130,11 +149,11 @@ func (k *Kind) KubeClient() *kubernetes.Clientset {
130149
}
131150

132151
func (k *Kind) KubeConfigPath() string {
133-
return k.ctx.KubeConfigPath()
152+
return filepath.Join(os.TempDir(), "kube-oidc-proxy-e2e")
134153
}
135154

136155
func (k *Kind) Nodes() ([]nodes.Node, error) {
137-
return k.ctx.ListNodes()
156+
return k.provider.ListNodes(clusterName)
138157
}
139158

140159
func (k *Kind) errDestroy(err error) error {

0 commit comments

Comments
 (0)