-
Notifications
You must be signed in to change notification settings - Fork 593
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
tests: ducktape redpanda service for cloud #10521
tests: ducktape redpanda service for cloud #10521
Conversation
3d33ba4
to
c937072
Compare
47c8093
to
c85fd8f
Compare
c85fd8f
to
7afea65
Compare
7afea65
to
9e2e493
Compare
bd2f7d4
to
9feac11
Compare
9feac11
to
3d4d3c4
Compare
e1174ff
to
7310557
Compare
d64235b
to
14eab79
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm pending green checkmarks. I assume this has been tested manually against actual RP cloud clusters?
@@ -3346,6 +3687,9 @@ def validate_controller_log(self): | |||
) | |||
|
|||
|
|||
def make_redpanda_service(environment): | |||
def make_redpanda_service(context, num_brokers, **kwargs): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this function be invoked from all existing tests? I wonder if there's a way to inject this factory as part of the invocation to the parent class. Though that would be kind of hacky
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i was initially being conservative in this PR by just using the factory function in CloudSelfTest
, but i'll change it to replace everywhere. i counted 17 files that get changed which is not crazy and the commit is a simple replace.
i think the factory function fits in well here since its signature is the same as the constructor of RedpandaService
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i meant to choose request changes
in the previous review
yes, snippet of local workstation run output copied to description of this PR. |
0d1c249
to
2d38d6e
Compare
2d38d6e
to
081caab
Compare
081caab
to
0e8a31d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, assuming green checks
all tests from unrelated failures from
|
Fixes https://github.com/redpanda-data/cloudv2/issues/5893, Fixes #10346, Fixes https://github.com/redpanda-data/devprod/issues/670
This PR adds a new
ducktape
classRedpandaServiceCloud
which enables tests to run against redpanda cloud. The new class uses inner classRedpandaServiceCloud.CloudCluster
to connect with the redpanda cloud swagger API to provision and delete clusters. There are some hard-coded values passed to the swagger API that will need to be cleaned up in a future PR because the swagger API is v0.1.0.Client ID and secrets from redpanda cloud UI are needed to connect to the api. Set these settings in
ducktape --globals
for the new classes to work:A simple test class
CloudSelfTest
SimpleSelfTest
is created intests/rptest/tests/services_self_test.py
to run a few operations that connect to the k8s pods of redpanda cloud. The creation and deletion of a cluster will take over 30 min so you need to bump the test runner timeout:To skip creation and deletion of a cluster, you can set these additional
ducktape --globals
values:Output of a
CloudSelfTest
SimpleSelfTest
test run using an existing cluster:Output of a
CloudSelfTest
SimpleSelfTest
test run creating and deleting a cluster:Backports Required
Release Notes