Skip to content
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

Improve TMT user experience on SilverBlue system #1020

Open
jkonecny12 opened this issue Jan 29, 2022 · 10 comments · May be fixed by #3228
Open

Improve TMT user experience on SilverBlue system #1020

jkonecny12 opened this issue Jan 29, 2022 · 10 comments · May be fixed by #3228
Assignees
Labels
plugin | containers The podman plugin used for container provision plugin | testcloud The testcloud virtual provision plugin usability Issues and changes related to user comfort
Milestone

Comments

@jkonecny12
Copy link

When you are on SilverBlue system you are trying to avoid adding packages as layers to the system. So, it's great that you have podman example in the documentation but you can't use this for running the tests if they using container or VM. Could you please improve this experince?

Pain points I saw now:

  • The install example will not mount existing project directory.
  • The container tests won't work out of the box.
  • The VM tests won't work out of the box. (not tested but without access to /dev/kvm it won't work)

The best option would be to have a working Toolbx image, however, I guess that is not doable because it's always rootless and you probably need privilege and rootfull container.

@thrix
Copy link
Collaborator

thrix commented Jan 29, 2022

Thanks for filing, I have also Silverblue on my refreshed laptop, so I believe I can try to come up here with some solutions.

@thrix thrix self-assigned this Jan 29, 2022
@thrix thrix added usability Issues and changes related to user comfort plugin | testcloud The testcloud virtual provision plugin plugin | containers The podman plugin used for container provision labels Jan 29, 2022
@jkonecny12
Copy link
Author

If I run the existing container test with:
podman run --privileged -it --rm -v .:/my_project:z quay.io/testing-farm/tmt-all bash
the output is:

stderr (1/1 lines)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: 'overlay' is not supported over overlayfs, a mount_program is required: backing file system is unsupported for this graph driver

Failed to check for container image 'fedora:rawhide'. Reason: Command returned '125'.

@jkonecny12
Copy link
Author

jkonecny12 commented Jan 29, 2022

Another great possibility would be to use flatpak-spawn for running working with the podman outside of the container?

Not sure if that is doable, never used that command 😜 .

@frantisekz
Copy link
Collaborator

frantisekz commented Mar 7, 2022

  • The VM tests won't work out of the box. (not tested but without access to /dev/kvm it won't work)

Addressed in https://copr.fedorainfracloud.org/coprs/frantisekz/testcloud-wip/ ( https://pagure.io/testcloud/pull-request/115# ), updated tmt build will be submitted there later today.

On missing /dev/kvm, testcloud will now fall back to TCG even on x86.

@jkonecny12
Copy link
Author

jkonecny12 commented Mar 25, 2022

I wasn't aware of the test cloud, it looks great!

However, it needs to be documented. If I understand it correctly it needs user in a testcloud group which is not that straight forward on SB right now.

Or is the testcloud used even now by the TMT and you are just extending it?

@jkonecny12
Copy link
Author

I think that the best solution to this issue would be:

  • quay.io/testing-farm/tmt-* to support podman in podman solution
  • add --device /dev/kvm (or how it is correctly used?) to the container parameters in the documentation

@thrix
Copy link
Collaborator

thrix commented Apr 30, 2024

So a small update here, I use tmt in toolbox, and that works well, except container provisioner.

@jkonecny12
Copy link
Author

Would it be working if we use host-spawn as podman executable?

@jkonecny12
Copy link
Author

For some reason it doesn't seem to work. Not sure why, I can try to investigate later.

@thrix
Copy link
Collaborator

thrix commented Sep 19, 2024

Some additional news, I have a patch for also supporting container provisioner :)

@thrix thrix added this to the 1.37 milestone Sep 19, 2024
thrix added a commit that referenced this issue Sep 19, 2024
For Fedora Silverblue users it is common to run podman
via `flatpak-spawn --host` which runs podman on the host
system itself. This requires to pass the toolbox container
name when running `podman cp` to correctly copy stuff
from the toolbox container, where `tmt` is installed
to the provisioned container.

Fixes #1020

Signed-off-by: Miroslav Vadkerti <[email protected]>
@thrix thrix linked a pull request Sep 19, 2024 that will close this issue
8 tasks
@thrix thrix modified the milestones: 1.37, 1.38 Oct 1, 2024
thrix added a commit that referenced this issue Oct 16, 2024
For Fedora Silverblue users it is common to run podman
via `flatpak-spawn --host` which runs podman on the host
system itself. This requires to pass the toolbox container
name when running `podman cp` to correctly copy stuff
from the toolbox container, where `tmt` is installed
to the provisioned container.

Fixes #1020

Signed-off-by: Miroslav Vadkerti <[email protected]>
thrix added a commit that referenced this issue Oct 17, 2024
For Fedora Silverblue users it is common to run podman
via `flatpak-spawn --host` which runs podman on the host
system itself. This requires to pass the toolbox container
name when running `podman cp` to correctly copy stuff
from the toolbox container, where `tmt` is installed
to the provisioned container.

Fixes #1020

Signed-off-by: Miroslav Vadkerti <[email protected]>
@thrix thrix modified the milestones: 1.38, 1.39 Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plugin | containers The podman plugin used for container provision plugin | testcloud The testcloud virtual provision plugin usability Issues and changes related to user comfort
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants