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

View File

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

View File

@ -81,6 +81,9 @@ type reconcilerImpl struct {
// reconciler is the implementation of the business logic of the resource.
reconciler Interface
// finalizerName is the name of the finalizer to reconcile.
finalizerName string
}
// 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) {
// 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
} else if err != nil {
return err
@ -231,9 +234,8 @@ func (r *reconcilerImpl) updateStatus(existing *v1beta1.CustomResourceDefinition
// updateFinalizersFiltered will update the Finalizers of the resource.
// 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) {
finalizerName := defaultFinalizerName
getter := r.Lister
@ -251,20 +253,20 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource
existingFinalizers := sets.NewString(existing.Finalizers...)
desiredFinalizers := sets.NewString(resource.Finalizers...)
if desiredFinalizers.Has(finalizerName) {
if existingFinalizers.Has(finalizerName) {
if desiredFinalizers.Has(r.finalizerName) {
if existingFinalizers.Has(r.finalizerName) {
// Nothing to do.
return resource, nil
}
// Add the finalizer.
finalizers = append(existing.Finalizers, finalizerName)
finalizers = append(existing.Finalizers, r.finalizerName)
} else {
if !existingFinalizers.Has(finalizerName) {
if !existingFinalizers.Has(r.finalizerName) {
// Nothing to do.
return resource, nil
}
// Remove the finalizer.
existingFinalizers.Delete(finalizerName)
existingFinalizers.Delete(r.finalizerName)
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 resource.GetDeletionTimestamp().IsZero() {
finalizers.Insert(defaultFinalizerName)
finalizers.Insert(r.finalizerName)
}
resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName.
// Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource)
}
@ -325,15 +327,15 @@ func (r *reconcilerImpl) clearFinalizer(ctx context.Context, resource *v1beta1.C
var event *reconciler.ReconcilerEvent
if reconciler.EventAs(reconcileEvent, &event) {
if event.EventType == v1.EventTypeNormal {
finalizers.Delete(defaultFinalizerName)
finalizers.Delete(r.finalizerName)
}
}
} else {
finalizers.Delete(defaultFinalizerName)
finalizers.Delete(r.finalizerName)
}
resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName.
// Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource)
}

View File

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

View File

@ -80,6 +80,9 @@ type reconcilerImpl struct {
// reconciler is the implementation of the business logic of the resource.
reconciler Interface
// finalizerName is the name of the finalizer to reconcile.
finalizerName string
}
// 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) {
// 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
} else if err != nil {
return err
@ -230,9 +233,8 @@ func (r *reconcilerImpl) updateStatus(existing *v1.Namespace, desired *v1.Namesp
// updateFinalizersFiltered will update the Finalizers of the resource.
// 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) {
finalizerName := defaultFinalizerName
getter := r.Lister
@ -250,20 +252,20 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource
existingFinalizers := sets.NewString(existing.Finalizers...)
desiredFinalizers := sets.NewString(resource.Finalizers...)
if desiredFinalizers.Has(finalizerName) {
if existingFinalizers.Has(finalizerName) {
if desiredFinalizers.Has(r.finalizerName) {
if existingFinalizers.Has(r.finalizerName) {
// Nothing to do.
return resource, nil
}
// Add the finalizer.
finalizers = append(existing.Finalizers, finalizerName)
finalizers = append(existing.Finalizers, r.finalizerName)
} else {
if !existingFinalizers.Has(finalizerName) {
if !existingFinalizers.Has(r.finalizerName) {
// Nothing to do.
return resource, nil
}
// Remove the finalizer.
existingFinalizers.Delete(finalizerName)
existingFinalizers.Delete(r.finalizerName)
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 resource.GetDeletionTimestamp().IsZero() {
finalizers.Insert(defaultFinalizerName)
finalizers.Insert(r.finalizerName)
}
resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName.
// Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource)
}
@ -324,15 +326,15 @@ func (r *reconcilerImpl) clearFinalizer(ctx context.Context, resource *v1.Namesp
var event *reconciler.ReconcilerEvent
if reconciler.EventAs(reconcileEvent, &event) {
if event.EventType == v1.EventTypeNormal {
finalizers.Delete(defaultFinalizerName)
finalizers.Delete(r.finalizerName)
}
}
} else {
finalizers.Delete(defaultFinalizerName)
finalizers.Delete(r.finalizerName)
}
resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName.
// Synchronize the finalizers filtered by r.finalizerName.
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(),
Recorder: recorder,
reconciler: r,
finalizerName: defaultFinalizerName,
{{if .hasClass}}classValue: classValue,{{end}}
}
impl := {{.controllerNewImpl|raw}}(rec, logger, defaultQueueName)
@ -208,6 +209,9 @@ func NewImpl(ctx {{.contextContext|raw}}, r Interface{{if .hasClass}}, classValu
if opts.ConfigStore != nil {
rec.configStore = opts.ConfigStore
}
if opts.FinalizerName != "" {
rec.finalizerName = opts.FinalizerName
}
}
return impl

View File

@ -199,6 +199,9 @@ type reconcilerImpl struct {
// reconciler is the implementation of the business logic of the resource.
reconciler Interface
// finalizerName is the name of the finalizer to reconcile.
finalizerName string
{{if .hasClass}}
// classValue is the resource annotation[{{ .class }}] instance value this reconciler instance filters on.
classValue string
@ -270,7 +273,7 @@ func (r *reconcilerImpl) Reconcile(ctx {{.contextContext|raw}}, key string) erro
if {{.apierrsIsNotFound|raw}}(err) {
// 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
} else if err != nil {
return err
@ -381,10 +384,8 @@ func (r *reconcilerImpl) updateStatus(existing *{{.type|raw}}, desired *{{.type|
var reconcilerFinalizerFactory = `
// updateFinalizersFiltered will update the Finalizers of the resource.
// 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) {
finalizerName := defaultFinalizerName
{{if .nonNamespaced}}
getter := r.Lister
{{else}}
@ -404,20 +405,20 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx {{.contextContext|raw}}, r
existingFinalizers := {{.setsNewString|raw}}(existing.Finalizers...)
desiredFinalizers := {{.setsNewString|raw}}(resource.Finalizers...)
if desiredFinalizers.Has(finalizerName) {
if existingFinalizers.Has(finalizerName) {
if desiredFinalizers.Has(r.finalizerName) {
if existingFinalizers.Has(r.finalizerName) {
// Nothing to do.
return resource, nil
}
// Add the finalizer.
finalizers = append(existing.Finalizers, finalizerName)
finalizers = append(existing.Finalizers, r.finalizerName)
} else {
if !existingFinalizers.Has(finalizerName) {
if !existingFinalizers.Has(r.finalizerName) {
// Nothing to do.
return resource, nil
}
// Remove the finalizer.
existingFinalizers.Delete(finalizerName)
existingFinalizers.Delete(r.finalizerName)
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 resource.GetDeletionTimestamp().IsZero() {
finalizers.Insert(defaultFinalizerName)
finalizers.Insert(r.finalizerName)
}
resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName.
// Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource)
}
@ -481,16 +482,16 @@ func (r *reconcilerImpl) clearFinalizer(ctx {{.contextContext|raw}}, resource *{
var event *{{.reconcilerReconcilerEvent|raw}}
if reconciler.EventAs(reconcileEvent, &event) {
if event.EventType == {{.corev1EventTypeNormal|raw}} {
finalizers.Delete(defaultFinalizerName)
finalizers.Delete(r.finalizerName)
}
}
} else {
finalizers.Delete(defaultFinalizerName)
finalizers.Delete(r.finalizerName)
}
resource.Finalizers = finalizers.List()
// Synchronize the finalizers filtered by defaultFinalizerName.
// Synchronize the finalizers filtered by r.finalizerName.
return r.updateFinalizersFiltered(ctx, resource)
}
`

View File

@ -23,6 +23,10 @@ import "knative.dev/pkg/reconciler"
type Options struct {
// ConfigStore is used to attach the frozen configuration to the context.
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

View File

@ -17,6 +17,7 @@ limitations under the License.
package config
import (
"encoding/json"
"errors"
"fmt"
"reflect"
@ -139,3 +140,43 @@ func NewTracingConfigFromMap(cfgMap map[string]string) (*Config, error) {
func NewTracingConfigFromConfigMap(config *corev1.ConfigMap) (*Config, error) {
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
}