Commit Graph

35 Commits

Author SHA1 Message Date
Yanwei Guo 50386ad396
Generate Informer injection for coordination/v1 (#1636) 2020-08-20 11:12:14 -07:00
Matt Moore 3a98b0671c
Have codegen log status diffs at debug level (#1598)
Fixes: https://github.com/knative/pkg/issues/1597
2020-08-08 11:49:29 -07:00
runzexia 47e34f1f4e
use const when gen reconciler (#1568)
* use const when gen reconciler

* move to reconciler common

Signed-off-by: RyderXia <ryder.xia@sap.com>

* update

Signed-off-by: RyderXia <ryder.xia@sap.com>
2020-07-29 14:45:59 -07:00
Scott Nichols ae9c3f7fa8
Refactor the genreconciler code to pull state out (#1544)
* Refactor the genreconciler code to pull state out

* don't generate the stubs

* fix indent
2020-07-22 23:02:57 -07:00
Ignacio (Nacho) Cano 096656a2d4
generating reconciler for deploymnets (#1502) 2020-07-15 17:45:33 -07:00
Ignacio (Nacho) Cano 27fe4e1910
Promoting Binding to v1beta1 (#1483)
* binding to v1beta1

* improving coverage
2020-07-14 08:34:19 -07:00
Scott Nichols f397d1a271
Propagate SkipStatusUpdates to reconciler from NewReconciler (#1466) 2020-07-01 22:59:42 -07:00
Weston Haught cd84a3ec16
Update generated reconciler code with a switch (#1457)
* Update generated reconciler code with a switch

* flip

* update-codegen

* dont want to warn on equal
2020-07-01 21:31:41 -07:00
Markus Thömmes a92c682188
Add an option to skip automated status updates in a reconciler. (#1456)
* Add an option to skip automated status updates in a reconciler.

This option is necessary to be able to create reconcilers like Serving's labeler, that is purely adding labels to resources. If that fails, the new automated observed generation handling changes the status and that gets written to the API currently, which is not desired.

* Flip the bool.
2020-06-30 08:02:29 -07:00
Matt Moore 5e60b6f863
Implement the fourth wave of per-reconciler leaderelection. (#1304)
With this, all downstream `// +genreconciler` reconcilers will become leader-aware and expose a model for the typed reconcilers they wrap to themselves become leader-aware.

Detailed design: https://docs.google.com/document/d/1i_QHjQO2T3SNv49xjZLWlivcc0UvZN1Tbw2NKxThkyM/edit#
Issue: https://github.com/knative/pkg/issues/1181
2020-06-21 18:58:26 -07:00
Dave Protasowski caa444033b
use crd & webhook v1 APIs (#1391) 2020-06-19 08:43:25 -07:00
Markus Thömmes c365f7d338
Abort reconcilation on finalizer patch errors. (#1423)
* Abort reconcilation on finalizer patch errors.

This aborts reconcilation if finalizers could not be patched correctly with an error and thus it retries.

We shouldn't start a reconcilation if we haven't been able to correctly add the finalizer first. Otherwise we could get into a weird spot where the resources are created before the finalizer and in a very degenerate case the finalizer wouldn't even be executed. Also, the current code has a bug where if the patch fails the resource coming back from the patch (essentially an empty object) is passed into ReconcileKind, causing headaches.

The same imo goes for removing a finalizer. Failing to remove a finalizer blocks the resource forever, thus we should retry if that happens too.

* Add generated code.
2020-06-19 08:26:25 -07:00
Matt Moore 39a1f43fc0
[master] Auto-update dependencies (#1390)
Produced via:
  `./hack/update-deps.sh --upgrade && ./hack/update-codegen.sh`
/assign n3wscott vagababov
/cc n3wscott vagababov
2020-06-08 08:55:20 -07:00
Matt Moore a468cb8569
[master] Auto-update dependencies (#1321)
Produced via:
  `./hack/update-deps.sh --upgrade && ./hack/update-codegen.sh`
/assign n3wscott vagababov
/cc n3wscott vagababov
2020-05-11 09:08:47 -07:00
Ian Milligan c0dd593d3f
Ensure that all needed imports are tracked in reconciler generator (#1308) 2020-05-07 07:07:45 -07:00
Matt Moore 3da93ebb24
Properly set hasClass (#1296)
This was changed in #1277
2020-05-05 12:10:44 -07:00
Matt Moore d0328aa36b
Generate unique workqueue names. (#1255)
This changes the names we give workqueues in genreconciler to avoid collisions when multiple reconcilers in a single process use the same generated reconciler base.

There are a few examples of this in serving, both route and configuration have collisions.  Right now I think this mainly affects metrics published by the workqueues, but I noticed this leveraging the same for resource lock naming.
2020-04-28 07:44:52 -07:00
Matt Moore 412c27930a
[master] Auto-update dependencies (#1243)
Produced via:
  `./hack/update-deps.sh --upgrade && ./hack/update-codegen.sh`
/assign n3wscott vagababov
/cc n3wscott vagababov
2020-04-24 10:32:50 -07:00
Markus Thömmes 7fbf4b0edc
Add finalizer option and default to test code too. (#1238) 2020-04-23 10:02:31 -07:00
Markus Thömmes 6103dd9b71
Add a controller option to specify a custom finalizer name. (#1230) 2020-04-22 14:55:40 -07:00
Markus Thömmes 5036c917e5
Drop 'no longer exist' line to DEBUG. (#1234) 2020-04-22 07:34:40 -07:00
Scott Nichols 8a6d25b309
Generate reconcilers for resources out of tree. (#1175)
* genreconciler:nonNamespaced

* Adding a force-kinds flag to the reconciler generator to allow us to generate reconcilers for non-owned types.

* force-kinds --> force-genreconciler-kinds

* some minor nits with the generators for non-knative types needed to be removed.

* remove whitespace

Co-authored-by: Nacho Cano <nachoacano@gmail.com>
2020-03-25 11:34:51 -07:00
Scott Nichols 3a272190c3
Found missing forced packages in injection gen. (#1116)
* ctx

* runtime.object

* update codegen
2020-02-21 13:42:07 -08:00
Scott Nichols d9a38f13e8
Nil check conditions (#1112)
* Realized a corner case on ordering and False > Unknown states.

* add test with unknown fall through.

* I guess some integartions allow nil happy

* add unit tests for GetMessage and GetReason

* all conditons can be nil.

* Search for unhappy dependents.

* update codegen

* Remove KResource from v1alpha1 ducks.
2020-02-20 11:20:06 -08:00
Scott Nichols 298f22bea6 update boilerplate to use 2020 (#979) 2020-01-07 16:04:51 -08:00
Matt Moore 7fbd5952bb Auto-update dependencies (#908)
Produced via:
  `dep ensure -update knative.dev/test-infra`
/assign n3wscott
2019-11-27 07:54:22 -08:00
Slavomir Kaslev ddf3968b65 Migrate pkg to istio.io/client-go apis (#882)
* Add istio api packages from istio.io/api and istio.io/client-go

* Codegen istio client for apis from istio.io/client-go

* Remove our istio apis
2019-11-26 11:41:21 -08:00
Matt Moore b75a4bf672 This adds a duck type representing the common shape for Bindings. (#898)
For more information, see [here](https://docs.google.com/document/d/1t5WVrj2KQZ2u5s0LvIUtfHnSonBv5Vcv8Gl2k5NXrCQ/edit?ts=5dce0223#heading=h.lnql658xmg9p).
2019-11-25 13:10:21 -08:00
Matt Moore 43ca049cdb Reduce the boilerplate for setting up duck.InformerFactory's. (#896)
This augments the injection codegen with the capability to produce a duck.InformerFactory
attached to context for each type that we process.

Now a `duck.InformerFactory` for "Addressable" can be produced by "Get"ing it from the context.

This is triggered by placing `// +genduck` on the type that implements `duck.Implementable`.
2019-11-25 09:57:10 -08:00
Matt Moore 3588ed3e5c Add admissionregistration to our injection codegen (#813) 2019-10-26 12:44:35 -07:00
Dave Protasowski 528ad1c1dd Generate K8s Injection Code (#640)
* update codegen so the fatal error messages are more informative

String representation of an untyped nil is 'nil' so the Fatal messages weren't useful

* generate k8s injection code

* generate apiextensions injection code

* use Fatal & move output paths

* switch from Fatal to Panic

* injection creates a single factory
2019-09-09 12:52:11 -07:00
mattmoor-sockpuppet 318a2a2daf Auto-update dependencies (#628)
Produced via:
  `dep ensure -update knative.dev/test-infra`
/assign mattmoor
2019-09-03 12:07:01 -07:00
Matt Moore 222dd25986 Migrate pkg to use the knative.dev/pkg import path (#489)
* Manual changes.

* scripted changes.
2019-06-26 13:02:06 -07:00
Matt Moore 4d86f3ad6f Access a logger and Fatalf when Get would return nil. (#439) 2019-06-05 09:06:38 -07:00
Matt Moore 35bb0fc83b Add code-generation for the various injection stubs. (#438)
This is largely based on work by @n3wscott
2019-06-05 08:50:38 -07:00