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
[Tracking Issue] Implement Integraion Tests #361
Comments
Waiting for #360 , which moves test_framework into youki_integration_test, but other than that , ready for individual test claiming. |
@YJDoc2 That's great! It would be a good idea to add a link to the sample implementation you implemented to the description of this issue. |
I'll have some free time soon and I'd love to pitch in on this effort! I think this tooling will be a force multiplier and I think it's really impactful. Are there any pain points that I could tackle that anyone can think of that might not be a good first issue? Otherwise I'm more than happy to just jump in on cgroups controllers where I'm pretty familiar. |
Hey @tsturzl , sorry for late reply. Currently there are no obvious pain points that I know, and as you are already familiar with cgroups, it'd be great if you can work on those tests. Also if you take any test from the first list (which oci-tools have) please comment here, so we can keep track. @utam0k I am a bit busy for few days, but after that I'm planning to work on either pid test or ns_itype test as currently both fail for runc and youki using oci-tests. Assuming that the issue is in test implementation, and not in the runtime, if we could support those tests, we can theoretically be feature equivalent with oci-tests. |
@utam0k i want to implement "config_updates_without_affect" |
I'll start off with |
I do not want to take too many good first issues away, but I would like to implement at least one test to get familiar with the test framework. So I would take |
Hey @Furisto |
I'm nearly done with the linux_cgroups_cpus integrations tests. I'd like to take on the memory cgroups tasks. I'd really like to fix a problem that currently exists in the current oci validations with these specific tests. |
Also, maybe we should limit the context of this tracking issue to cgroups v1 and just generally getting this on par with oci runtime-tools? Perhaps then we can open another tracking issue to detail out what cgroups v2 tests should look like and what needs to get implemented. |
Hey @tsturzl , sure you can take memory next 😄 , I'll assign it to you then. |
Hey @WormOn, how is the implementation going? Let know if you need any help in working on the test implementation 👍 |
I got bored and started working on linux_cgroups_network, so I'll take that one also |
Hi! I would like to contribute to this issue by adding a few tests, too. I have been working with rust for about 6 months, now. However, I have no exp with container runtimes, thus, would like to start with small and low priority tests. I though I could start by adding the |
Hey @whereistejas , thanks for your interest in contribution. I would suggest that rather than starting with The create test uses the basic functions which are already implemented in the current utils, you can check the lifecycle tests to get an idea how to implement the create tests. If you need any help or are facing some issues, you can ask them here or on the youki discord. Thanks :) |
Hi @YJDoc2, if my understanding is correct you are referring to the following |
Hey, yes that are the tests, but they were created as part of proof-of-concept of integration tests themselves, and should be replaced in sometime for their own dedicated tests as per the runtime tools. Or if you are fine with it, you can wait till merging of #582 which implemented the |
So, we would like to have the |
Hey @whereistejas , yes I meant that create tests should be refactored in there own module, as you are working on in #583 👍 |
Hey, I'll take a look and update them, thanks 👍
@xiaoyang-sde feel free to ping if you need any help |
Thanks @YJDoc2 😍 |
Hello! Can I tackle the |
@MarceloSpessoto Devices is really only feature complete for cgroups v1 right now, so for cgroups v2 the test might need to be skipped. It may be hard to validate the test on a cgroups v2 system, and might require testing in a VM. If your comfortable with that I'm happy to assign you. Otherwise any of the other remaining Unfortunately cgroups v2 doesn't really have a mechanism for managing devices, and the workaround is fairly complicated. That may make that particular test a bit confusing to tackle, but if you're still interested in that one in particular you are welcome to. |
Hi @tsturzl , I didn't know about these cgroups v2 caveats. I was looking for something easier to start with, so I think I prefer changing to |
@MarceloSpessoto Assigned! Feel free to reach out if you need help. |
@tsturzl Thanks for your handling and guiding 🙏 |
Hello ! Can I take up |
@kmpzr assigned those two to you. Let me know if you have any questions! |
@omprakaash assigned! Let me know if you have questions or need help. I'm actually the original author of the v1 and v2 cgroups memory controller, so I'm pretty familiar with that code base. |
@kmpzr @omprakaash I'm looking forward to seeing your PR! |
Thank You. Will do ! |
Hi @utam0k, |
I'm happy to hear that. I assigned you. |
Hey, can I take on |
@omprakaash Sure! I assigned you. |
@sivchari Hi 👋 I saw your post in X ;) How about trying to implement this one?
This is the same test in Go: And this code will help you: |
Hi @utam0k |
Hi! This is my first time with youki. |
@furon-kuina Sure, a good challenge! I appreciate your challenge. I'll assign you to |
@utam0k |
Hey @furon-kuina , check #2722 once, which was opened for the linux_cgroups_relative_blkio test, but the author could not continue. You can use that as a starting point or reference to get an idea for how to implement the test. (that said, the PR has several issues, failing CI etc so you might need to fix / rewrite it) |
Ops, thanks for your follow-up 🙏 |
As per #56 , we are porting the OCI validation tests into rust. This is the tracking issue for the same.
The folder /youki_integration_test contains the currently implemented tests which are lifecyle, creation and huge_tlb
Here is the documentation for developing the integration tests:
https://containers.github.io/youki/developer/e2e/rust_oci_test.html
Default
List of all test, as per https://github.com/opencontainers/runtime-tools/tree/master/validation :
Extensions
This contains tests are not in https://github.com/opencontainers/runtime-tools/tree/master/validation , or need are not satisfactory enough.
Out of these, currently only huge_tlb is ported completely. lifecycle and create tests are implemented but need much improvements, and lifecycle tests should be split into individuals as per listed above.
Please read the README of youki_integration_test to get idea for how one should go about implementing the tests, and what utils etc are available.
The text was updated successfully, but these errors were encountered: