Skip to content

Rabbitmq integration tests.#5757

Merged
Pothulapati merged 32 commits intolinkerd:mainfrom
NetApp:barkardk/rabbitmq-test
Mar 15, 2021
Merged

Rabbitmq integration tests.#5757
Pothulapati merged 32 commits intolinkerd:mainfrom
NetApp:barkardk/rabbitmq-test

Conversation

@barkardk
Copy link
Contributor

@barkardk barkardk commented Feb 16, 2021

Subject
Add integration tests for external resources
Problem
linkerd changes sometimes causes regressions on external components that users have installed in their stacks such as rabbitmq.
Solution
New integration test, adds functionality to install additional components and run basic test on them to make sure linkerd changes do not have an adverse effect
This change will include the following steps
Deploy a rabbitmq server
Deploy a rabbitmq client, the code for that client is hosted at https://github.com/barkardk/integration
Use a golden file for output verification
Uses the test suite to inject linkerd into the deployments
Client then creates a queue, a message and consumes said message and sends a log output.
The linkerd testutil compares the output from the client with a golden file

Fixes #5605

Signed-off-by: Kristin Barkardottir kristin.barkardottir@netapp.com

Copy link
Member

@adleong adleong left a comment

Choose a reason for hiding this comment

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

Thanks, @barkardk! This looks like the right approach to me! I'll do some more testing with this later.

I don't think we need to add an --external-resources flag to control this test. It seems safe enough to just always run this test as part of our regular integration suite.

Copy link

@skeggi skeggi left a comment

Choose a reason for hiding this comment

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

Nice and clean, so far.

(Sorry this was supposed to be a comment only, not approval. However it seems that I do not have rights to revoke. But as this is a draft only it should not matter)

Pothulapati and others added 15 commits February 17, 2021 15:53
Fixes #5712

Currently, We don't provide any information w.r.t extensions
when `linkerd uninstall` is ran and extensions are present.

This PR updates the install command to display a error message
asking to uninstall the existing extensions before uninstalling
the core control-plane.

Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Before the upcoming stable release, we should update our base images to
use the most recent Debian images to pick up any security fixes that may
have been addressed.

This change updates all o four debian images to use the
`buster-20210208-slim` tag.

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
The Go-1.14 release branch includes a number of important updates. This
change updates our containers' base image to the latest release, 1.14.15

See linkerd/linkerd2-proxy-init#32
Fixes #5655

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Our GitHub Actions depend on ubuntu-18.04, which is nearly 3 years old.

This change updates our actions to depend on the latest OS version
supported by GitHub, ubuntu-20.04 (Focal Fossa).

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
* tests: add exnternal-prometheus integration test

Fixes #5659

Though most control-plane components dont differntiate on default
vs external prometheus, There have been issues w.r.t CLI and external
prometheus i.e check, etc.

This PR adds a e2e deep integration tests w.r.t external pronmetheus
thereby running viz and non-viz cmds integration tests on a linkerd-viz
ewith external prometheus instance

Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
  Deploys a rabbitmq server
  Deploys a rabbitmq client, the code for that client is hosted at
https://github.com/barkardk/integration
  Use a golden file for output verification
  Add a new external-resources flag so to be able to easily add more
test in the future but also run preserve backwards compatability
  The testsuite injects linkerd into the deploments and then the client
creates a queue and a messagage and sends a l
og output.
  The linkerd testutil compares the output with a golden file

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
…ources via name flag. Include the new tests in the default runs

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
…loyments

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
It appears that today the full-sha requirement on github actions is started to get enforced, and we had missed just one, for devblackops/github-action-psscriptanalyzer.

* Required for CI to pass *

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Fixes #5616  

Changed control-plane templates i.e controller, identity, destination, proxy-injector and sp-validator to add 443 to skip ports if not present. This prevents failing of linkerd installation when 443 is not present in ignoreOutboundPorts.

Signed-off-by: Jimil Desai <jimildesai42@gmail.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Fixes #5755 follow-up to #5750 and #5751

- Unifies the Go version across Docker and CI to be 1.14.15;
- Updates the GitHub Actions base image from ubuntu-18.04 to ubuntu-20.04; and
- Updates the runtime base image from debian:buster-20201117-slim to debian:buster-20210208-slim.

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
@barkardk barkardk marked this pull request as ready for review February 17, 2021 16:55
@barkardk barkardk requested a review from a team as a code owner February 17, 2021 16:55
@Pothulapati
Copy link
Contributor

@barkardk Hey, Thanks for taking this up.

Can you resolve the current merge conflicts? :)

Kristin Barkardottir added 2 commits February 19, 2021 11:38
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
@barkardk
Copy link
Contributor Author

@Pothulapati done

Copy link
Member

@adleong adleong left a comment

Choose a reason for hiding this comment

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

This is great!!!

I'd recommend using a fixed tag instead of latest in ghcr.io/barkardk/rabbitmq-client:latest so that an update to this docker image doesn't unexpectedly change or break this test. Other than that, I think this is good to go.

Kristin Barkardottir added 4 commits February 22, 2021 17:51
… stability

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
@barkardk
Copy link
Contributor Author

@adleong I have set both rabbitmq server and the client to use fixed tagged versions.
The rabbitmq-client repository also has a build pipeline that releases new stable versions via tags to protect the images

Copy link
Contributor

@Pothulapati Pothulapati left a comment

Choose a reason for hiding this comment

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

Looks good overall, except for the below nits :)

Kris Barkar added 3 commits February 25, 2021 09:29
@kleimkuhler
Copy link
Contributor

@barkardk We have an issue open about pods have restart counts, so I don't think the CI failures are related to your change. Once we get that solved, we'll leave a comment here and they should start passing again.

@kleimkuhler
Copy link
Contributor

@barkardk If you merge in the latest main, it should pick up the fix causing CI to fail right now.

@barkardk
Copy link
Contributor Author

@kleimkuhler I seem to still have the same issue after merge

@barkardk
Copy link
Contributor Author

barkardk commented Mar 1, 2021

@kleimkuhler I still see various timeouts in the checks

@kleimkuhler
Copy link
Contributor

@barkardk Hm yea sorry about this. This is happening for a few other PRs as well. We'll see what's going on and keep you updated; hopefully you'll be able to merge in a fix later today.

@barkardk
Copy link
Contributor Author

barkardk commented Mar 4, 2021

@Pothulapati are you good with the changes ?

@Pothulapati
Copy link
Contributor

@barkardk Can you also add the external-resources integration test to release and integration workflows in CI sot that they can be ran automatically?

@barkardk
Copy link
Contributor Author

barkardk commented Mar 5, 2021

@Pothulapati as per suggestion from @adleong these tests are part of the default suite , they do not need to be enabled specifically.
https://github.com/linkerd/linkerd2/blob/7c574d3cad05f11e2fad1c5aaf8be24dfc38c679/bin/_test-helpers.sh#L10-L11

@Pothulapati
Copy link
Contributor

@barkardk The link you specified seems to be broken.

Also, Adding to the default suite, does not actually enable them in CI. As you can see in the workflows, we list and run them individually, Once you update this both in the integration_tests.yml and release.yml, You should be able to see the integration test in this PR's Github Action checks :)

Kristin Barkardottir added 2 commits March 8, 2021 12:40
Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
@barkardk
Copy link
Contributor Author

barkardk commented Mar 8, 2021

@Pothulapati alright. I have added the new test to integration_tests.yml and release.yml

Copy link
Contributor

@Pothulapati Pothulapati left a comment

Choose a reason for hiding this comment

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

LGTM, Thanks for taking this up.

@Pothulapati Pothulapati merged commit f3504a1 into linkerd:main Mar 15, 2021
@Pothulapati
Copy link
Contributor

Just merged this.

Sorry for not merging it right after it was approved. We were waiting for 2.10 to be released. So, As to make sure there is no flakiness.

jijeesh pushed a commit to jijeesh/linkerd2 that referenced this pull request Mar 23, 2021
Add integration tests for external resources

linkerd changes sometimes causes regressions on external components that users have installed in their stacks such as rabbitmq.

This PR adds a new integration test, adds functionality to install additional components and run basic test on them to make sure linkerd changes do not have an adverse effect w.r.t RabbitMq.

This change will include the following steps
- Deploy a rabbitmq server
- Deploy a rabbitmq client, the code for that client is hosted at https://github.com/barkardk/integration
- Use a golden file for output verification
- Uses the test suite to inject linkerd into the deployments
- Client then creates a queue, a message and consumes said message and sends a log output.

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Jijeesh <jijeesh.ka@gmail.com>
jijeesh pushed a commit to jijeesh/linkerd2 that referenced this pull request Apr 21, 2021
Add integration tests for external resources

linkerd changes sometimes causes regressions on external components that users have installed in their stacks such as rabbitmq.

This PR adds a new integration test, adds functionality to install additional components and run basic test on them to make sure linkerd changes do not have an adverse effect w.r.t RabbitMq.

This change will include the following steps
- Deploy a rabbitmq server
- Deploy a rabbitmq client, the code for that client is hosted at https://github.com/barkardk/integration
- Use a golden file for output verification
- Uses the test suite to inject linkerd into the deployments
- Client then creates a queue, a message and consumes said message and sends a log output.

Signed-off-by: Kristin Barkardottir <kristin.barkardottir@netapp.com>
Signed-off-by: Jijeesh <jijeesh.ka@gmail.com>
kleimkuhler pushed a commit that referenced this pull request May 12, 2021
Add integration tests for external resources

linkerd changes sometimes causes regressions on external components that users have installed in their stacks such as rabbitmq.

This PR adds a new integration test, adds functionality to install additional components and run basic test on them to make sure linkerd changes do not have an adverse effect w.r.t RabbitMq.

This change will include the following steps
- Deploy a rabbitmq server
- Deploy a rabbitmq client, the code for that client is hosted at https://github.com/barkardk/integration
- Use a golden file for output verification
- Uses the test suite to inject linkerd into the deployments
- Client then creates a queue, a message and consumes said message and sends a log output.

Signed-off-by: Kris Barkar <kristin.barkardottir@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

latest edge-21.1.3 breaks tcp mTLS in RabbitMQ

8 participants