[master] Auto-update dependencies (#255)

Produced via:
  `./hack/update-deps.sh --upgrade && ./hack/update-codegen.sh`
/assign n3wscott vagababov
/cc n3wscott vagababov
This commit is contained in:
Matt Moore 2020-04-23 10:22:32 -07:00 committed by GitHub
parent ac178bf243
commit fcbfad7ffa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 113 additions and 51 deletions

6
Gopkg.lock generated
View File

@ -966,7 +966,7 @@
[[projects]] [[projects]]
branch = "master" branch = "master"
digest = "1:e22353ddf843dd7a2114cd6384fdd84b7200d2fbb86aa864af91d60110954e3f" digest = "1:13985b1557d4a99d1d635aa0559e03ae970cda1601c957464fe757c1c9542caa"
name = "knative.dev/pkg" name = "knative.dev/pkg"
packages = [ packages = [
"apis", "apis",
@ -986,7 +986,7 @@
"reconciler", "reconciler",
] ]
pruneopts = "T" pruneopts = "T"
revision = "8aa4090a02769edfd8494007c50424cc87c6a655" revision = "6103dd9b71311a75982dc89bf682ee852673d70e"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -997,7 +997,7 @@
"tools/dep-collector", "tools/dep-collector",
] ]
pruneopts = "UT" pruneopts = "UT"
revision = "349504bd2094689586c7399ceb1af96fcbad1026" revision = "1be83cfc7702b712d4dcec6209105b012e930308"
[[projects]] [[projects]]
digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c" digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c"

View File

@ -74,10 +74,11 @@ func NewImpl(ctx context.Context, r Interface, optionsFns ...controller.OptionsF
} }
rec := &reconcilerImpl{ rec := &reconcilerImpl{
Client: apiextensionsclient.Get(ctx), Client: apiextensionsclient.Get(ctx),
Lister: customresourcedefinitionInformer.Lister(), Lister: customresourcedefinitionInformer.Lister(),
Recorder: recorder, Recorder: recorder,
reconciler: r, reconciler: r,
finalizerName: defaultFinalizerName,
} }
impl := controller.NewImpl(rec, logger, defaultQueueName) impl := controller.NewImpl(rec, logger, defaultQueueName)
@ -87,6 +88,9 @@ func NewImpl(ctx context.Context, r Interface, optionsFns ...controller.OptionsF
if opts.ConfigStore != nil { if opts.ConfigStore != nil {
rec.configStore = opts.ConfigStore rec.configStore = opts.ConfigStore
} }
if opts.FinalizerName != "" {
rec.finalizerName = opts.FinalizerName
}
} }
return impl return impl

View File

@ -81,6 +81,9 @@ type reconcilerImpl struct {
// reconciler is the implementation of the business logic of the resource. // reconciler is the implementation of the business logic of the resource.
reconciler Interface reconciler Interface
// finalizerName is the name of the finalizer to reconcile.
finalizerName string
} }
// Check that our Reconciler implements controller.Reconciler // Check that our Reconciler implements controller.Reconciler
@ -137,7 +140,7 @@ func (r *reconcilerImpl) Reconcile(ctx context.Context, key string) error {
if errors.IsNotFound(err) { if errors.IsNotFound(err) {
// The resource may no longer exist, in which case we stop processing. // The resource may no longer exist, in which case we stop processing.
logger.Errorf("resource %q no longer exists", key) logger.Debugf("resource %q no longer exists", key)
return nil return nil
} else if err != nil { } else if err != nil {
return err return err
@ -231,9 +234,8 @@ func (r *reconcilerImpl) updateStatus(existing *v1beta1.CustomResourceDefinition
// updateFinalizersFiltered will update the Finalizers of the resource. // updateFinalizersFiltered will update the Finalizers of the resource.
// TODO: this method could be generic and sync all finalizers. For now it only // TODO: this method could be generic and sync all finalizers. For now it only
// updates defaultFinalizerName. // updates defaultFinalizerName or its override.
func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) { func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) {
finalizerName := defaultFinalizerName
getter := r.Lister getter := r.Lister
@ -251,20 +253,20 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource
existingFinalizers := sets.NewString(existing.Finalizers...) existingFinalizers := sets.NewString(existing.Finalizers...)
desiredFinalizers := sets.NewString(resource.Finalizers...) desiredFinalizers := sets.NewString(resource.Finalizers...)
if desiredFinalizers.Has(finalizerName) { if desiredFinalizers.Has(r.finalizerName) {
if existingFinalizers.Has(finalizerName) { if existingFinalizers.Has(r.finalizerName) {
// Nothing to do. // Nothing to do.
return resource, nil return resource, nil
} }
// Add the finalizer. // Add the finalizer.
finalizers = append(existing.Finalizers, finalizerName) finalizers = append(existing.Finalizers, r.finalizerName)
} else { } else {
if !existingFinalizers.Has(finalizerName) { if !existingFinalizers.Has(r.finalizerName) {
// Nothing to do. // Nothing to do.
return resource, nil return resource, nil
} }
// Remove the finalizer. // Remove the finalizer.
existingFinalizers.Delete(finalizerName) existingFinalizers.Delete(r.finalizerName)
finalizers = existingFinalizers.List() finalizers = existingFinalizers.List()
} }
@ -302,12 +304,12 @@ func (r *reconcilerImpl) setFinalizerIfFinalizer(ctx context.Context, resource *
// If this resource is not being deleted, mark the finalizer. // If this resource is not being deleted, mark the finalizer.
if resource.GetDeletionTimestamp().IsZero() { if resource.GetDeletionTimestamp().IsZero() {
finalizers.Insert(defaultFinalizerName) finalizers.Insert(r.finalizerName)
} }
resource.Finalizers = finalizers.List() resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName. // Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource) return r.updateFinalizersFiltered(ctx, resource)
} }
@ -325,15 +327,15 @@ func (r *reconcilerImpl) clearFinalizer(ctx context.Context, resource *v1beta1.C
var event *reconciler.ReconcilerEvent var event *reconciler.ReconcilerEvent
if reconciler.EventAs(reconcileEvent, &event) { if reconciler.EventAs(reconcileEvent, &event) {
if event.EventType == v1.EventTypeNormal { if event.EventType == v1.EventTypeNormal {
finalizers.Delete(defaultFinalizerName) finalizers.Delete(r.finalizerName)
} }
} }
} else { } else {
finalizers.Delete(defaultFinalizerName) finalizers.Delete(r.finalizerName)
} }
resource.Finalizers = finalizers.List() resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName. // Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource) return r.updateFinalizersFiltered(ctx, resource)
} }

View File

@ -72,10 +72,11 @@ func NewImpl(ctx context.Context, r Interface, optionsFns ...controller.OptionsF
} }
rec := &reconcilerImpl{ rec := &reconcilerImpl{
Client: client.Get(ctx), Client: client.Get(ctx),
Lister: namespaceInformer.Lister(), Lister: namespaceInformer.Lister(),
Recorder: recorder, Recorder: recorder,
reconciler: r, reconciler: r,
finalizerName: defaultFinalizerName,
} }
impl := controller.NewImpl(rec, logger, defaultQueueName) impl := controller.NewImpl(rec, logger, defaultQueueName)
@ -85,6 +86,9 @@ func NewImpl(ctx context.Context, r Interface, optionsFns ...controller.OptionsF
if opts.ConfigStore != nil { if opts.ConfigStore != nil {
rec.configStore = opts.ConfigStore rec.configStore = opts.ConfigStore
} }
if opts.FinalizerName != "" {
rec.finalizerName = opts.FinalizerName
}
} }
return impl return impl

View File

@ -80,6 +80,9 @@ type reconcilerImpl struct {
// reconciler is the implementation of the business logic of the resource. // reconciler is the implementation of the business logic of the resource.
reconciler Interface reconciler Interface
// finalizerName is the name of the finalizer to reconcile.
finalizerName string
} }
// Check that our Reconciler implements controller.Reconciler // Check that our Reconciler implements controller.Reconciler
@ -136,7 +139,7 @@ func (r *reconcilerImpl) Reconcile(ctx context.Context, key string) error {
if errors.IsNotFound(err) { if errors.IsNotFound(err) {
// The resource may no longer exist, in which case we stop processing. // The resource may no longer exist, in which case we stop processing.
logger.Errorf("resource %q no longer exists", key) logger.Debugf("resource %q no longer exists", key)
return nil return nil
} else if err != nil { } else if err != nil {
return err return err
@ -230,9 +233,8 @@ func (r *reconcilerImpl) updateStatus(existing *v1.Namespace, desired *v1.Namesp
// updateFinalizersFiltered will update the Finalizers of the resource. // updateFinalizersFiltered will update the Finalizers of the resource.
// TODO: this method could be generic and sync all finalizers. For now it only // TODO: this method could be generic and sync all finalizers. For now it only
// updates defaultFinalizerName. // updates defaultFinalizerName or its override.
func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource *v1.Namespace) (*v1.Namespace, error) { func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource *v1.Namespace) (*v1.Namespace, error) {
finalizerName := defaultFinalizerName
getter := r.Lister getter := r.Lister
@ -250,20 +252,20 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource
existingFinalizers := sets.NewString(existing.Finalizers...) existingFinalizers := sets.NewString(existing.Finalizers...)
desiredFinalizers := sets.NewString(resource.Finalizers...) desiredFinalizers := sets.NewString(resource.Finalizers...)
if desiredFinalizers.Has(finalizerName) { if desiredFinalizers.Has(r.finalizerName) {
if existingFinalizers.Has(finalizerName) { if existingFinalizers.Has(r.finalizerName) {
// Nothing to do. // Nothing to do.
return resource, nil return resource, nil
} }
// Add the finalizer. // Add the finalizer.
finalizers = append(existing.Finalizers, finalizerName) finalizers = append(existing.Finalizers, r.finalizerName)
} else { } else {
if !existingFinalizers.Has(finalizerName) { if !existingFinalizers.Has(r.finalizerName) {
// Nothing to do. // Nothing to do.
return resource, nil return resource, nil
} }
// Remove the finalizer. // Remove the finalizer.
existingFinalizers.Delete(finalizerName) existingFinalizers.Delete(r.finalizerName)
finalizers = existingFinalizers.List() finalizers = existingFinalizers.List()
} }
@ -301,12 +303,12 @@ func (r *reconcilerImpl) setFinalizerIfFinalizer(ctx context.Context, resource *
// If this resource is not being deleted, mark the finalizer. // If this resource is not being deleted, mark the finalizer.
if resource.GetDeletionTimestamp().IsZero() { if resource.GetDeletionTimestamp().IsZero() {
finalizers.Insert(defaultFinalizerName) finalizers.Insert(r.finalizerName)
} }
resource.Finalizers = finalizers.List() resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName. // Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource) return r.updateFinalizersFiltered(ctx, resource)
} }
@ -324,15 +326,15 @@ func (r *reconcilerImpl) clearFinalizer(ctx context.Context, resource *v1.Namesp
var event *reconciler.ReconcilerEvent var event *reconciler.ReconcilerEvent
if reconciler.EventAs(reconcileEvent, &event) { if reconciler.EventAs(reconcileEvent, &event) {
if event.EventType == v1.EventTypeNormal { if event.EventType == v1.EventTypeNormal {
finalizers.Delete(defaultFinalizerName) finalizers.Delete(r.finalizerName)
} }
} }
} else { } else {
finalizers.Delete(defaultFinalizerName) finalizers.Delete(r.finalizerName)
} }
resource.Finalizers = finalizers.List() resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName. // Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource) return r.updateFinalizersFiltered(ctx, resource)
} }

View File

@ -198,6 +198,7 @@ func NewImpl(ctx {{.contextContext|raw}}, r Interface{{if .hasClass}}, classValu
Lister: {{.type|lowercaseSingular}}Informer.Lister(), Lister: {{.type|lowercaseSingular}}Informer.Lister(),
Recorder: recorder, Recorder: recorder,
reconciler: r, reconciler: r,
finalizerName: defaultFinalizerName,
{{if .hasClass}}classValue: classValue,{{end}} {{if .hasClass}}classValue: classValue,{{end}}
} }
impl := {{.controllerNewImpl|raw}}(rec, logger, defaultQueueName) impl := {{.controllerNewImpl|raw}}(rec, logger, defaultQueueName)
@ -208,6 +209,9 @@ func NewImpl(ctx {{.contextContext|raw}}, r Interface{{if .hasClass}}, classValu
if opts.ConfigStore != nil { if opts.ConfigStore != nil {
rec.configStore = opts.ConfigStore rec.configStore = opts.ConfigStore
} }
if opts.FinalizerName != "" {
rec.finalizerName = opts.FinalizerName
}
} }
return impl return impl

View File

@ -199,6 +199,9 @@ type reconcilerImpl struct {
// reconciler is the implementation of the business logic of the resource. // reconciler is the implementation of the business logic of the resource.
reconciler Interface reconciler Interface
// finalizerName is the name of the finalizer to reconcile.
finalizerName string
{{if .hasClass}} {{if .hasClass}}
// classValue is the resource annotation[{{ .class }}] instance value this reconciler instance filters on. // classValue is the resource annotation[{{ .class }}] instance value this reconciler instance filters on.
classValue string classValue string
@ -270,7 +273,7 @@ func (r *reconcilerImpl) Reconcile(ctx {{.contextContext|raw}}, key string) erro
if {{.apierrsIsNotFound|raw}}(err) { if {{.apierrsIsNotFound|raw}}(err) {
// The resource may no longer exist, in which case we stop processing. // The resource may no longer exist, in which case we stop processing.
logger.Errorf("resource %q no longer exists", key) logger.Debugf("resource %q no longer exists", key)
return nil return nil
} else if err != nil { } else if err != nil {
return err return err
@ -381,10 +384,8 @@ func (r *reconcilerImpl) updateStatus(existing *{{.type|raw}}, desired *{{.type|
var reconcilerFinalizerFactory = ` var reconcilerFinalizerFactory = `
// updateFinalizersFiltered will update the Finalizers of the resource. // updateFinalizersFiltered will update the Finalizers of the resource.
// TODO: this method could be generic and sync all finalizers. For now it only // TODO: this method could be generic and sync all finalizers. For now it only
// updates defaultFinalizerName. // updates defaultFinalizerName or its override.
func (r *reconcilerImpl) updateFinalizersFiltered(ctx {{.contextContext|raw}}, resource *{{.type|raw}}) (*{{.type|raw}}, error) { func (r *reconcilerImpl) updateFinalizersFiltered(ctx {{.contextContext|raw}}, resource *{{.type|raw}}) (*{{.type|raw}}, error) {
finalizerName := defaultFinalizerName
{{if .nonNamespaced}} {{if .nonNamespaced}}
getter := r.Lister getter := r.Lister
{{else}} {{else}}
@ -404,20 +405,20 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx {{.contextContext|raw}}, r
existingFinalizers := {{.setsNewString|raw}}(existing.Finalizers...) existingFinalizers := {{.setsNewString|raw}}(existing.Finalizers...)
desiredFinalizers := {{.setsNewString|raw}}(resource.Finalizers...) desiredFinalizers := {{.setsNewString|raw}}(resource.Finalizers...)
if desiredFinalizers.Has(finalizerName) { if desiredFinalizers.Has(r.finalizerName) {
if existingFinalizers.Has(finalizerName) { if existingFinalizers.Has(r.finalizerName) {
// Nothing to do. // Nothing to do.
return resource, nil return resource, nil
} }
// Add the finalizer. // Add the finalizer.
finalizers = append(existing.Finalizers, finalizerName) finalizers = append(existing.Finalizers, r.finalizerName)
} else { } else {
if !existingFinalizers.Has(finalizerName) { if !existingFinalizers.Has(r.finalizerName) {
// Nothing to do. // Nothing to do.
return resource, nil return resource, nil
} }
// Remove the finalizer. // Remove the finalizer.
existingFinalizers.Delete(finalizerName) existingFinalizers.Delete(r.finalizerName)
finalizers = existingFinalizers.List() finalizers = existingFinalizers.List()
} }
@ -458,12 +459,12 @@ func (r *reconcilerImpl) setFinalizerIfFinalizer(ctx {{.contextContext|raw}}, re
// If this resource is not being deleted, mark the finalizer. // If this resource is not being deleted, mark the finalizer.
if resource.GetDeletionTimestamp().IsZero() { if resource.GetDeletionTimestamp().IsZero() {
finalizers.Insert(defaultFinalizerName) finalizers.Insert(r.finalizerName)
} }
resource.Finalizers = finalizers.List() resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName. // Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource) return r.updateFinalizersFiltered(ctx, resource)
} }
@ -481,16 +482,16 @@ func (r *reconcilerImpl) clearFinalizer(ctx {{.contextContext|raw}}, resource *{
var event *{{.reconcilerReconcilerEvent|raw}} var event *{{.reconcilerReconcilerEvent|raw}}
if reconciler.EventAs(reconcileEvent, &event) { if reconciler.EventAs(reconcileEvent, &event) {
if event.EventType == {{.corev1EventTypeNormal|raw}} { if event.EventType == {{.corev1EventTypeNormal|raw}} {
finalizers.Delete(defaultFinalizerName) finalizers.Delete(r.finalizerName)
} }
} }
} else { } else {
finalizers.Delete(defaultFinalizerName) finalizers.Delete(r.finalizerName)
} }
resource.Finalizers = finalizers.List() resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName. // Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource) return r.updateFinalizersFiltered(ctx, resource)
} }
` `

View File

@ -23,6 +23,10 @@ import "knative.dev/pkg/reconciler"
type Options struct { type Options struct {
// ConfigStore is used to attach the frozen configuration to the context. // ConfigStore is used to attach the frozen configuration to the context.
ConfigStore reconciler.ConfigStore ConfigStore reconciler.ConfigStore
// FinalizerName is the name of the finalizer this reconciler uses. This
// overrides a default finalizer name assigned by the generator if needed.
FinalizerName string
} }
// OptionsFn is a callback method signature that accepts an Impl and returns // OptionsFn is a callback method signature that accepts an Impl and returns

View File

@ -17,6 +17,7 @@ limitations under the License.
package config package config
import ( import (
"encoding/json"
"errors" "errors"
"fmt" "fmt"
"reflect" "reflect"
@ -139,3 +140,43 @@ func NewTracingConfigFromMap(cfgMap map[string]string) (*Config, error) {
func NewTracingConfigFromConfigMap(config *corev1.ConfigMap) (*Config, error) { func NewTracingConfigFromConfigMap(config *corev1.ConfigMap) (*Config, error) {
return NewTracingConfigFromMap(config.Data) return NewTracingConfigFromMap(config.Data)
} }
// JsonToTracingConfig converts a json string of a Config.
// Returns a non-nil Config always and an eventual error.
func JsonToTracingConfig(jsonCfg string) (*Config, error) {
if jsonCfg == "" {
return defaultConfig(), errors.New("empty json tracing config")
}
var configMap map[string]string
if err := json.Unmarshal([]byte(jsonCfg), &configMap); err != nil {
return defaultConfig(), err
}
cfg, err := NewTracingConfigFromMap(configMap)
if err != nil {
return defaultConfig(), nil
}
return cfg, nil
}
// TracingConfigToJson converts a Config to a json string.
func TracingConfigToJson(cfg *Config) (string, error) {
if cfg == nil {
return "", nil
}
out := make(map[string]string, 5)
out[backendKey] = string(cfg.Backend)
if cfg.ZipkinEndpoint != "" {
out[zipkinEndpointKey] = cfg.ZipkinEndpoint
}
if cfg.StackdriverProjectID != "" {
out[stackdriverProjectIDKey] = cfg.StackdriverProjectID
}
out[debugKey] = fmt.Sprint(cfg.Debug)
out[sampleRateKey] = fmt.Sprint(cfg.SampleRate)
jsonCfg, err := json.Marshal(out)
return string(jsonCfg), err
}