Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: upgrade & downgrade tests #2388

Merged
merged 56 commits into from
May 20, 2020

Conversation

cardil
Copy link
Contributor

@cardil cardil commented Jan 15, 2020

Fixes #2271

Proposed Changes

  • Adding upgrade & downgrade tests with a prober that can be used in e2e tests and in operator e2e tests
  • Tests can run with serving component, but it's not required

For more verbose description see: test/upgrade/README.md in changed files.

Release Note

NONE

@knative-prow-robot knative-prow-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. area/test-and-release Test infrastructure, tests or release needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 15, 2020
@knative-prow-robot
Copy link
Contributor

Hi @cardil. Thanks for your PR.

I'm waiting for a knative member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@cardil cardil changed the title Feature/upgrade tests Feature: upgrade & downgrade tests Jan 15, 2020
@googlebot googlebot added the cla: yes Indicates the PR's author has signed the CLA. label Jan 15, 2020
@matzew
Copy link
Member

matzew commented Jan 15, 2020

/ok-to-test

@knative-prow-robot knative-prow-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 15, 2020
@chizhg
Copy link
Member

chizhg commented Jan 15, 2020

/uncc @yt3liu

@cardil
Copy link
Contributor Author

cardil commented May 18, 2020

/retest

@cardil
Copy link
Contributor Author

cardil commented May 19, 2020

Hey @vaikas @n3wscott @chizhg @mgencur. This PR is ready for final review. I think I've been able to put all the findings from WG meeting on April, 23.

What is interesting is that after I rebase the code to use master tests starts to report that the events are propagated twice after the upgrade. 😲

spec:
containers:
- name: wathola-receiver
image: ko://knative.dev/eventing/test/test_images/wathola-receiver
Copy link
Contributor

Choose a reason for hiding this comment

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

thanks!!

@@ -0,0 +1,83 @@
# Upgrade Tests
Copy link
Contributor

Choose a reason for hiding this comment

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

omg thanks for this documentation.

@n3wscott
Copy link
Contributor

Thank you so much for the hard work, I think this is great and we can start with this and as we ramp up the knative-wide testing repo, this test will play a key role.

/lgtm

Ville to approve

@knative-prow-robot knative-prow-robot added the lgtm Indicates that a PR is ready to be merged. label May 19, 2020
Copy link
Contributor

@vaikas vaikas 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 doing this!!!

@@ -0,0 +1,6 @@
# logLevel = 5 # DEBUG(5)
[sender]
address = 'http://default-broker.{{- .Namespace -}}.svc.cluster.local'
Copy link
Contributor

Choose a reason for hiding this comment

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

This will only work for soon to be removed ChannelBasedBroker. Can you file an issue to actually fetch the URL from the Broker.Status instead of hardcoding it?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ACK

| | | | |
+--------+ +---------+ |
(default) +----------+
```
Copy link
Contributor

Choose a reason for hiding this comment

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

This documentation is great, I'd like to see a section on what the output is, where to look for debug hints, look like you dump a bunch of logs, etc. For example you report that there are double events, my first knee jerk reaction is, are there for example double-subscriptions being created somehow. Not quite sure how I'd go about figuring it out. Please create an issue to follow up so we don't have to hold / rebase, etc.

Copy link
Contributor

Choose a reason for hiding this comment

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

In the e2e tests we dump the objects / k8s events on test failures so something like that would be nice. But again, fine as a followup.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Now, we are not failing even that we found errors. If we switch https://github.com/cardil/eventing/blob/feature/upgrade-tests/test/upgrade/probe_test.go#L55 then we will have default fail dump after this test. Maybe that is sufficient?

Copy link
Contributor

@mgencur mgencur May 20, 2020

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yup. I've removed the source branch, sorry. But, now it's merged it's on master: https://github.com/knative/eventing/blob/master/test/upgrade/probe_test.go#L55

@vaikas
Copy link
Contributor

vaikas commented May 19, 2020

/approve

@knative-prow-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cardil, vaikas

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

The pull request process is described here

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 May 19, 2020
@vaikas
Copy link
Contributor

vaikas commented May 19, 2020

Node exporter image pulloff failure? Odd... Other two came up just fine...

Waiting until all pods in namespace knative-monitoring are up......................................................................................................................................................
ERROR: timeout waiting for pods to come up
elasticsearch-logging-0               1/1   Running            0     5m21s
elasticsearch-logging-1               1/1   Running            0     3m36s
fluentd-ds-2hvrw                      1/1   Running            0     5m21s
fluentd-ds-7m2pj                      1/1   Running            0     5m21s
fluentd-ds-jlf82                      1/1   Running            0     5m21s
grafana-79b645d9c7-zttnb              1/1   Running            0     5m20s
kibana-logging-b5d75f556-df6n6        1/1   Running            0     5m21s
kube-state-metrics-5cb5c6986b-fx5md   1/1   Running            0     5m21s
node-exporter-9k29p                   2/2   Running            0     5m20s
node-exporter-ps75k                   1/2   ImagePullBackOff   0     5m20s
node-exporter-x7tsj                   2/2   Running            0     5m20s
prometheus-system-0                   1/1   Running            0     5m19s
prometheus-system-1                   1/1   Running            0     5m19s

@vaikas
Copy link
Contributor

vaikas commented May 19, 2020

/test pull-knative-eventing-integration-tests

1 similar comment
@vaikas
Copy link
Contributor

vaikas commented May 19, 2020

/test pull-knative-eventing-integration-tests

@grantr
Copy link
Contributor

grantr commented May 19, 2020

kube-state-metrics-b6bcff8f4-f2cxj 0/1 ImagePullBackOff 0 5m18s

Might be a quay outage issue?

@cardil
Copy link
Contributor Author

cardil commented May 20, 2020

Quay is now up. Retesting.

/test pull-knative-eventing-integration-tests

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. area/test-and-release Test infrastructure, tests or release cla: yes Indicates the PR's author has signed the CLA. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade tests for knative eventing