Skip to content

Commit d8ef2e6

Browse files
author
Matthew Fisher
authored
Merge pull request #29 from bacongobbler/client-go
ref(glide): use client-go
2 parents 28bd07f + 131bc18 commit d8ef2e6

8 files changed

Lines changed: 209 additions & 254 deletions

File tree

.travis.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
language: go
22
sudo: required
33
go:
4-
- 1.5
5-
- 1.6
6-
env:
7-
- GO15VENDOREXPERIMENT=1
4+
- 1.8
85
install:
9-
- wget https://github.com/Masterminds/glide/releases/download/0.8.3/glide-0.8.3-linux-amd64.tar.gz -O - | tar -xz
6+
- wget https://github.com/Masterminds/glide/releases/download/v0.12.3/glide-v0.12.3-linux-amd64.tar.gz -O - | tar -xz
107
- sudo mv linux-amd64/glide /usr/local/bin/ && rm -rf linux-amd64
118
- glide up
129
script:

aboutme/aboutme.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ import (
1717
"os"
1818
"strings"
1919

20-
"github.com/deis/pkg/k8s"
21-
22-
"k8s.io/kubernetes/pkg/api"
23-
"k8s.io/kubernetes/pkg/client/unversioned"
24-
"k8s.io/kubernetes/pkg/labels"
20+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21+
"k8s.io/apimachinery/pkg/labels"
22+
"k8s.io/client-go/kubernetes"
23+
"k8s.io/client-go/rest"
24+
v1 "k8s.io/client-go/pkg/api/v1"
2525
)
2626

2727
// DefaultNamespace is the Kubernetes default namespace.
@@ -44,7 +44,7 @@ type Me struct {
4444
Labels map[string]string
4545
Annotations map[string]string
4646

47-
c *unversioned.Client
47+
c *kubernetes.Clientset
4848
}
4949

5050
// FromEnv uses the environment to create a new Me.
@@ -69,11 +69,15 @@ func FromEnv() (*Me, error) {
6969
Namespace: NamespaceFromEnv(),
7070
}
7171

72-
client, err := k8s.PodClient()
72+
config, err := rest.InClusterConfig()
73+
if err != nil {
74+
return me, err
75+
}
76+
clientset, err := kubernetes.NewForConfig(config)
7377
if err != nil {
7478
return me, err
7579
}
76-
me.c = client
80+
me.c = clientset
7781

7882
if err := me.init(); err != nil {
7983
return me, err
@@ -83,7 +87,7 @@ func FromEnv() (*Me, error) {
8387
}
8488

8589
// Client returns an initialized Kubernetes API client.
86-
func (me *Me) Client() *unversioned.Client {
90+
func (me *Me) Client() *kubernetes.Clientset {
8791
return me.c
8892
}
8993

@@ -168,9 +172,9 @@ func (me *Me) init() error {
168172
}
169173

170174
// loadPod loads a pod using the downward API.
171-
func (me *Me) loadPod() (*api.Pod, string, error) {
175+
func (me *Me) loadPod() (*v1.Pod, string, error) {
172176
ns := NamespaceFromEnv()
173-
p, err := me.c.Pods(ns).Get(me.Name)
177+
p, err := me.c.CoreV1().Pods(ns).Get(me.Name, metav1.GetOptions{})
174178
return p, ns, err
175179
}
176180

@@ -180,16 +184,16 @@ func (me *Me) loadPod() (*api.Pod, string, error) {
180184
// string, and an error if something goes wrong.
181185
//
182186
// The selector must be a label selector.
183-
func (me *Me) findPodInNamespaces(selector string) (*api.Pod, string, error) {
187+
func (me *Me) findPodInNamespaces(selector string) (*v1.Pod, string, error) {
184188
// Get the deis namespace. If it does not exist, get the default namespce.
185189
s, err := labels.Parse(selector)
186190
if err == nil {
187-
ns, err := me.c.Namespaces().List(api.ListOptions{LabelSelector: s})
191+
ns, err := me.c.CoreV1().Namespaces().List(metav1.ListOptions{LabelSelector: s.String()})
188192
if err != nil {
189193
return nil, "default", err
190194
}
191195
for _, n := range ns.Items {
192-
p, err := me.c.Pods(n.Name).Get(me.Name)
196+
p, err := me.c.CoreV1().Pods(n.Name).Get(me.Name, metav1.GetOptions{})
193197

194198
// If there is no error, we got a matching pod.
195199
if err == nil {
@@ -199,7 +203,7 @@ func (me *Me) findPodInNamespaces(selector string) (*api.Pod, string, error) {
199203
}
200204

201205
// If we get here, it's really the last ditch.
202-
p, err := me.c.Pods("default").Get(me.Name)
206+
p, err := me.c.CoreV1().Pods("default").Get(me.Name, metav1.GetOptions{})
203207
return p, "default", err
204208
}
205209

aboutme/aboutme_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import (
66
"strings"
77
"testing"
88

9-
"k8s.io/kubernetes/pkg/client/restclient"
9+
"k8s.io/client-go/rest"
1010
)
1111

1212
func TestFromEnv(t *testing.T) {
13-
if _, err := restclient.InClusterConfig(); err != nil {
13+
if _, err := rest.InClusterConfig(); err != nil {
1414
t.Skip("This can only be run inside Kubernetes. Skipping.")
1515
}
1616

etcd/members.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import (
77
"github.com/Masterminds/cookoo"
88
"github.com/Masterminds/cookoo/log"
99
"github.com/coreos/etcd/client"
10-
"github.com/deis/pkg/k8s"
11-
"k8s.io/kubernetes/pkg/api"
12-
13-
"k8s.io/kubernetes/pkg/labels"
10+
"k8s.io/apimachinery/pkg/labels"
11+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12+
"k8s.io/client-go/kubernetes"
13+
"k8s.io/client-go/rest"
1414
)
1515

1616
// AddMember Add a new member to the cluster.
@@ -96,7 +96,12 @@ func RemoveStaleMembers(c cookoo.Context, p *cookoo.Params) (interface{}, cookoo
9696
ns := p.Get("namespace", "default").(string)
9797

9898
// Should probably pass in the client from the context.
99-
klient, err := k8s.PodClient()
99+
config, err := rest.InClusterConfig()
100+
if err != nil {
101+
log.Errf(c, "Could not get Kubernetes in-cluster config: %s", err)
102+
return nil, err
103+
}
104+
clientset, err := kubernetes.NewForConfig(config)
100105
if err != nil {
101106
log.Errf(c, "Could not create a Kubernetes client: %s", err)
102107
return nil, err
@@ -124,7 +129,7 @@ func RemoveStaleMembers(c cookoo.Context, p *cookoo.Params) (interface{}, cookoo
124129
log.Errf(c, "Selector failed to parse: %s", err)
125130
return nil, err
126131
}
127-
pods, err := klient.Pods(ns).List(api.ListOptions{LabelSelector: labelSelector})
132+
pods, err := clientset.CoreV1().Pods(ns).List(metav1.ListOptions{LabelSelector: labelSelector.String()})
128133
if err != nil {
129134
return nil, err
130135
}

0 commit comments

Comments
 (0)