From dd72b8189f5f97a248ee4c94200b4b27d528873c Mon Sep 17 00:00:00 2001 From: Spencer Hance Date: Wed, 10 Jul 2019 17:45:56 -0700 Subject: [PATCH 1/2] Update k8s-cloud-provider to 1.7.0 --- go.mod | 4 +-- go.sum | 2 ++ .../k8s-cloud-provider/pkg/cloud/mock/mock.go | 15 ++++++++ vendor/modules.txt | 36 +++++++++---------- 4 files changed, 37 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index 8c9bd838bc..1976da739b 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module k8s.io/ingress-gce go 1.12 require ( - github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190625070306-c3ad81d637ad + github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190711003524-c2d87031f3f3 github.com/PuerkitoBio/purell v1.1.1 // indirect github.com/beorn7/perks v1.0.0 // indirect github.com/emicklei/go-restful v2.9.3+incompatible // indirect @@ -45,7 +45,7 @@ require ( replace ( cloud.google.com/go => cloud.google.com/go v0.37.4 - github.com/GoogleCloudPlatform/k8s-cloud-provider => github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190625070306-c3ad81d637ad + github.com/GoogleCloudPlatform/k8s-cloud-provider => github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190711003524-c2d87031f3f3 github.com/PuerkitoBio/purell => github.com/PuerkitoBio/purell v1.1.1 github.com/beorn7/perks => github.com/beorn7/perks v1.0.0 github.com/emicklei/go-restful => github.com/emicklei/go-restful v2.9.3+incompatible diff --git a/go.sum b/go.sum index 775afa3b11..4449bcfe90 100644 --- a/go.sum +++ b/go.sum @@ -12,6 +12,8 @@ github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190612171043-2e19bb35 github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190612171043-2e19bb35a278/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190625070306-c3ad81d637ad h1:dmM8d/LQF+cpMG+hl73tMYjinBkSz+wdMxzQUlysfTI= github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190625070306-c3ad81d637ad/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= +github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190711003524-c2d87031f3f3 h1:9Wq5A4GNYAz7hInAbQ9ckceEOh/GOZW7D2lzAeE8gRI= +github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190711003524-c2d87031f3f3/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= diff --git a/vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/mock/mock.go b/vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/mock/mock.go index d8ebbc5e6c..e83d8d66a5 100644 --- a/vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/mock/mock.go +++ b/vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/mock/mock.go @@ -419,6 +419,21 @@ func UpdateAlphaHealthCheckHook(ctx context.Context, key *meta.Key, obj *alpha.H return nil } +// UpdateBetaHealthCheckHook defines the hook for updating a HealthCheck. It +// replaces the object with the same key in the mock with the updated object. +func UpdateBetaHealthCheckHook(ctx context.Context, key *meta.Key, obj *beta.HealthCheck, m *cloud.MockBetaHealthChecks) error { + if _, err := m.Get(ctx, key); err != nil { + return err + } + + obj.Name = key.Name + projectID := m.ProjectRouter.ProjectID(ctx, "beta", "healthChecks") + obj.SelfLink = cloud.SelfLink(meta.VersionBeta, projectID, "healthChecks", key) + + m.Objects[*key] = &cloud.MockHealthChecksObj{Obj: obj} + return nil +} + // UpdateRegionBackendServiceHook defines the hook for updating a Region // BackendsService. It replaces the object with the same key in the mock with // the updated object. diff --git a/vendor/modules.txt b/vendor/modules.txt index 6a71d14bb9..a8e410ad27 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,8 +1,8 @@ # cloud.google.com/go v0.38.0 => cloud.google.com/go v0.37.4 cloud.google.com/go/compute/metadata -# github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190625070306-c3ad81d637ad => github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190625070306-c3ad81d637ad -github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta +# github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190711003524-c2d87031f3f3 => github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190711003524-c2d87031f3f3 github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud +github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/filter github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/mock # github.com/PuerkitoBio/purell v1.1.1 => github.com/PuerkitoBio/purell v1.1.1 @@ -124,15 +124,15 @@ golang.org/x/text/transform # golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 => golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 golang.org/x/time/rate # google.golang.org/api v0.6.1-0.20190607001116-5213b8090861 => google.golang.org/api v0.6.1-0.20190607001116-5213b8090861 -google.golang.org/api/compute/v1 -google.golang.org/api/compute/v0.beta google.golang.org/api/compute/v0.alpha +google.golang.org/api/compute/v0.beta +google.golang.org/api/compute/v1 google.golang.org/api/googleapi -google.golang.org/api/container/v1 -google.golang.org/api/tpu/v1 google.golang.org/api/gensupport google.golang.org/api/option google.golang.org/api/transport/http +google.golang.org/api/container/v1 +google.golang.org/api/tpu/v1 google.golang.org/api/googleapi/internal/uritemplates google.golang.org/api/internal google.golang.org/api/googleapi/transport @@ -256,15 +256,15 @@ k8s.io/apimachinery/pkg/api/meta k8s.io/apimachinery/pkg/util/errors k8s.io/apimachinery/pkg/util/clock k8s.io/apimachinery/pkg/util/strategicpatch +k8s.io/apimachinery/pkg/api/resource +k8s.io/apimachinery/pkg/fields +k8s.io/apimachinery/pkg/util/version k8s.io/apimachinery/pkg/util/net k8s.io/apimachinery/pkg/util/yaml -k8s.io/apimachinery/pkg/api/resource k8s.io/apimachinery/pkg/conversion -k8s.io/apimachinery/pkg/fields k8s.io/apimachinery/pkg/selection k8s.io/apimachinery/pkg/runtime/serializer/streaming k8s.io/apimachinery/pkg/util/validation -k8s.io/apimachinery/pkg/util/version k8s.io/apimachinery/pkg/conversion/queryparams k8s.io/apimachinery/pkg/util/json k8s.io/apimachinery/pkg/util/naming @@ -307,6 +307,8 @@ k8s.io/client-go/kubernetes/typed/core/v1 k8s.io/client-go/listers/core/v1 k8s.io/client-go/util/workqueue k8s.io/client-go/kubernetes/typed/extensions/v1beta1 +k8s.io/client-go/informers +k8s.io/client-go/pkg/version k8s.io/client-go/util/retry k8s.io/client-go/util/jsonpath k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1 @@ -343,7 +345,6 @@ k8s.io/client-go/kubernetes/typed/settings/v1alpha1 k8s.io/client-go/kubernetes/typed/storage/v1 k8s.io/client-go/kubernetes/typed/storage/v1alpha1 k8s.io/client-go/kubernetes/typed/storage/v1beta1 -k8s.io/client-go/pkg/version k8s.io/client-go/plugin/pkg/client/auth/exec k8s.io/client-go/rest/watch k8s.io/client-go/tools/clientcmd/api @@ -355,18 +356,10 @@ k8s.io/client-go/tools/clientcmd/api/latest k8s.io/client-go/util/homedir k8s.io/client-go/tools/record/util k8s.io/client-go/tools/reference -k8s.io/client-go/informers k8s.io/client-go/tools/pager k8s.io/client-go/kubernetes/fake k8s.io/client-go/informers/internalinterfaces k8s.io/client-go/listers/extensions/v1beta1 -k8s.io/client-go/third_party/forked/golang/template -k8s.io/client-go/pkg/apis/clientauthentication -k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1 -k8s.io/client-go/pkg/apis/clientauthentication/v1beta1 -k8s.io/client-go/util/connrotation -k8s.io/client-go/util/keyutil -k8s.io/client-go/tools/clientcmd/api/v1 k8s.io/client-go/informers/admissionregistration k8s.io/client-go/informers/apps k8s.io/client-go/informers/auditregistration @@ -384,6 +377,13 @@ k8s.io/client-go/informers/rbac k8s.io/client-go/informers/scheduling k8s.io/client-go/informers/settings k8s.io/client-go/informers/storage +k8s.io/client-go/third_party/forked/golang/template +k8s.io/client-go/pkg/apis/clientauthentication +k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1 +k8s.io/client-go/pkg/apis/clientauthentication/v1beta1 +k8s.io/client-go/util/connrotation +k8s.io/client-go/util/keyutil +k8s.io/client-go/tools/clientcmd/api/v1 k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake k8s.io/client-go/kubernetes/typed/apps/v1/fake k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake From 5435fa29e61258b45a1a2c9c1e5ff6f3ec79b20e Mon Sep 17 00:00:00 2001 From: Spencer Hance Date: Tue, 9 Jul 2019 13:49:01 -0700 Subject: [PATCH 2/2] HealthChecks switch from fakes to fakeGCE --- pkg/backends/integration_test.go | 6 +- pkg/backends/syncer_test.go | 6 +- pkg/healthchecks/fakes.go | 168 -------------------------- pkg/healthchecks/healthchecks_test.go | 63 +++++----- 4 files changed, 44 insertions(+), 199 deletions(-) delete mode 100644 pkg/healthchecks/fakes.go diff --git a/pkg/backends/integration_test.go b/pkg/backends/integration_test.go index 053ae6a8f2..c50d35449d 100644 --- a/pkg/backends/integration_test.go +++ b/pkg/backends/integration_test.go @@ -41,8 +41,7 @@ type Jig struct { } func newTestJig(fakeGCE *gce.Cloud) *Jig { - fakeHealthCheckProvider := healthchecks.NewFakeHealthCheckProvider() - fakeHealthChecks := healthchecks.NewHealthChecker(fakeHealthCheckProvider, "/", "/healthz", defaultNamer, defaultBackendSvc) + fakeHealthChecks := healthchecks.NewHealthChecker(fakeGCE, "/", "/healthz", defaultNamer, defaultBackendSvc) fakeBackendPool := NewPool(fakeGCE, defaultNamer) fakeIGs := instances.NewFakeInstanceGroups(sets.NewString(), defaultNamer) @@ -53,6 +52,9 @@ func newTestJig(fakeGCE *gce.Cloud) *Jig { (fakeGCE.Compute().(*cloud.MockGCE)).MockAlphaBackendServices.UpdateHook = mock.UpdateAlphaBackendServiceHook (fakeGCE.Compute().(*cloud.MockGCE)).MockBetaBackendServices.UpdateHook = mock.UpdateBetaBackendServiceHook (fakeGCE.Compute().(*cloud.MockGCE)).MockBackendServices.UpdateHook = mock.UpdateBackendServiceHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockHealthChecks.UpdateHook = mock.UpdateHealthCheckHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockAlphaHealthChecks.UpdateHook = mock.UpdateAlphaHealthCheckHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockBetaHealthChecks.UpdateHook = mock.UpdateBetaHealthCheckHook return &Jig{ fakeInstancePool: fakeInstancePool, diff --git a/pkg/backends/syncer_test.go b/pkg/backends/syncer_test.go index dc0af19def..9bd4541676 100644 --- a/pkg/backends/syncer_test.go +++ b/pkg/backends/syncer_test.go @@ -57,8 +57,7 @@ var ( ) func newTestSyncer(fakeGCE *gce.Cloud) *backendSyncer { - fakeHealthCheckProvider := healthchecks.NewFakeHealthCheckProvider() - fakeHealthChecks := healthchecks.NewHealthChecker(fakeHealthCheckProvider, "/", "/healthz", defaultNamer, defaultBackendSvc) + fakeHealthChecks := healthchecks.NewHealthChecker(fakeGCE, "/", "/healthz", defaultNamer, defaultBackendSvc) fakeBackendPool := NewPool(fakeGCE, defaultNamer) @@ -75,6 +74,9 @@ func newTestSyncer(fakeGCE *gce.Cloud) *backendSyncer { (fakeGCE.Compute().(*cloud.MockGCE)).MockAlphaBackendServices.UpdateHook = mock.UpdateAlphaBackendServiceHook (fakeGCE.Compute().(*cloud.MockGCE)).MockBetaBackendServices.UpdateHook = mock.UpdateBetaBackendServiceHook (fakeGCE.Compute().(*cloud.MockGCE)).MockBackendServices.UpdateHook = mock.UpdateBackendServiceHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockHealthChecks.UpdateHook = mock.UpdateHealthCheckHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockAlphaHealthChecks.UpdateHook = mock.UpdateAlphaHealthCheckHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockBetaHealthChecks.UpdateHook = mock.UpdateBetaHealthCheckHook return syncer } diff --git a/pkg/healthchecks/fakes.go b/pkg/healthchecks/fakes.go deleted file mode 100644 index 47668be6af..0000000000 --- a/pkg/healthchecks/fakes.go +++ /dev/null @@ -1,168 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package healthchecks - -import ( - computealpha "google.golang.org/api/compute/v0.alpha" - computebeta "google.golang.org/api/compute/v0.beta" - compute "google.golang.org/api/compute/v1" - - "github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud" - "github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta" - "k8s.io/ingress-gce/pkg/utils" -) - -// NewFakeHealthCheckProvider returns a new FakeHealthChecks. -func NewFakeHealthCheckProvider() *FakeHealthCheckProvider { - return &FakeHealthCheckProvider{ - http: make(map[string]compute.HttpHealthCheck), - generic: make(map[string]computealpha.HealthCheck), - } -} - -// FakeHealthCheckProvider fakes out health checks. -type FakeHealthCheckProvider struct { - http map[string]compute.HttpHealthCheck - generic map[string]computealpha.HealthCheck -} - -// CreateHttpHealthCheck fakes out http health check creation. -func (f *FakeHealthCheckProvider) CreateHTTPHealthCheck(hc *compute.HttpHealthCheck) error { - v := *hc - v.SelfLink = cloud.NewHttpHealthChecksResourceID("mock-project", hc.Name).SelfLink(meta.VersionGA) - f.http[hc.Name] = v - return nil -} - -// GetHttpHealthCheck fakes out getting a http health check from the cloud. -func (f *FakeHealthCheckProvider) GetHTTPHealthCheck(name string) (*compute.HttpHealthCheck, error) { - if hc, found := f.http[name]; found { - return &hc, nil - } - - return nil, utils.FakeGoogleAPINotFoundErr() -} - -// DeleteHttpHealthCheck fakes out deleting a http health check. -func (f *FakeHealthCheckProvider) DeleteHTTPHealthCheck(name string) error { - if _, exists := f.http[name]; !exists { - return utils.FakeGoogleAPINotFoundErr() - } - - delete(f.http, name) - return nil -} - -// UpdateHttpHealthCheck sends the given health check as an update. -func (f *FakeHealthCheckProvider) UpdateHTTPHealthCheck(hc *compute.HttpHealthCheck) error { - if _, exists := f.http[hc.Name]; !exists { - return utils.FakeGoogleAPINotFoundErr() - } - - f.http[hc.Name] = *hc - return nil -} - -// CreateHealthCheck fakes out http health check creation. -func (f *FakeHealthCheckProvider) CreateHealthCheck(hc *compute.HealthCheck) error { - v := *hc - v.SelfLink = cloud.NewHealthChecksResourceID("mock-project", hc.Name).SelfLink(meta.VersionGA) - alphaHC, _ := v1ToAlphaHealthCheck(&v) - f.generic[hc.Name] = *alphaHC - return nil -} - -// CreateHealthCheck fakes out http health check creation. -func (f *FakeHealthCheckProvider) CreateAlphaHealthCheck(hc *computealpha.HealthCheck) error { - v := *hc - v.SelfLink = cloud.NewHealthChecksResourceID("mock-project", hc.Name).SelfLink(meta.VersionAlpha) - f.generic[hc.Name] = v - return nil -} - -// CreateHealthCheck fakes out http health check creation. -func (f *FakeHealthCheckProvider) CreateBetaHealthCheck(hc *computebeta.HealthCheck) error { - v := *hc - v.SelfLink = cloud.NewHealthChecksResourceID("mock-project", hc.Name).SelfLink(meta.VersionBeta) - alphaHC, _ := betaToAlphaHealthCheck(&v) - f.generic[hc.Name] = *alphaHC - return nil -} - -// GetHealthCheck fakes out getting a http health check from the cloud. -func (f *FakeHealthCheckProvider) GetHealthCheck(name string) (*compute.HealthCheck, error) { - if hc, found := f.generic[name]; found { - v1HC, _ := toV1HealthCheck(&hc) - return v1HC, nil - } - - return nil, utils.FakeGoogleAPINotFoundErr() -} - -func (f *FakeHealthCheckProvider) GetAlphaHealthCheck(name string) (*computealpha.HealthCheck, error) { - if hc, found := f.generic[name]; found { - return &hc, nil - } - return nil, utils.FakeGoogleAPINotFoundErr() -} - -func (f *FakeHealthCheckProvider) GetBetaHealthCheck(name string) (*computebeta.HealthCheck, error) { - if hc, found := f.generic[name]; found { - ret := &computebeta.HealthCheck{} - err := copyViaJSON(ret, &hc) - return ret, err - } - return nil, utils.FakeGoogleAPINotFoundErr() -} - -// DeleteHealthCheck fakes out deleting a http health check. -func (f *FakeHealthCheckProvider) DeleteHealthCheck(name string) error { - if _, exists := f.generic[name]; !exists { - return utils.FakeGoogleAPINotFoundErr() - } - - delete(f.generic, name) - return nil -} - -// UpdateHealthCheck sends the given health check as an update. -func (f *FakeHealthCheckProvider) UpdateHealthCheck(hc *compute.HealthCheck) error { - if _, exists := f.generic[hc.Name]; !exists { - return utils.FakeGoogleAPINotFoundErr() - } - alphaHC, _ := v1ToAlphaHealthCheck(hc) - f.generic[hc.Name] = *alphaHC - return nil -} - -func (f *FakeHealthCheckProvider) UpdateAlphaHealthCheck(hc *computealpha.HealthCheck) error { - if _, exists := f.generic[hc.Name]; !exists { - return utils.FakeGoogleAPINotFoundErr() - } - - f.generic[hc.Name] = *hc - return nil -} - -func (f *FakeHealthCheckProvider) UpdateBetaHealthCheck(hc *computebeta.HealthCheck) error { - if _, exists := f.generic[hc.Name]; !exists { - return utils.FakeGoogleAPINotFoundErr() - } - alphaHC, _ := betaToAlphaHealthCheck(hc) - f.generic[hc.Name] = *alphaHC - return nil -} diff --git a/pkg/healthchecks/healthchecks_test.go b/pkg/healthchecks/healthchecks_test.go index 82bc9c8d3c..d89129fedc 100644 --- a/pkg/healthchecks/healthchecks_test.go +++ b/pkg/healthchecks/healthchecks_test.go @@ -17,6 +17,9 @@ limitations under the License. package healthchecks import ( + "github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud" + "github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/mock" + "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" "net/http" "testing" @@ -33,8 +36,8 @@ var ( ) func TestHealthCheckAdd(t *testing.T) { - hcp := NewFakeHealthCheckProvider() - healthChecks := NewHealthChecker(hcp, "/", "/healthz", namer, defaultBackendSvc) + fakeGCE := gce.NewFakeGCECloud(gce.DefaultTestClusterValues()) + healthChecks := NewHealthChecker(fakeGCE, "/", "/healthz", namer, defaultBackendSvc) sp := utils.ServicePort{NodePort: 80, Protocol: annotations.ProtocolHTTP, NEGEnabled: false} hc := healthChecks.New(sp) @@ -43,7 +46,7 @@ func TestHealthCheckAdd(t *testing.T) { t.Fatalf("unexpected error: %v", err) } // Verify the health check exists - _, err = hcp.GetHealthCheck(namer.IGBackend(80)) + _, err = fakeGCE.GetHealthCheck(namer.IGBackend(80)) if err != nil { t.Fatalf("expected the health check to exist, err: %v", err) } @@ -55,7 +58,7 @@ func TestHealthCheckAdd(t *testing.T) { t.Fatalf("unexpected error: %v", err) } // Verify the health check exists - _, err = hcp.GetHealthCheck(namer.IGBackend(443)) + _, err = fakeGCE.GetHealthCheck(namer.IGBackend(443)) if err != nil { t.Fatalf("expected the health check to exist, err: %v", err) } @@ -67,15 +70,15 @@ func TestHealthCheckAdd(t *testing.T) { t.Fatalf("unexpected error: %v", err) } // Verify the health check exists - _, err = hcp.GetHealthCheck(namer.IGBackend(3000)) + _, err = fakeGCE.GetHealthCheck(namer.IGBackend(3000)) if err != nil { t.Fatalf("expected the health check to exist, err: %v", err) } } func TestHealthCheckAddExisting(t *testing.T) { - hcp := NewFakeHealthCheckProvider() - healthChecks := NewHealthChecker(hcp, "/", "/healthz", namer, defaultBackendSvc) + fakeGCE := gce.NewFakeGCECloud(gce.DefaultTestClusterValues()) + healthChecks := NewHealthChecker(fakeGCE, "/", "/healthz", namer, defaultBackendSvc) // HTTP // Manually insert a health check @@ -86,7 +89,7 @@ func TestHealthCheckAddExisting(t *testing.T) { if err != nil { t.Fatalf("unexpected error: %v", err) } - hcp.CreateHealthCheck(v1hc) + fakeGCE.CreateHealthCheck(v1hc) sp := utils.ServicePort{NodePort: 3000, Protocol: annotations.ProtocolHTTP, NEGEnabled: false} // Should not fail adding the same type of health check @@ -96,7 +99,7 @@ func TestHealthCheckAddExisting(t *testing.T) { t.Fatalf("unexpected error: %v", err) } // Verify the health check exists - _, err = hcp.GetHealthCheck(httpHC.Name) + _, err = fakeGCE.GetHealthCheck(httpHC.Name) if err != nil { t.Fatalf("expected the health check to continue existing, err: %v", err) } @@ -110,7 +113,7 @@ func TestHealthCheckAddExisting(t *testing.T) { if err != nil { t.Fatalf("unexpected error: %v", err) } - hcp.CreateHealthCheck(v1hc) + fakeGCE.CreateHealthCheck(v1hc) sp = utils.ServicePort{NodePort: 4000, Protocol: annotations.ProtocolHTTPS, NEGEnabled: false} hc = healthChecks.New(sp) @@ -119,7 +122,7 @@ func TestHealthCheckAddExisting(t *testing.T) { t.Fatalf("unexpected error: %v", err) } // Verify the health check exists - _, err = hcp.GetHealthCheck(httpsHC.Name) + _, err = fakeGCE.GetHealthCheck(httpsHC.Name) if err != nil { t.Fatalf("expected the health check to continue existing, err: %v", err) } @@ -133,7 +136,7 @@ func TestHealthCheckAddExisting(t *testing.T) { if err != nil { t.Fatalf("unexpected error: %v", err) } - hcp.CreateHealthCheck(v1hc) + fakeGCE.CreateHealthCheck(v1hc) sp = utils.ServicePort{NodePort: 5000, Protocol: annotations.ProtocolHTTPS, NEGEnabled: false} hc = healthChecks.New(sp) @@ -142,15 +145,15 @@ func TestHealthCheckAddExisting(t *testing.T) { t.Fatalf("unexpected error: %v", err) } // Verify the health check exists - _, err = hcp.GetHealthCheck(http2.Name) + _, err = fakeGCE.GetHealthCheck(http2.Name) if err != nil { t.Fatalf("expected the health check to continue existing, err: %v", err) } } func TestHealthCheckDelete(t *testing.T) { - hcp := NewFakeHealthCheckProvider() - healthChecks := NewHealthChecker(hcp, "/", "/healthz", namer, defaultBackendSvc) + fakeGCE := gce.NewFakeGCECloud(gce.DefaultTestClusterValues()) + healthChecks := NewHealthChecker(fakeGCE, "/", "/healthz", namer, defaultBackendSvc) // Create HTTP HC for 1234 hc := DefaultHealthCheck(1234, annotations.ProtocolHTTP) @@ -159,11 +162,11 @@ func TestHealthCheckDelete(t *testing.T) { if err != nil { t.Fatalf("unexpected error: %v", err) } - hcp.CreateHealthCheck(v1hc) + fakeGCE.CreateHealthCheck(v1hc) // Create HTTPS HC for 1234) v1hc.Type = string(annotations.ProtocolHTTPS) - hcp.CreateHealthCheck(v1hc) + fakeGCE.CreateHealthCheck(v1hc) // Delete only HTTP 1234 err = healthChecks.Delete(namer.IGBackend(1234)) @@ -172,7 +175,7 @@ func TestHealthCheckDelete(t *testing.T) { } // Validate port is deleted - _, err = hcp.GetHealthCheck(hc.Name) + _, err = fakeGCE.GetHealthCheck(hc.Name) if !utils.IsHTTPErrorCode(err, http.StatusNotFound) { t.Errorf("expected not-found error, actual: %v", err) } @@ -185,15 +188,15 @@ func TestHealthCheckDelete(t *testing.T) { } func TestHTTP2HealthCheckDelete(t *testing.T) { - hcp := NewFakeHealthCheckProvider() - healthChecks := NewHealthChecker(hcp, "/", "/healthz", namer, defaultBackendSvc) + fakeGCE := gce.NewFakeGCECloud(gce.DefaultTestClusterValues()) + healthChecks := NewHealthChecker(fakeGCE, "/", "/healthz", namer, defaultBackendSvc) // Create HTTP2 HC for 1234 hc := DefaultHealthCheck(1234, annotations.ProtocolHTTP2) hc.Name = namer.IGBackend(1234) alphahc := hc.ToAlphaComputeHealthCheck() - hcp.CreateAlphaHealthCheck(alphahc) + fakeGCE.CreateAlphaHealthCheck(alphahc) // Delete only HTTP2 1234 err := healthChecks.Delete(namer.IGBackend(1234)) @@ -202,15 +205,21 @@ func TestHTTP2HealthCheckDelete(t *testing.T) { } // Validate port is deleted - _, err = hcp.GetAlphaHealthCheck(hc.Name) + _, err = fakeGCE.GetAlphaHealthCheck(hc.Name) if !utils.IsHTTPErrorCode(err, http.StatusNotFound) { t.Errorf("expected not-found error, actual: %v", err) } } func TestHealthCheckUpdate(t *testing.T) { - hcp := NewFakeHealthCheckProvider() - healthChecks := NewHealthChecker(hcp, "/", "/healthz", namer, defaultBackendSvc) + fakeGCE := gce.NewFakeGCECloud(gce.DefaultTestClusterValues()) + + // Add Hooks + (fakeGCE.Compute().(*cloud.MockGCE)).MockHealthChecks.UpdateHook = mock.UpdateHealthCheckHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockAlphaHealthChecks.UpdateHook = mock.UpdateAlphaHealthCheckHook + (fakeGCE.Compute().(*cloud.MockGCE)).MockBetaHealthChecks.UpdateHook = mock.UpdateBetaHealthCheckHook + + healthChecks := NewHealthChecker(fakeGCE, "/", "/healthz", namer, defaultBackendSvc) // HTTP // Manually insert a health check @@ -221,7 +230,7 @@ func TestHealthCheckUpdate(t *testing.T) { if err != nil { t.Fatalf("unexpected error: %v", err) } - hcp.CreateHealthCheck(v1hc) + fakeGCE.CreateHealthCheck(v1hc) // Verify the health check exists _, err = healthChecks.Get(hc.Name, meta.VersionGA) @@ -310,8 +319,8 @@ func TestHealthCheckUpdate(t *testing.T) { } func TestAlphaHealthCheck(t *testing.T) { - hcp := NewFakeHealthCheckProvider() - healthChecks := NewHealthChecker(hcp, "/", "/healthz", namer, defaultBackendSvc) + fakeGCE := gce.NewFakeGCECloud(gce.DefaultTestClusterValues()) + healthChecks := NewHealthChecker(fakeGCE, "/", "/healthz", namer, defaultBackendSvc) sp := utils.ServicePort{NodePort: 8000, Protocol: annotations.ProtocolHTTPS, NEGEnabled: true} hc := healthChecks.New(sp) _, err := healthChecks.Sync(hc)