-
Notifications
You must be signed in to change notification settings - Fork 333
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 👍 |
@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 🙏 |
Hi @utam0k, I would like to take the |
@posutsai assigned to you 👍 |
Hi @YJDoc2 and @utam0k, |
Hey, so as far as I know, recent Ubuntu versions have dropped support of cgroups v1 by default, you need to do certain kernel feature enabling to enable cgroups v1 on them. I think ubuntu 20.04 has cgroups v1 enabled in them, and we use that in our ci -check #2645 . An easier way for your testing can be to create a vagrant box with this version, mount the youki dir in it, compile your things on host systems, so you don't have to install rust and build deps in the box, but run the tests in the box instead of host (so you'll need the runtime deps). I have also opened #2890 for standardizing the test envs via vagrant boxes. |
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: