Skip to content

Commit

Permalink
Merge pull request kubernetes#16281 from justinsb/gce_forwarding_rule…
Browse files Browse the repository at this point in the history
…_plumb_context

Refactor: Plumb context through GCE firewallRule methods
  • Loading branch information
k8s-ci-robot authored Jan 26, 2024
2 parents 862fe05 + 6871aa7 commit 4db109f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 17 deletions.
6 changes: 3 additions & 3 deletions cloudmock/gce/mockcompute/forwarding_rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func (c *forwardingRuleClient) All() map[string]interface{} {
return m
}

func (c *forwardingRuleClient) Insert(project, region string, fr *compute.ForwardingRule) (*compute.Operation, error) {
func (c *forwardingRuleClient) Insert(ctx context.Context, project, region string, fr *compute.ForwardingRule) (*compute.Operation, error) {
c.Lock()
defer c.Unlock()
regions, ok := c.forwardingRules[project]
Expand Down Expand Up @@ -91,7 +91,7 @@ func (c *forwardingRuleClient) SetLabels(ctx context.Context, project, region, n
return doneOperation(), nil
}

func (c *forwardingRuleClient) Delete(project, region, name string) (*compute.Operation, error) {
func (c *forwardingRuleClient) Delete(ctx context.Context, project, region, name string) (*compute.Operation, error) {
c.Lock()
defer c.Unlock()
regions, ok := c.forwardingRules[project]
Expand All @@ -109,7 +109,7 @@ func (c *forwardingRuleClient) Delete(project, region, name string) (*compute.Op
return doneOperation(), nil
}

func (c *forwardingRuleClient) Get(project, region, name string) (*compute.ForwardingRule, error) {
func (c *forwardingRuleClient) Get(ctx context.Context, project, region, name string) (*compute.ForwardingRule, error) {
c.Lock()
defer c.Unlock()
regions, ok := c.forwardingRules[project]
Expand Down
6 changes: 4 additions & 2 deletions pkg/resources/gce/gce.go
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,8 @@ func (d *clusterDiscoveryGCE) listForwardingRules() ([]*resources.Resource, erro
}

func deleteForwardingRule(cloud fi.Cloud, r *resources.Resource) error {
ctx := context.TODO()

c := cloud.(gce.GCECloud)
t := r.Obj.(*compute.ForwardingRule)

Expand All @@ -509,7 +511,7 @@ func deleteForwardingRule(cloud fi.Cloud, r *resources.Resource) error {
return err
}

op, err := c.Compute().ForwardingRules().Delete(u.Project, u.Region, u.Name)
op, err := c.Compute().ForwardingRules().Delete(ctx, u.Project, u.Region, u.Name)
if err != nil {
if gce.IsNotFound(err) {
klog.Infof("ForwardingRule not found, assuming deleted: %q", t.SelfLink)
Expand Down Expand Up @@ -585,7 +587,7 @@ nextFirewallRule:

// We lookup the forwarding rule by name, but we then validate that it points to one of our resources
forwardingRuleName := strings.TrimPrefix(firewallRule.Name, "k8s-fw-")
forwardingRule, err := c.Compute().ForwardingRules().Get(c.Project(), c.Region(), forwardingRuleName)
forwardingRule, err := c.Compute().ForwardingRules().Get(ctx, c.Project(), c.Region(), forwardingRuleName)
if err != nil {
if gce.IsNotFound(err) {
// We looked it up by name, so an error isn't unlikely
Expand Down
18 changes: 9 additions & 9 deletions upup/pkg/fi/cloudup/gce/compute.go
Original file line number Diff line number Diff line change
Expand Up @@ -362,9 +362,9 @@ func (c *routeClientImpl) List(ctx context.Context, project string) ([]*compute.
}

type ForwardingRuleClient interface {
Insert(project, region string, fr *compute.ForwardingRule) (*compute.Operation, error)
Delete(project, region, name string) (*compute.Operation, error)
Get(project, region, name string) (*compute.ForwardingRule, error)
Insert(ctx context.Context, project, region string, fr *compute.ForwardingRule) (*compute.Operation, error)
Delete(ctx context.Context, project, region, name string) (*compute.Operation, error)
Get(ctx context.Context, project, region, name string) (*compute.ForwardingRule, error)
List(ctx context.Context, project, region string) ([]*compute.ForwardingRule, error)
SetLabels(ctx context.Context, project, region, resource string, request *compute.RegionSetLabelsRequest) (*compute.Operation, error)
}
Expand All @@ -375,16 +375,16 @@ type forwardingRuleClientImpl struct {

var _ ForwardingRuleClient = &forwardingRuleClientImpl{}

func (c *forwardingRuleClientImpl) Insert(project, region string, fr *compute.ForwardingRule) (*compute.Operation, error) {
return c.srv.Insert(project, region, fr).Do()
func (c *forwardingRuleClientImpl) Insert(ctx context.Context, project, region string, fr *compute.ForwardingRule) (*compute.Operation, error) {
return c.srv.Insert(project, region, fr).Context(ctx).Do()
}

func (c *forwardingRuleClientImpl) Delete(project, region, name string) (*compute.Operation, error) {
return c.srv.Delete(project, region, name).Do()
func (c *forwardingRuleClientImpl) Delete(ctx context.Context, project, region, name string) (*compute.Operation, error) {
return c.srv.Delete(project, region, name).Context(ctx).Do()
}

func (c *forwardingRuleClientImpl) Get(project, region, name string) (*compute.ForwardingRule, error) {
return c.srv.Get(project, region, name).Do()
func (c *forwardingRuleClientImpl) Get(ctx context.Context, project, region, name string) (*compute.ForwardingRule, error) {
return c.srv.Get(project, region, name).Context(ctx).Do()
}

func (c *forwardingRuleClientImpl) SetLabels(ctx context.Context, project string, region string, resource string, request *compute.RegionSetLabelsRequest) (*compute.Operation, error) {
Expand Down
8 changes: 5 additions & 3 deletions upup/pkg/fi/cloudup/gcetasks/forwardingrule.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,12 @@ func (e *ForwardingRule) CompareWithID() *string {
}

func (e *ForwardingRule) Find(c *fi.CloudupContext) (*ForwardingRule, error) {
ctx := c.Context()

cloud := c.T.Cloud.(gce.GCECloud)
name := fi.ValueOf(e.Name)

r, err := cloud.Compute().ForwardingRules().Get(cloud.Project(), cloud.Region(), name)
r, err := cloud.Compute().ForwardingRules().Get(ctx, cloud.Project(), cloud.Region(), name)
if err != nil {
if gce.IsNotFound(err) {
return nil, nil
Expand Down Expand Up @@ -212,7 +214,7 @@ func (_ *ForwardingRule) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Forwardin
if a == nil {
klog.V(4).Infof("Creating ForwardingRule %q", o.Name)

op, err := t.Cloud.Compute().ForwardingRules().Insert(t.Cloud.Project(), t.Cloud.Region(), o)
op, err := t.Cloud.Compute().ForwardingRules().Insert(ctx, t.Cloud.Project(), t.Cloud.Region(), o)
if err != nil {
return fmt.Errorf("error creating ForwardingRule %q: %v", o.Name, err)
}
Expand All @@ -223,7 +225,7 @@ func (_ *ForwardingRule) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Forwardin

if e.Labels != nil {
// We can't set labels on creation; we have to read the object to get the fingerprint
r, err := t.Cloud.Compute().ForwardingRules().Get(t.Cloud.Project(), t.Cloud.Region(), name)
r, err := t.Cloud.Compute().ForwardingRules().Get(ctx, t.Cloud.Project(), t.Cloud.Region(), name)
if err != nil {
return fmt.Errorf("reading created ForwardingRule %q: %v", name, err)
}
Expand Down

0 comments on commit 4db109f

Please sign in to comment.