Make Deployment reconciliation level-based.#1322
Make Deployment reconciliation level-based.#1322google-prow-robot merged 1 commit intoknative:masterfrom
Conversation
|
/retest |
b1feee8 to
4ec9a0f
Compare
|
/test pull-knative-serving-unit-tests |
4ec9a0f to
8bac873
Compare
|
@josephburnett Note that this moves the experiment flag checks into the functions they were guarding. |
|
/test pull-knative-serving-integration-tests |
|
/hold I suspect this is a real bug, so running conformance against a local deployment now. |
|
Yeah, there's definitely a bug right now: # Configuration status
status:
conditions:
- lastTransitionTime: 2018-06-23T01:04:33Z
status: "True"
type: Ready
latestCreatedRevisionName: service-example-00001
latestReadyRevisionName: service-example-00001
# Revision status
status:
conditions:
- lastTransitionTime: 2018-06-23T01:05:16Z
status: "True"
type: ResourcesAvailable
- lastTransitionTime: 2018-06-23T01:05:16Z
status: "True"
type: ContainerHealthy
- lastTransitionTime: 2018-06-23T01:05:16Z
status: "True"
type: ReadyIf you look at the timestamps, the Configuration sees the Revision become |
|
It's trying to reconcile away the defaults added to the Deployment. I'm wondering if we can call the Deployment defaulter in |
306d383 to
dea2b13
Compare
|
Don't let the test "failure" fool you, the error indicates it's because of an 80% coverage threshold, which is a pretty tight bound given our current standing. This should get us safely north of 80%. |
This starts to push the current `switch` over `ServingState` in the main `Reconcile` method into the methods that reconcile individual resources. As `reconcileFoo` handles the complete reconciliation of the `Revision` `Foo` resource, we will hoist it above the switch until the `{create,delete}K8sResources` methods are empty, at which point we will delete the switch.
dea2b13 to
789ed6f
Compare
|
/test pull-knative-serving-go-coverage |
2 similar comments
|
/test pull-knative-serving-go-coverage |
|
/test pull-knative-serving-go-coverage |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mattmoor, vaikas-google The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/hold cancel Forgot to remove this after fixing things. |
|
The following is the coverage report on pkg/. Say
*TestCoverage feature is being tested, do not rely on any info here yet |
…1328) This is the next phase of our level-based migration of the Revision controller. It includes the K8s Service for the user Deployment. This is patterned in much the same way as the Deployment refactor in #1322. The most notable difference in this change is that we establish readiness from the Endpoints resource instead of the Service resource directly. In addition, I spent a bit of time cleaning up some of the `revision_test.go` code to more automatically update the informers as resources are reconciled. In particular, after `controller.Reconcile` we need to make sure all of the updates to the underlying objects are reflected in our informers, or a subsequent reconcile may act on stale state. To facilitate this, I added a helper that updates the informers with the Revision/Deployment/Service to be used after a `controller.Reconcile`.
This starts to push the current
switchoverServingStatein the mainReconcilemethod into the methods that reconcile individual resources. AsreconcileFoohandles the complete reconciliation of theRevisionFooresource, we will hoist it above the switch until the{create,delete}K8sResourcesmethods are empty, at which point we will delete the switch.This is WIP until the baseline change (#1321) goes in.