Skip to content

Commit

Permalink
Move kubernetes client creation to kubernetes package
Browse files Browse the repository at this point in the history
  • Loading branch information
dgageot committed May 30, 2018
1 parent 8c13026 commit 3e1202c
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 19 deletions.
3 changes: 2 additions & 1 deletion pkg/skaffold/kaniko/kaniko.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ func RunKanikoBuild(ctx context.Context, out io.Writer, artifact *v1alpha2.Artif
if err := docker.UploadContextToGCS(ctx, dockerfilePath, artifact.Workspace, cfg.GCSBucket, tarName); err != nil {
return "", errors.Wrap(err, "uploading tar to gcs")
}

client, err := kubernetes.GetClientset()
if err != nil {
return "", errors.Wrap(err, "")
Expand All @@ -49,7 +50,7 @@ func RunKanikoBuild(ctx context.Context, out io.Writer, artifact *v1alpha2.Artif
imageList.AddImage(constants.DefaultKanikoImage)

logger := kubernetes.NewLogAggregator(out, imageList, kubernetes.NewColorPicker([]*v1alpha2.Artifact{artifact}))
if err := logger.Start(ctx, client.CoreV1()); err != nil {
if err := logger.Start(ctx); err != nil {
return "", errors.Wrap(err, "starting log streamer")
}
imageDst := fmt.Sprintf("%s:%s", artifact.ImageName, initialTag)
Expand Down
12 changes: 11 additions & 1 deletion pkg/skaffold/kubernetes/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ import (
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
)

// Client is for tests
var Client = GetClientset

// LogAggregator aggregates the logs for all the deployed pods.
type LogAggregator struct {
output io.Writer
Expand All @@ -56,7 +59,14 @@ func NewLogAggregator(out io.Writer, podSelector PodSelector, colorPicker ColorP
}
}

func (a *LogAggregator) Start(ctx context.Context, client corev1.CoreV1Interface) error {
func (a *LogAggregator) Start(ctx context.Context) error {
// Start logs
kubeclient, err := Client()
if err != nil {
return errors.Wrap(err, "getting k8s client")
}
client := kubeclient.CoreV1()

a.startTime = time.Now()

watcher, err := client.Pods("").Watch(meta_v1.ListOptions{
Expand Down
9 changes: 1 addition & 8 deletions pkg/skaffold/runner/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ type SkaffoldRunner struct {
builds []build.Build
}

var kubernetesClient = kubernetes.GetClientset

// NewForConfig returns a new SkaffoldRunner for a SkaffoldConfig
func NewForConfig(opts *config.SkaffoldOptions, cfg *config.SkaffoldConfig) (*SkaffoldRunner, error) {
kubeContext, err := kubernetes.CurrentContext()
Expand Down Expand Up @@ -235,12 +233,7 @@ func (r *SkaffoldRunner) watchBuildDeploy(ctx context.Context, out io.Writer, ar
}

// Start logs
kubeclient, err := kubernetesClient()
if err != nil {
return errors.Wrap(err, "getting k8s client")
}

if err = logger.Start(ctx, kubeclient.CoreV1()); err != nil {
if err = logger.Start(ctx); err != nil {
return errors.Wrap(err, "starting logger")
}

Expand Down
14 changes: 5 additions & 9 deletions pkg/skaffold/runner/runner_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,10 @@ import (
"io/ioutil"
"testing"

"github.com/GoogleContainerTools/skaffold/pkg/skaffold/deploy"

"github.com/GoogleContainerTools/skaffold/pkg/skaffold/build"
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/build/tag"
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/config"
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/deploy"
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/kubernetes"
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/schema/v1alpha2"
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/watch"
Expand Down Expand Up @@ -82,7 +81,7 @@ func (t *TestDeployer) Cleanup(ctx context.Context, out io.Writer) error {
return nil
}

func resetClient() { kubernetesClient = kubernetes.GetClientset }
func resetClient() { kubernetes.Client = kubernetes.GetClientset }
func fakeGetClient() (clientgo.Interface, error) { return fake.NewSimpleClientset(), nil }

type TestWatcher struct {
Expand All @@ -105,8 +104,6 @@ func (t *TestWatcher) Start(context context.Context, out io.Writer, onChange fun
}

func TestNewForConfig(t *testing.T) {
kubernetesClient = fakeGetClient
defer resetClient()
var tests = []struct {
description string
config *v1alpha2.SkaffoldConfig
Expand Down Expand Up @@ -200,8 +197,6 @@ func TestNewForConfig(t *testing.T) {
}

func TestRun(t *testing.T) {
kubernetesClient = fakeGetClient
defer resetClient()
var tests = []struct {
description string
config *config.SkaffoldConfig
Expand Down Expand Up @@ -258,8 +253,9 @@ func TestRun(t *testing.T) {
}

func TestDev(t *testing.T) {
kubernetesClient = fakeGetClient
kubernetes.Client = fakeGetClient
defer resetClient()

var tests = []struct {
description string
builder build.Builder
Expand Down Expand Up @@ -307,7 +303,7 @@ func TestDev(t *testing.T) {
}

func TestBuildAndDeployAllArtifacts(t *testing.T) {
kubernetesClient = fakeGetClient
kubernetes.Client = fakeGetClient
defer resetClient()

builder := &TestBuilder{}
Expand Down

0 comments on commit 3e1202c

Please sign in to comment.