-
Notifications
You must be signed in to change notification settings - Fork 51
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
Support external tempest plugins #103
Support external tempest plugins #103
Conversation
Hi @lpiwowar. Thanks for your PR. I'm waiting for a openstack-k8s-operators member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the 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. |
41f7c9d
to
64dbb0a
Compare
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/c8ca506a74d04355a1ab99f7b45cf57a ❌ tcib-build-containers NODE_FAILURE Node request 200-0006664926 failed in 0s |
/ok-to-test |
for anyone looking at this PR, the documentation on how this feature would be used is added by this PR (and still being discussed): |
64dbb0a
to
30dc0f9
Compare
30dc0f9
to
4b15f91
Compare
is this rebased on the latest changes? |
4b15f91
to
81930b2
Compare
@kopecmartin, yes, it should be. Do you think something is missing? |
popd | ||
fi | ||
|
||
pip install ./$plugin_name |
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.
pip/pip3? does it make a difference? I guess pip points to pip3 so it doesn't matter
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 think that using pip should be ok here. We are inside a virtual environment.
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/5ae50b225cf84b7a82052251cf59d286 ✔️ tcib-build-containers SUCCESS in 1h 58m 44s |
/lgtm |
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
recheck |
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.
is this tested somewhere (eg with testproject) with passing the new vars in?
feels like run_tempest.sh needs a README or at least some comments at the top (like the information you have in your commit message) to document what these vars are/do
git clone $git_url | ||
|
||
if [[ ! -z $change_url ]] && [[ ! -z $refspec ]] || \ | ||
[[ $change_url != "-" ]] && [[ $refspec != "-" ]]; then |
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.
maybe a comment would help but i'm trying to imagine what $change_url looks like here and why we need to guard for != "-" (and failing to imagine it :))
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 explained the usage of the variables used here in the comment at the beginning of the script. I can imagine that the "-" is a little bit confusing. I think that it would be used only in edge cases when someone would want to download multiple changes.
I think that the conversation here openstack-k8s-operators/test-operator#12 can be helpful as well.
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 got it. Not sure if there is a better way to implement it, but I see that you need "-" because your loop gets values based on indexes.
A good documentation was added to the script itself. Is there another place that we can add this? So everybody would know how to use this?
81930b2
to
1531afa
Compare
I answered your questions @marios here:) 👇
|
f5719b3
to
a8082d8
Compare
This patch adds support for the tempest container to be able to install external plugins that are not part of the .rpm the container is built with. When a user defines the TEMPEST_EXTERNAL_PLUGIN_GIT_URLS then plugin(s) defined by this variable will be downloaded and executed. The user can also define TEMPEST_EXTERNAL_PLUGIN_CHANGE_URLS and TEMPEST_EXTERNAL_PLUGIN_REFSPEC variable to download a change(s) for a given plugin. This can be used for testing tests under developoment. TEMPEST_EXTERNAL_PLUGIN_GIT_URLS - URL of a git repository that holds the plugin TEMPEST_EXTERNAL_PLUGIN_CHANGE_URLS - URL from which a change should be downloaded for a given plugin TEMPEST_EXTERNAL_PLUGIN_REFSPEC - A change that should be downloaded for a given plugin
a8082d8
to
d5c2bff
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, thanks Lukas
any issue in testing with testproject ? like without testing this its hard to approve |
tested locally, no testproject, these changes are required in test-opeartor - openstack-k8s-operators/test-operator#12 - which isn't used anywhere yet as we're writing an ansible role to run it in CI, still in progress. In this review it's enough if we check only that the image works with current CI jobs. I guess some have been executed when this was proposed. Based on my code review, the changes in the code don't affect the CI jobs as well as don't affect the current way how we use this image. |
I don't really remember where we replace the tempest image with the one built in content-provider. So yesterday I created a testproject to force tempest image to use the one built by the job. Job continues to pass. |
/approve based on https://review.rdoproject.org/zuul/build/d2b3ab07e8f3416087de6da7f2cc9194 too. Since doesn't break edpm-multinode jobs. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kopecmartin, lpiwowar, viroel 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 |
fe9fcf0
into
openstack-k8s-operators:main
This patch adds support for the tempest container to be able to install external plugins that are not part of the .rpms the container is built with.
When a user defines the TEMPEST_EXTERNAL_PLUGIN_GIT_URLS then plugin(s) defined by this variable will be downloaded and executed. The user can also define TEMPEST_EXTERNAL_PLUGIN_CHANGE_URLS and TEMPEST_EXTERNAL_PLUGIN_REFSPEC variable to download a change(s) for a given plugin. This can be used for testing tests under developoment.
TEMPEST_EXTERNAL_PLUGIN_GIT_URLS
- URL of a git repository that holds the plugin
TEMPEST_EXTERNAL_PLUGIN_CHANGE_URLS
- URL from which a change should be downloaded for a given plugin
TEMPEST_EXTERNAL_PLUGIN_REFSPEC
- A change that should be downloaded for a given plugin