mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #64793 from MrHohn/gce-backend-service-beta-wrappers
Automatic merge from submit-queue (batch tested with PRs 61330, 64793, 64675, 65059, 65368). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. [gce provider ] Wrapper for beta backend service create/update **What this PR does / why we need it**: Feel free to wait after 1.11 code freeze. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes #NONE **Special notes for your reviewer**: /assign @rramkumar1 **Release note**: ```release-note NONE ```
This commit is contained in:
commit
b7b8e160a5
@ -3018,6 +3018,7 @@ type BetaBackendServices interface {
|
|||||||
Insert(ctx context.Context, key *meta.Key, obj *beta.BackendService) error
|
Insert(ctx context.Context, key *meta.Key, obj *beta.BackendService) error
|
||||||
Delete(ctx context.Context, key *meta.Key) error
|
Delete(ctx context.Context, key *meta.Key) error
|
||||||
SetSecurityPolicy(context.Context, *meta.Key, *beta.SecurityPolicyReference) error
|
SetSecurityPolicy(context.Context, *meta.Key, *beta.SecurityPolicyReference) error
|
||||||
|
Update(context.Context, *meta.Key, *beta.BackendService) error
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewMockBetaBackendServices returns a new mock for BackendServices.
|
// NewMockBetaBackendServices returns a new mock for BackendServices.
|
||||||
@ -3058,6 +3059,7 @@ type MockBetaBackendServices struct {
|
|||||||
InsertHook func(ctx context.Context, key *meta.Key, obj *beta.BackendService, m *MockBetaBackendServices) (bool, error)
|
InsertHook func(ctx context.Context, key *meta.Key, obj *beta.BackendService, m *MockBetaBackendServices) (bool, error)
|
||||||
DeleteHook func(ctx context.Context, key *meta.Key, m *MockBetaBackendServices) (bool, error)
|
DeleteHook func(ctx context.Context, key *meta.Key, m *MockBetaBackendServices) (bool, error)
|
||||||
SetSecurityPolicyHook func(context.Context, *meta.Key, *beta.SecurityPolicyReference, *MockBetaBackendServices) error
|
SetSecurityPolicyHook func(context.Context, *meta.Key, *beta.SecurityPolicyReference, *MockBetaBackendServices) error
|
||||||
|
UpdateHook func(context.Context, *meta.Key, *beta.BackendService, *MockBetaBackendServices) error
|
||||||
|
|
||||||
// X is extra state that can be used as part of the mock. Generated code
|
// X is extra state that can be used as part of the mock. Generated code
|
||||||
// will not use this field.
|
// will not use this field.
|
||||||
@ -3211,6 +3213,14 @@ func (m *MockBetaBackendServices) SetSecurityPolicy(ctx context.Context, key *me
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update is a mock for the corresponding method.
|
||||||
|
func (m *MockBetaBackendServices) Update(ctx context.Context, key *meta.Key, arg0 *beta.BackendService) error {
|
||||||
|
if m.UpdateHook != nil {
|
||||||
|
return m.UpdateHook(ctx, key, arg0, m)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// GCEBetaBackendServices is a simplifying adapter for the GCE BackendServices.
|
// GCEBetaBackendServices is a simplifying adapter for the GCE BackendServices.
|
||||||
type GCEBetaBackendServices struct {
|
type GCEBetaBackendServices struct {
|
||||||
s *Service
|
s *Service
|
||||||
@ -3386,6 +3396,39 @@ func (g *GCEBetaBackendServices) SetSecurityPolicy(ctx context.Context, key *met
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update is a method on GCEBetaBackendServices.
|
||||||
|
func (g *GCEBetaBackendServices) Update(ctx context.Context, key *meta.Key, arg0 *beta.BackendService) error {
|
||||||
|
glog.V(5).Infof("GCEBetaBackendServices.Update(%v, %v, ...): called", ctx, key)
|
||||||
|
|
||||||
|
if !key.Valid() {
|
||||||
|
glog.V(2).Infof("GCEBetaBackendServices.Update(%v, %v, ...): key is invalid (%#v)", ctx, key, key)
|
||||||
|
return fmt.Errorf("invalid GCE key (%+v)", key)
|
||||||
|
}
|
||||||
|
projectID := g.s.ProjectRouter.ProjectID(ctx, "beta", "BackendServices")
|
||||||
|
rk := &RateLimitKey{
|
||||||
|
ProjectID: projectID,
|
||||||
|
Operation: "Update",
|
||||||
|
Version: meta.Version("beta"),
|
||||||
|
Service: "BackendServices",
|
||||||
|
}
|
||||||
|
glog.V(5).Infof("GCEBetaBackendServices.Update(%v, %v, ...): projectID = %v, rk = %+v", ctx, key, projectID, rk)
|
||||||
|
|
||||||
|
if err := g.s.RateLimiter.Accept(ctx, rk); err != nil {
|
||||||
|
glog.V(4).Infof("GCEBetaBackendServices.Update(%v, %v, ...): RateLimiter error: %v", ctx, key, err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
call := g.s.Beta.BackendServices.Update(projectID, key.Name, arg0)
|
||||||
|
call.Context(ctx)
|
||||||
|
op, err := call.Do()
|
||||||
|
if err != nil {
|
||||||
|
glog.V(4).Infof("GCEBetaBackendServices.Update(%v, %v, ...) = %+v", ctx, key, err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = g.s.WaitForCompletion(ctx, op)
|
||||||
|
glog.V(4).Infof("GCEBetaBackendServices.Update(%v, %v, ...) = %+v", ctx, key, err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// AlphaBackendServices is an interface that allows for mocking of BackendServices.
|
// AlphaBackendServices is an interface that allows for mocking of BackendServices.
|
||||||
type AlphaBackendServices interface {
|
type AlphaBackendServices interface {
|
||||||
Get(ctx context.Context, key *meta.Key) (*alpha.BackendService, error)
|
Get(ctx context.Context, key *meta.Key) (*alpha.BackendService, error)
|
||||||
|
@ -115,6 +115,7 @@ var AllServices = []*ServiceInfo{
|
|||||||
keyType: Global,
|
keyType: Global,
|
||||||
serviceType: reflect.TypeOf(&beta.BackendServicesService{}),
|
serviceType: reflect.TypeOf(&beta.BackendServicesService{}),
|
||||||
additionalMethods: []string{
|
additionalMethods: []string{
|
||||||
|
"Update",
|
||||||
"SetSecurityPolicy",
|
"SetSecurityPolicy",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -74,13 +74,23 @@ func (gce *GCECloud) UpdateGlobalBackendService(bg *compute.BackendService) erro
|
|||||||
return mc.Observe(gce.c.BackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg))
|
return mc.Observe(gce.c.BackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateBetaGlobalBackendService applies the given beta BackendService as an
|
||||||
|
// update to an existing service.
|
||||||
|
func (gce *GCECloud) UpdateBetaGlobalBackendService(bg *computebeta.BackendService) error {
|
||||||
|
ctx, cancel := cloud.ContextWithCallTimeout()
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
mc := newBackendServiceMetricContextWithVersion("update", "", computeBetaVersion)
|
||||||
|
return mc.Observe(gce.c.BetaBackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg))
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateAlphaGlobalBackendService applies the given alpha BackendService as an
|
// UpdateAlphaGlobalBackendService applies the given alpha BackendService as an
|
||||||
// update to an existing service.
|
// update to an existing service.
|
||||||
func (gce *GCECloud) UpdateAlphaGlobalBackendService(bg *computealpha.BackendService) error {
|
func (gce *GCECloud) UpdateAlphaGlobalBackendService(bg *computealpha.BackendService) error {
|
||||||
ctx, cancel := cloud.ContextWithCallTimeout()
|
ctx, cancel := cloud.ContextWithCallTimeout()
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
mc := newBackendServiceMetricContext("update", "")
|
mc := newBackendServiceMetricContextWithVersion("update", "", computeAlphaVersion)
|
||||||
return mc.Observe(gce.c.AlphaBackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg))
|
return mc.Observe(gce.c.AlphaBackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,12 +112,21 @@ func (gce *GCECloud) CreateGlobalBackendService(bg *compute.BackendService) erro
|
|||||||
return mc.Observe(gce.c.BackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg))
|
return mc.Observe(gce.c.BackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CreateBetaGlobalBackendService creates the given beta BackendService.
|
||||||
|
func (gce *GCECloud) CreateBetaGlobalBackendService(bg *computebeta.BackendService) error {
|
||||||
|
ctx, cancel := cloud.ContextWithCallTimeout()
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
mc := newBackendServiceMetricContextWithVersion("create", "", computeBetaVersion)
|
||||||
|
return mc.Observe(gce.c.BetaBackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg))
|
||||||
|
}
|
||||||
|
|
||||||
// CreateAlphaGlobalBackendService creates the given alpha BackendService.
|
// CreateAlphaGlobalBackendService creates the given alpha BackendService.
|
||||||
func (gce *GCECloud) CreateAlphaGlobalBackendService(bg *computealpha.BackendService) error {
|
func (gce *GCECloud) CreateAlphaGlobalBackendService(bg *computealpha.BackendService) error {
|
||||||
ctx, cancel := cloud.ContextWithCallTimeout()
|
ctx, cancel := cloud.ContextWithCallTimeout()
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
mc := newBackendServiceMetricContext("create", "")
|
mc := newBackendServiceMetricContextWithVersion("create", "", computeAlphaVersion)
|
||||||
return mc.Observe(gce.c.AlphaBackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg))
|
return mc.Observe(gce.c.AlphaBackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user