tmt
tmt copied to clipboard
tmt cannot run tests on Fedora CoreOS containers
The /usr/local
in the container is a symlink to /var/uslocal
which does not exist. Therefore tmt fails scripts like /usr/local/bin/tmt-abort
.
(dev) [pts-3:2]: happz@multivac [main] ~/git/tmt/tests/prepare/install/data $ TMT_SHOW_TRACEBACK=1 tmt -vvv -c distro=fedora-coreos run -a provision --how container --image localhost/fedora-coreos:tmt-tests plan --name escape
/var/tmp/tmt/run-082
Found 1 plan.
/escape
discover
how: shell
order: 50
summary: 1 test selected
/script-00
provision
queued provision.provision task #1: default-0
provision.provision task #1: default-0
how: container
order: 50
image: localhost/fedora-coreos:tmt-tests
primary address: tmt-082-xykfAYfY
topology address: tmt-082-xykfAYfY
Check for container image 'localhost/fedora-coreos:tmt-tests'.
name: tmt-082-xykfAYfY
Create network 'tmt-082-network'.
multihost name: default-0
arch: x86_64
distro: Fedora CoreOS 39.20240322.3.0
kernel: 6.6.13-100.fc38.x86_64
package manager: dnf5
selinux: yes
is superuser: yes
summary: 1 guest provisioned
prepare
queued push task #1: push to default-0
push task #1: push to default-0
queued prepare task #1: default-0 on default-0
queued prepare task #2: requires on default-0
prepare task #1: default-0 on default-0
how: install
order: 50
package: 1 package requested
dnf-command(copr)
cmd: rpm -q --whatprovides 'dnf-command(copr)' || dnf5 install -y 'dnf-command(copr)'
out: no package provides dnf-command(copr)
out: Updating and loading repositories:
out: Fedora 39 - x86_64 - Updates 100% | 674.0 KiB/s | 8.7 MiB | 00m13s
out: Fedora 39 openh264 (From Cisco) - x86_ 100% | 4.1 KiB/s | 6.6 KiB | 00m02s
out: Fedora 39 - x86_64 100% | 691.3 KiB/s | 35.6 MiB | 00m53s
out: Fedora 39 - x86_64 - Updates Archive 100% | 2.7 MiB/s | 31.3 MiB | 00m12s
out: Repositories loaded.
out: Package Arch Version Repository Size
out: Installing:
out: dnf-plugins-core noarch 4.6.0-1.fc39 updates 22.4 KiB
out: Installing dependencies:
out: fonts-filesystem noarch 1:2.0.5-12.fc39 fedora 0.0 B
out: ima-evm-utils x86_64 1.5-2.fc39 fedora 144.7 KiB
out: js-jquery noarch 3.6.4-2.fc39 fedora 543.5 KiB
out: libb2 x86_64 0.98.1-9.fc39 fedora 42.1 KiB
out: libcomps x86_64 0.1.20-1.fc39 updates 210.0 KiB
out: libdnf x86_64 0.73.1-1.fc39 updates 2.1 MiB
out: libfsverity x86_64 1.4-10.fc39 fedora 32.5 KiB
out: libgomp x86_64 13.2.1-7.fc39 updates 486.4 KiB
out: mpdecimal x86_64 2.5.1-7.fc39 fedora 200.8 KiB
out: python-pip-wheel noarch 23.2.1-2.fc39 updates 1.5 MiB
out: python3 x86_64 3.12.2-2.fc39 updates 31.8 KiB
out: python3-dateutil noarch 1:2.8.2-10.fc39 fedora 876.5 KiB
out: python3-dbus x86_64 1.3.2-4.fc39 fedora 531.2 KiB
out: python3-distro noarch 1.8.0-6.fc39 fedora 201.2 KiB
out: python3-dnf noarch 4.19.2-1.fc39 updates 2.6 MiB
out: python3-dnf-plugins-core noarch 4.6.0-1.fc39 updates 1.2 MiB
out: python3-hawkey x86_64 0.73.1-1.fc39 updates 317.7 KiB
out: python3-libcomps x86_64 0.1.20-1.fc39 updates 147.8 KiB
out: python3-libdnf x86_64 0.73.1-1.fc39 updates 3.9 MiB
out: python3-libs x86_64 3.12.2-2.fc39 updates 41.7 MiB
out: python3-rpm x86_64 4.19.1.1-1.fc39 updates 183.4 KiB
out: python3-six noarch 1.16.0-12.fc39 fedora 117.7 KiB
out: python3-systemd x86_64 235-5.fc39 fedora 362.2 KiB
out: rpm-build-libs x86_64 4.19.1.1-1.fc39 updates 202.3 KiB
out: rpm-sign-libs x86_64 4.19.1.1-1.fc39 updates 39.3 KiB
out: unbound-libs x86_64 1.19.1-4.fc39 updates 1.4 MiB
out: web-assets-filesystem noarch 5-20.fc39 fedora 34.0 B
out: Installing weak dependencies:
out: deltarpm x86_64 3.6.3-11.fc39 fedora 231.4 KiB
out: python-systemd-doc x86_64 235-5.fc39 fedora 487.5 KiB
out: python-unversioned-command noarch 3.12.2-2.fc39 updates 23.0 B
out: python3-unbound x86_64 1.19.1-4.fc39 updates 538.9 KiB
out: rpm-plugin-systemd-inhibit x86_64 4.19.1.1-1.fc39 updates 16.2 KiB
out: unbound-anchor x86_64 1.19.1-4.fc39 updates 57.2 KiB
out:
out: Transaction Summary:
out: Installing: 34 packages
out:
out: Total size of inbound packages is 16 MiB. Need to download 16 MiB.
out: After this operation 60 MiB will be used (install 60 MiB, remove 0 B).
out: [ 1/34] dnf-plugins-core-0:4.6.0-1.fc39 100% | 149.2 KiB/s | 37.6 KiB | 00m00s
out: [ 2/34] python3-dbus-0:1.3.2-4.fc39.x86 100% | 365.9 KiB/s | 157.0 KiB | 00m00s
out: [ 3/34] python3-distro-0:1.8.0-6.fc39.n 100% | 287.2 KiB/s | 48.8 KiB | 00m00s
out: [ 4/34] python3-systemd-0:235-5.fc39.x8 100% | 337.4 KiB/s | 106.9 KiB | 00m00s
out: [ 5/34] python3-six-0:1.16.0-12.fc39.no 100% | 245.0 KiB/s | 40.9 KiB | 00m00s
out: [ 6/34] python3-dnf-plugins-core-0:4.6. 100% | 224.5 KiB/s | 317.5 KiB | 00m01s
out: [ 7/34] python3-0:3.12.2-2.fc39.x86_64 100% | 301.9 KiB/s | 26.9 KiB | 00m00s
out: [ 8/34] python3-dateutil-1:2.8.2-10.fc3 100% | 242.0 KiB/s | 355.2 KiB | 00m01s
out: [ 9/34] python3-libcomps-0:0.1.20-1.fc3 100% | 248.9 KiB/s | 47.8 KiB | 00m00s
out: [10/34] python3-hawkey-0:0.73.1-1.fc39. 100% | 446.2 KiB/s | 107.1 KiB | 00m00s
out: [11/34] python3-rpm-0:4.19.1.1-1.fc39.x 100% | 258.9 KiB/s | 68.1 KiB | 00m00s
out: [12/34] python3-dnf-0:4.19.2-1.fc39.noa 100% | 388.1 KiB/s | 586.1 KiB | 00m02s
out: [13/34] libb2-0:0.98.1-9.fc39.x86_64 100% | 267.6 KiB/s | 25.4 KiB | 00m00s
out: [14/34] mpdecimal-0:2.5.1-7.fc39.x86_64 100% | 316.3 KiB/s | 88.6 KiB | 00m00s
out: [15/34] python3-libdnf-0:0.73.1-1.fc39. 100% | 404.6 KiB/s | 862.3 KiB | 00m02s
out: [16/34] libgomp-0:13.2.1-7.fc39.x86_64 100% | 438.4 KiB/s | 324.4 KiB | 00m01s
out: [17/34] rpm-build-libs-0:4.19.1.1-1.fc3 100% | 353.4 KiB/s | 95.1 KiB | 00m00s
out: [18/34] rpm-sign-libs-0:4.19.1.1-1.fc39 100% | 333.1 KiB/s | 26.0 KiB | 00m00s
out: [19/34] libfsverity-0:1.4-10.fc39.x86_6 100% | 234.8 KiB/s | 19.3 KiB | 00m00s
out: [20/34] ima-evm-utils-0:1.5-2.fc39.x86_ 100% | 381.6 KiB/s | 63.0 KiB | 00m00s
out: [21/34] libdnf-0:0.73.1-1.fc39.x86_64 100% | 602.3 KiB/s | 681.2 KiB | 00m01s
out: [22/34] libcomps-0:0.1.20-1.fc39.x86_64 100% | 408.2 KiB/s | 77.6 KiB | 00m00s
out: [23/34] python-systemd-doc-0:235-5.fc39 100% | 354.9 KiB/s | 74.9 KiB | 00m00s
out: [24/34] js-jquery-0:3.6.4-2.fc39.noarch 100% | 479.2 KiB/s | 172.5 KiB | 00m00s
out: [25/34] web-assets-filesystem-0:5-20.fc 100% | 95.7 KiB/s | 7.9 KiB | 00m00s
out: [26/34] fonts-filesystem-1:2.0.5-12.fc3 100% | 103.2 KiB/s | 8.2 KiB | 00m00s
out: [27/34] python-unversioned-command-0:3. 100% | 127.0 KiB/s | 10.2 KiB | 00m00s
out: [28/34] python-pip-wheel-0:23.2.1-2.fc3 100% | 642.0 KiB/s | 1.5 MiB | 00m02s
out: [29/34] python3-unbound-0:1.19.1-4.fc39 100% | 521.8 KiB/s | 117.4 KiB | 00m00s
out: [30/34] deltarpm-0:3.6.3-11.fc39.x86_64 100% | 649.6 KiB/s | 90.9 KiB | 00m00s
out: [31/34] rpm-plugin-systemd-inhibit-0:4. 100% | 200.1 KiB/s | 19.6 KiB | 00m00s
out: [32/34] unbound-anchor-0:1.19.1-4.fc39. 100% | 605.6 KiB/s | 35.1 KiB | 00m00s
out: [33/34] unbound-libs-0:1.19.1-4.fc39.x8 100% | 840.2 KiB/s | 542.8 KiB | 00m01s
out: [34/34] python3-libs-0:3.12.2-2.fc39.x8 100% | 543.2 KiB/s | 9.2 MiB | 00m17s
out: --------------------------------------------------------------------------------
out: [34/34] Total 100% | 790.8 KiB/s | 15.8 MiB | 00m20s
out: Running transaction
out: Importing PGP key 0x18B8E74C:
out: Userid : "Fedora (39) <[email protected]>"
out: Fingerprint: E8F23996F23218640CB44CBE75CF5AC418B8E74C
out: From : file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-39-x86_64
out: The key was successfully imported.
out: [ 1/36] Verify package files 100% | 165.0 B/s | 34.0 B | 00m00s
out: [ 2/36] Prepare transaction 100% | 222.0 B/s | 34.0 B | 00m00s
out: [ 3/36] Installing libdnf-0:0.73.1-1.fc 100% | 34.8 MiB/s | 2.1 MiB | 00m00s
out: [ 4/36] Installing libgomp-0:13.2.1-7.f 100% | 59.5 MiB/s | 487.8 KiB | 00m00s
out: [ 5/36] Installing libb2-0:0.98.1-9.fc3 100% | 10.5 MiB/s | 43.2 KiB | 00m00s
out: [ 6/36] Installing rpm-build-libs-0:4.1 100% | 33.1 MiB/s | 203.1 KiB | 00m00s
out: [ 7/36] Installing rpm-plugin-systemd-i 100% | 4.2 MiB/s | 17.1 KiB | 00m00s
out: [ 8/36] Installing deltarpm-0:3.6.3-11. 100% | 20.8 MiB/s | 234.6 KiB | 00m00s
out: [ 9/36] Installing fonts-filesystem-1:2 100% | 256.5 KiB/s | 788.0 B | 00m00s
out: [10/36] Installing web-assets-filesyste 100% | 278.6 KiB/s | 856.0 B | 00m00s
out: [11/36] Installing js-jquery-0:3.6.4-2. 100% | 66.6 MiB/s | 545.7 KiB | 00m00s
out: [12/36] Installing python-systemd-doc-0 100% | 48.3 MiB/s | 494.8 KiB | 00m00s
out: [13/36] Installing libcomps-0:0.1.20-1. 100% | 34.4 MiB/s | 211.2 KiB | 00m00s
out: [14/36] Installing python-pip-wheel-0:2 100% | 115.7 MiB/s | 1.5 MiB | 00m00s
out: [15/36] Installing libfsverity-0:1.4-10 100% | 6.5 MiB/s | 33.5 KiB | 00m00s
out: [16/36] Installing ima-evm-utils-0:1.5- 100% | 13.0 MiB/s | 147.0 KiB | 00m00s
out: [17/36] Installing rpm-sign-libs-0:4.19 100% | 9.8 MiB/s | 40.2 KiB | 00m00s
out: [18/36] Installing mpdecimal-0:2.5.1-7. 100% | 10.4 MiB/s | 202.0 KiB | 00m00s
out: [19/36] Installing python3-libs-0:3.12. 100% | 65.9 MiB/s | 42.1 MiB | 00m01s
out: [20/36] Installing python-unversioned-c 100% | 103.5 KiB/s | 424.0 B | 00m00s
out: [21/36] Installing python3-0:3.12.2-2.f 100% | 4.7 MiB/s | 33.5 KiB | 00m00s
out: [22/36] Installing python3-libdnf-0:0.7 100% | 70.5 MiB/s | 3.9 MiB | 00m00s
out: [23/36] Installing python3-hawkey-0:0.7 100% | 26.1 MiB/s | 320.6 KiB | 00m00s
out: [24/36] Installing unbound-anchor-0:1.1 100% | 351.0 KiB/s | 58.6 KiB | 00m00s
out: >>> Running post-install scriptlet: unbound-anchor-0:1.19.1-4.fc39.x86_64
out: >>> Stop post-install scriptlet: unbound-anchor-0:1.19.1-4.fc39.x86_64
out: >>> Running pre-install scriptlet: unbound-libs-0:1.19.1-4.fc39.x86_64
out: >>> Stop pre-install scriptlet: unbound-libs-0:1.19.1-4.fc39.x86_64
out: [25/36] Installing unbound-libs-0:1.19. 100% | 75.1 MiB/s | 1.4 MiB | 00m00s
out: [26/36] Installing python3-unbound-0:1. 100% | 33.2 MiB/s | 544.2 KiB | 00m00s
out: [27/36] Installing python3-dbus-0:1.3.2 100% | 23.1 MiB/s | 544.2 KiB | 00m00s
out: [28/36] Installing python3-distro-0:1.8 100% | 16.7 MiB/s | 205.7 KiB | 00m00s
out: [29/36] Installing python3-systemd-0:23 100% | 27.9 MiB/s | 371.2 KiB | 00m00s
out: [30/36] Installing python3-six-0:1.16.0 100% | 19.5 MiB/s | 120.0 KiB | 00m00s
out: [31/36] Installing python3-dateutil-1:2 100% | 41.4 MiB/s | 890.2 KiB | 00m00s
out: [32/36] Installing python3-libcomps-0:0 100% | 24.5 MiB/s | 150.3 KiB | 00m00s
out: [33/36] Installing python3-rpm-0:4.19.1 100% | 22.7 MiB/s | 186.0 KiB | 00m00s
out: [34/36] Installing python3-dnf-0:4.19.2 100% | 33.3 MiB/s | 2.6 MiB | 00m00s
out: [35/36] Installing python3-dnf-plugins- 100% | 28.5 MiB/s | 1.2 MiB | 00m00s
out: [36/36] Installing dnf-plugins-core-0:4 100% | 23.4 KiB/s | 25.6 KiB | 00m01s
out: >>> Running trigger-install scriptlet: glibc-common-0:2.38-16.fc39.x86_64
out: >>> Stop trigger-install scriptlet: glibc-common-0:2.38-16.fc39.x86_64
out: >>> Running trigger-install scriptlet: systemd-0:254.10-1.fc39.x86_64
out: >>> Stop trigger-install scriptlet: systemd-0:254.10-1.fc39.x86_64
out: >>> Running trigger-install scriptlet: systemd-0:254.10-1.fc39.x86_64
out: >>> Stop trigger-install scriptlet: systemd-0:254.10-1.fc39.x86_64
prepare task #2: requires on default-0
how: install
summary: Install required packages
name: requires
order: 70
where: default-0
package: 1 package requested
/usr/bin/flock
cmd: rpm -q --whatprovides /usr/bin/flock || dnf5 install -y /usr/bin/flock
out: util-linux-core-2.39.3-6.fc39.x86_64
queued pull task #1: pull from default-0
pull task #1: pull from default-0
summary: 2 preparations applied
execute
queued execute task #1: default-0 on default-0
execute task #1: default-0 on default-0
how: tmt
order: 50
exit-first: false
fail: Command 'podman cp /home/happz/git/tmt/tmt/steps/execute/scripts/tmt-abort tmt-082-xykfAYfY:/usr/local/bin/tmt-abort' returned 125.
finish
container: stopped
container: removed
Remove network 'tmt-082-network'.
container: network removed
Prune '/escape' plan workdir '/var/tmp/tmt/run-082/escape'.
summary: 0 tasks completed
plan failed
Traceback (most recent call last):
File "/home/happz/git/tmt/tmt/__main__.py", line 18, in run_cli
tmt.cli.main()
File "/home/happz/.local/share/hatch/env/virtual/tmt/BuhwJjvK/dev/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/happz/.local/share/hatch/env/virtual/tmt/BuhwJjvK/dev/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/happz/.local/share/hatch/env/virtual/tmt/BuhwJjvK/dev/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/happz/.local/share/hatch/env/virtual/tmt/BuhwJjvK/dev/lib/python3.11/site-packages/click/core.py", line 1720, in invoke
return _process_result(rv)
^^^^^^^^^^^^^^^^^^^
File "/home/happz/.local/share/hatch/env/virtual/tmt/BuhwJjvK/dev/lib/python3.11/site-packages/click/core.py", line 1657, in _process_result
value = ctx.invoke(self._result_callback, value, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/happz/.local/share/hatch/env/virtual/tmt/BuhwJjvK/dev/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/happz/.local/share/hatch/env/virtual/tmt/BuhwJjvK/dev/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/happz/git/tmt/tmt/cli.py", line 508, in finito
click_context.obj.run.go()
File "/home/happz/git/tmt/tmt/base.py", line 3560, in go
raise tmt.utils.GeneralError(
tmt.utils.GeneralError: plan failed
The exception was caused by 1 earlier exceptions
Cause number 1:
execute step failed
Traceback (most recent call last):
File "/home/happz/git/tmt/tmt/base.py", line 3556, in go
plan.go()
File "/home/happz/git/tmt/tmt/base.py", line 2289, in go
step.go()
File "/home/happz/git/tmt/tmt/steps/execute/__init__.py", line 859, in go
raise tmt.utils.GeneralError(
tmt.utils.GeneralError: execute step failed
The exception was caused by 1 earlier exceptions
Cause number 1:
Command 'podman cp /home/happz/git/tmt/tmt/steps/execute/scripts/tmt-abort tmt-082-xykfAYfY:/usr/local/bin/tmt-abort' returned 125.
stderr (1 lines)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: "/usr/local/bin/tmt-abort" could not be found on container tmt-082-xykfAYfY: no such file or directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/home/happz/git/tmt/tmt/queue.py", line 277, in go
result = future.result()
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/lib64/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/happz/git/tmt/tmt/steps/__init__.py", line 2174, in run_on_guest
self.phase.go(guest=guest, logger=logger)
File "/home/happz/git/tmt/tmt/steps/execute/internal.py", line 475, in go
self._run_tests(guest=guest, extra_environment=environment, logger=logger)
File "/home/happz/git/tmt/tmt/steps/execute/internal.py", line 490, in _run_tests
self.prepare_scripts(guest)
File "/home/happz/git/tmt/tmt/steps/execute/__init__.py", line 457, in prepare_scripts
guest.push(
File "/home/happz/git/tmt/tmt/steps/provision/podman.py", line 377, in push
self.podman(Command("cp", source, f"{self.container}:{destination}"))
File "/home/happz/git/tmt/tmt/steps/provision/podman.py", line 297, in podman
raise err
File "/home/happz/git/tmt/tmt/steps/provision/podman.py", line 291, in podman
return self._run_guest_command(Command('podman') + command, silent=silent, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/happz/git/tmt/tmt/steps/provision/__init__.py", line 922, in _run_guest_command
return self.run(
^^^^^^^^^
File "/home/happz/git/tmt/tmt/utils.py", line 1993, in run
return command.run(
^^^^^^^^^^^^
File "/home/happz/git/tmt/tmt/utils.py", line 1381, in run
raise RunError(
tmt.utils.RunError: Command 'podman cp /home/happz/git/tmt/tmt/steps/execute/scripts/tmt-abort tmt-082-xykfAYfY:/usr/local/bin/tmt-abort' returned 125.
(dev) [pts-3:2]: happz@multivac [main] ~/git/tmt/tests/prepare/install/data $