Switch to official Kubernetes Go client -- client-go/1.4

Switch to client-go package instead of pulling the from kubernetes.
Use a versioned client with sensible compatiblity.

This change breaks 'go get'.  For now you have to manually checkout
the 'release-1.4' branch of the client-go package after 'go get'
fetches it.  TODO: use one of the build tools to fix this.
This commit is contained in:
Soam Vasani
2016-11-01 01:32:02 -07:00
parent 7d1058d7be
commit 40dfba1a41
3 changed files with 96 additions and 70 deletions
+7 -5
View File
@@ -18,14 +18,15 @@ package poolmgr
import (
"github.com/platform9/fission"
clientUnversioned "k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/client-go/1.4/kubernetes"
)
type (
GenericPoolManager struct {
pools map[fission.Environment]*GenericPool
kubernetesClient *clientUnversioned.Client
kubernetesClient *kubernetes.Clientset
namespace string
controllerUrl string
requestChannel chan *request
}
@@ -39,11 +40,12 @@ type (
}
)
func MakeGenericPoolManager(client *clientUnversioned.Client, namespace string) *GenericPoolManager {
func MakeGenericPoolManager(controllerUrl string, kubernetesClient *kubernetes.Clientset, namespace string) *GenericPoolManager {
gpm := &GenericPoolManager{
pools: make(map[fission.Environment]*GenericPool),
kubernetesClient: client,
kubernetesClient: kubernetesClient,
namespace: namespace,
controllerUrl: controllerUrl,
requestChannel: make(chan *request),
}
go gpm.service()
@@ -56,7 +58,7 @@ func (gpm *GenericPoolManager) service() {
case req := <-gpm.requestChannel:
pool, ok := gpm.pools[*req.env]
if !ok {
pool, err := MakeGenericPool(gpm.kubernetesClient, req.env, 3, gpm.namespace)
pool, err := MakeGenericPool(gpm.controllerUrl, gpm.kubernetesClient, req.env, 3, gpm.namespace)
if err != nil {
req.responseChannel <- &response{error: err}
continue