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
|
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()
|
c.Lock()
|
||||||
defer c.Unlock()
|
defer c.Unlock()
|
||||||
regions, ok := c.forwardingRules[project]
|
regions, ok := c.forwardingRules[project]
|
||||||
|
@ -91,7 +91,7 @@ func (c *forwardingRuleClient) SetLabels(ctx context.Context, project, region, n
|
||||||
return doneOperation(), nil
|
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()
|
c.Lock()
|
||||||
defer c.Unlock()
|
defer c.Unlock()
|
||||||
regions, ok := c.forwardingRules[project]
|
regions, ok := c.forwardingRules[project]
|
||||||
|
@ -109,7 +109,7 @@ func (c *forwardingRuleClient) Delete(project, region, name string) (*compute.Op
|
||||||
return doneOperation(), nil
|
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()
|
c.Lock()
|
||||||
defer c.Unlock()
|
defer c.Unlock()
|
||||||
regions, ok := c.forwardingRules[project]
|
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 {
|
func deleteForwardingRule(cloud fi.Cloud, r *resources.Resource) error {
|
||||||
|
ctx := context.TODO()
|
||||||
|
|
||||||
c := cloud.(gce.GCECloud)
|
c := cloud.(gce.GCECloud)
|
||||||
t := r.Obj.(*compute.ForwardingRule)
|
t := r.Obj.(*compute.ForwardingRule)
|
||||||
|
|
||||||
|
@ -509,7 +511,7 @@ func deleteForwardingRule(cloud fi.Cloud, r *resources.Resource) error {
|
||||||
return err
|
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 err != nil {
|
||||||
if gce.IsNotFound(err) {
|
if gce.IsNotFound(err) {
|
||||||
klog.Infof("ForwardingRule not found, assuming deleted: %q", t.SelfLink)
|
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
|
// 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-")
|
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 err != nil {
|
||||||
if gce.IsNotFound(err) {
|
if gce.IsNotFound(err) {
|
||||||
// We looked it up by name, so an error isn't unlikely
|
// 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 {
|
type ForwardingRuleClient interface {
|
||||||
Insert(project, region string, fr *compute.ForwardingRule) (*compute.Operation, error)
|
Insert(ctx context.Context, project, region string, fr *compute.ForwardingRule) (*compute.Operation, error)
|
||||||
Delete(project, region, name string) (*compute.Operation, error)
|
Delete(ctx context.Context, project, region, name string) (*compute.Operation, error)
|
||||||
Get(project, region, name string) (*compute.ForwardingRule, error)
|
Get(ctx context.Context, project, region, name string) (*compute.ForwardingRule, error)
|
||||||
List(ctx context.Context, project, region 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)
|
SetLabels(ctx context.Context, project, region, resource string, request *compute.RegionSetLabelsRequest) (*compute.Operation, error)
|
||||||
}
|
}
|
||||||
|
@ -375,16 +375,16 @@ type forwardingRuleClientImpl struct {
|
||||||
|
|
||||||
var _ ForwardingRuleClient = &forwardingRuleClientImpl{}
|
var _ ForwardingRuleClient = &forwardingRuleClientImpl{}
|
||||||
|
|
||||||
func (c *forwardingRuleClientImpl) Insert(project, region string, fr *compute.ForwardingRule) (*compute.Operation, error) {
|
func (c *forwardingRuleClientImpl) Insert(ctx context.Context, project, region string, fr *compute.ForwardingRule) (*compute.Operation, error) {
|
||||||
return c.srv.Insert(project, region, fr).Do()
|
return c.srv.Insert(project, region, fr).Context(ctx).Do()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *forwardingRuleClientImpl) Delete(project, region, name string) (*compute.Operation, error) {
|
func (c *forwardingRuleClientImpl) Delete(ctx context.Context, project, region, name string) (*compute.Operation, error) {
|
||||||
return c.srv.Delete(project, region, name).Do()
|
return c.srv.Delete(project, region, name).Context(ctx).Do()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *forwardingRuleClientImpl) Get(project, region, name string) (*compute.ForwardingRule, error) {
|
func (c *forwardingRuleClientImpl) Get(ctx context.Context, project, region, name string) (*compute.ForwardingRule, error) {
|
||||||
return c.srv.Get(project, region, name).Do()
|
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) {
|
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) {
|
func (e *ForwardingRule) Find(c *fi.CloudupContext) (*ForwardingRule, error) {
|
||||||
|
ctx := c.Context()
|
||||||
|
|
||||||
cloud := c.T.Cloud.(gce.GCECloud)
|
cloud := c.T.Cloud.(gce.GCECloud)
|
||||||
name := fi.ValueOf(e.Name)
|
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 err != nil {
|
||||||
if gce.IsNotFound(err) {
|
if gce.IsNotFound(err) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
@ -212,7 +214,7 @@ func (_ *ForwardingRule) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Forwardin
|
||||||
if a == nil {
|
if a == nil {
|
||||||
klog.V(4).Infof("Creating ForwardingRule %q", o.Name)
|
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 {
|
if err != nil {
|
||||||
return fmt.Errorf("error creating ForwardingRule %q: %v", o.Name, err)
|
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 {
|
if e.Labels != nil {
|
||||||
// We can't set labels on creation; we have to read the object to get the fingerprint
|
// 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 {
|
if err != nil {
|
||||||
return fmt.Errorf("reading created ForwardingRule %q: %v", name, err)
|
return fmt.Errorf("reading created ForwardingRule %q: %v", name, err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue