mirror of https://github.com/kubernetes/kops.git
Refactor: Plumb context through GCE firewallRule methods
Helps with more coherent tracing/logging.
This commit is contained in:
parent
862fe05197
commit
6871aa7148
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue