Skip to content

Implement verification for route readiness for the runLatest.#2898

Merged
knative-prow-robot merged 12 commits intoknative:masterfrom
vagababov:2430-run-latest
Jan 17, 2019
Merged

Implement verification for route readiness for the runLatest.#2898
knative-prow-robot merged 12 commits intoknative:masterfrom
vagababov:2430-run-latest

Conversation

@vagababov
Copy link
Copy Markdown
Contributor

@vagababov vagababov commented Jan 12, 2019

TL;DR: #2430

Proposed Changes

  • This is the first change to ensure that we mark service as ready only
    when all the subresources have successfully reconciled.
  • In this change runLatest is covered. The service will become ready
    only when config.LatestReadyRevision is the one served by the route.
    When they mismatch the service will transition into the Unknown
    state until route finishes reconciliation.
  • Unit tests are updated and extended for this case
  • Integration tests are hardened to make sure the service transitions
    into ready state before verifying request/responses.
  • Also switch to pointer when passing RouteStatus around, since there's no real reason why it should be copied (I will cleanup others independently).

/lint
/cc dgerd
/cc mattmoor

TL;DR: knative#2430
- This is the first change to ensure that we mark service as ready only
  when all the subresources have successfully reconciled.
- In this change runLatest is covered. The service will become ready
  only when config.LatestReadyRevision is the one served by the route.
  When they mismatch the service will transition into the `Unknown`
  state until route finishes reconciliation.
- Unit tests are updated and extended for this case
- Integration tests are hardened to make sure the service transitions
  into ready state before verifying request/responses.
@vagababov
Copy link
Copy Markdown
Contributor Author

/cc dgerd
/cc mattmoor

@knative-prow-robot knative-prow-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jan 12, 2019
Copy link
Copy Markdown
Contributor

@knative-prow-robot knative-prow-robot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vagababov: 0 warnings.

Details

In response to this:

TL;DR: #2430

Proposed Changes

  • This is the first change to ensure that we mark service as ready only
    when all the subresources have successfully reconciled.
  • In this change runLatest is covered. The service will become ready
    only when config.LatestReadyRevision is the one served by the route.
    When they mismatch the service will transition into the Unknown
    state until route finishes reconciliation.
  • Unit tests are updated and extended for this case
  • Integration tests are hardened to make sure the service transitions
    into ready state before verifying request/responses.

/lint
/cc dgerd
/cc mattmoor

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@vagababov
Copy link
Copy Markdown
Contributor Author

/test pull-knative-serving-go-coverage

@vagababov
Copy link
Copy Markdown
Contributor Author

vagababov commented Jan 12, 2019

/cc @jonjohnsonjr

@vagababov
Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@vagababov
Copy link
Copy Markdown
Contributor Author

/retest

Copy link
Copy Markdown
Contributor

@markusthoemmes markusthoemmes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Left a few comments throughout, only nits though.

Comment thread pkg/reconciler/v1alpha1/service/service.go Outdated
Comment thread pkg/apis/serving/v1alpha1/service_types.go Outdated
Comment thread pkg/reconciler/v1alpha1/service/service.go
@knative-prow-robot knative-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Jan 14, 2019
@knative-prow-robot knative-prow-robot removed the lgtm Indicates that a PR is ready to be merged. label Jan 14, 2019
Copy link
Copy Markdown
Contributor Author

@vagababov vagababov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the comments.

Comment thread pkg/apis/serving/v1alpha1/service_types.go Outdated
Comment thread pkg/reconciler/v1alpha1/service/service.go
@vagababov
Copy link
Copy Markdown
Contributor Author

/test pull-knative-serving-integration-tests

Comment thread pkg/reconciler/v1alpha1/service/service_test.go Outdated
Comment thread pkg/reconciler/v1alpha1/testing/functional.go Outdated
- improve the functional helper name
- removed the confusing comment
- added a test that validates the proper behaviour when gen 2 config
  fails, but gen 1 is happy throughout.
@vagababov
Copy link
Copy Markdown
Contributor Author

/test pull-knative-serving-integration-tests

@dgerd
Copy link
Copy Markdown

dgerd commented Jan 14, 2019

/lgtm

New test and changes lgtm

@knative-prow-robot knative-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Jan 14, 2019
@vagababov
Copy link
Copy Markdown
Contributor Author

/assign vaikas-google

@markusthoemmes
Copy link
Copy Markdown
Contributor

/lgtm

@vaikas
Copy link
Copy Markdown
Contributor

vaikas commented Jan 17, 2019

/lgtm
/approve

@knative-prow-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: vagababov, vaikas-google

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow-robot knative-prow-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 17, 2019
@vagababov
Copy link
Copy Markdown
Contributor Author

/retest

@knative-prow-robot knative-prow-robot removed the lgtm Indicates that a PR is ready to be merged. label Jan 17, 2019
@vagababov
Copy link
Copy Markdown
Contributor Author

Interface changed... have to merge and retest.

Comment thread pkg/apis/serving/v1alpha1/service_types.go Outdated
Comment thread pkg/reconciler/v1alpha1/service/service.go Outdated
- reason is a single word
- move the validation from callback to the postprocessing.
@vagababov
Copy link
Copy Markdown
Contributor Author

PTAL.

Comment thread pkg/apis/serving/v1alpha1/service_types_test.go Outdated
Comment thread pkg/reconciler/v1alpha1/service/service.go
Dan Gerdesmeier and others added 2 commits January 17, 2019 13:29
Co-Authored-By: vagababov <vagababov@users.noreply.github.com>
@knative-metrics-robot
Copy link
Copy Markdown

The following is the coverage report on pkg/.
Say /test pull-knative-serving-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/reconciler/v1alpha1/service/service.go 91.3% 91.7% 0.4

@dgerd
Copy link
Copy Markdown

dgerd commented Jan 17, 2019

/lgtm

@knative-prow-robot knative-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Jan 17, 2019
@knative-prow-robot knative-prow-robot merged commit e9fe7dd into knative:master Jan 17, 2019
@vagababov vagababov deleted the 2430-run-latest branch January 24, 2019 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants