Skip to content

Instantly share code, notes, and snippets.

@cgwalters
Created June 24, 2024 16:57
Show Gist options
  • Save cgwalters/a9d06baa3d9af2bc4a17790ecf6475d2 to your computer and use it in GitHub Desktop.
Save cgwalters/a9d06baa3d9af2bc4a17790ecf6475d2 to your computer and use it in GitHub Desktop.
$ tmt run -vvv -ddd -l login
Using tree '/var/home/walters/src/github/containers/bootc'.
Workdir '/var/tmp/tmt/run-005' already exists.
/var/tmp/tmt/run-005
tmt version: 1.33.0
tmt command line: /usr/bin/tmt run -vvv -ddd -l login
Run command: cat /etc/os-release
out: NAME="Fedora Linux"
out: VERSION="40 (Container Image Prerelease)"
out: ID=fedora
out: VERSION_ID=40
out: VERSION_CODENAME=""
out: PLATFORM_ID="platform:f40"
out: PRETTY_NAME="Fedora Linux 40 (Container Image Prerelease)"
out: ANSI_COLOR="0;38;2;60;110;180"
out: LOGO=fedora-logo-icon
out: CPE_NAME="cpe:/o:fedoraproject:fedora:40"
out: DEFAULT_HOSTNAME="fedora"
out: HOME_URL="https://fedoraproject.org/"
out: DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
out: SUPPORT_URL="https://ask.fedoraproject.org/"
out: BUG_REPORT_URL="https://bugzilla.redhat.com/"
out: REDHAT_BUGZILLA_PRODUCT="Fedora"
out: REDHAT_BUGZILLA_PRODUCT_VERSION=40
out: REDHAT_SUPPORT_PRODUCT="Fedora"
out: REDHAT_SUPPORT_PRODUCT_VERSION=40
out: SUPPORT_END=2025-05-13
out: VARIANT="Container Image"
out: VARIANT_ID=container
Run command: cat /etc/lsb-release
err: cat: /etc/lsb-release: No such file or directory
Command returned '1'.
Run command: arch
out: x86_64
Run command: uname -r
out: 6.8.11-300.fc40.x86_64
Run command: apk --version
Run command: apt --version
Run command: dnf --version
out: 4.19.0
out:   Installed: dnf-0:4.19.0-1.fc40.noarch at Thu Mar 28 10:53:01 2024
out:   Built    : Fedora Project at Thu Feb  8 16:33:42 2024
out: 
out:   Installed: rpm-0:4.19.1.1-1.fc40.x86_64 at Thu Mar 28 10:53:01 2024
out:   Built    : Fedora Project at Wed Feb  7 15:55:53 2024
Run command: dnf5 --version
out: dnf5 version 5.1.17
out: dnf5 plugin API version 1.0
out: libdnf5 version 5.1.17
out: libdnf5 plugin API version 1.0
out: 
out: Loaded dnf5 plugins:
out:   name: builddep
out:   version: 1.0.0
out:   API version: 1.0
out: 
out:   name: changelog
out:   version: 1.0.0
out:   API version: 1.0
out: 
out:   name: config-manager
out:   version: 0.1.0
out:   API version: 1.0
out: 
out:   name: copr
out:   version: 0.1.0
out:   API version: 1.0
out: 
out:   name: needs_restarting
out:   version: 1.0.0
out:   API version: 1.0
out: 
out:   name: repoclosure
out:   version: 1.0.0
out:   API version: 1.0
Run command: yum --version
out: 4.19.0
out:   Installed: dnf-0:4.19.0-1.fc40.noarch at Thu Mar 28 10:53:01 2024
out:   Built    : Fedora Project at Thu Feb  8 16:33:42 2024
out: 
out:   Installed: rpm-0:4.19.1.1-1.fc40.x86_64 at Thu Mar 28 10:53:01 2024
out:   Built    : Fedora Project at Wed Feb  7 15:55:53 2024
Run command: stat /run/ostree-booted
err: stat: cannot statx '/run/ostree-booted': No such file or directory
Command returned '1'.
Run command: cat /proc/filesystems
out: nodev      sysfs
out: nodev      tmpfs
out: nodev      bdev
out: nodev      proc
out: nodev      cgroup
out: nodev      cgroup2
out: nodev      cpuset
out: nodev      devtmpfs
out: nodev      configfs
out: nodev      debugfs
out: nodev      tracefs
out: nodev      securityfs
out: nodev      sockfs
out: nodev      bpf
out: nodev      pipefs
out: nodev      ramfs
out: nodev      hugetlbfs
out: nodev      devpts
out:    ext3
out:    ext2
out:    ext4
out: nodev      autofs
out: nodev      efivarfs
out: nodev      mqueue
out: nodev      selinuxfs
out: nodev      binder
out:    btrfs
out: nodev      pstore
out:    fuseblk
out: nodev      fuse
out: nodev      fusectl
out: nodev      overlay
out: nodev      binfmt_misc
out: nodev      rpc_pipefs
out:    vfat
Run command: whoami
out: walters
tmt runner
    arch: x86_64
    distro: Fedora Linux 40 (Container Image Prerelease)
    kernel: 6.8.11-300.fc40.x86_64
    package manager: dnf5
    selinux: yes
    is superuser: no
Read file '/var/tmp/tmt/run-005/run.yaml'.
Using tree '/var/home/walters/src/github/containers/bootc'.
Module 'tmt.steps.provision' already imported.
    warn: /plans/build:provision - {'hardware': {'cpu': {'processors': '>= 2'}, 'memory': '>= 6 GB', 'virtualization': {'is-supported': True}}, 'how': 'virtual'} is not valid under any of the given schemas
Workdir '/var/tmp/tmt/run-005/plans/build' already exists.
Sync the worktree to '/var/tmp/tmt/run-005/plans/build/tree'.
Run command: rsync -ar --exclude .git --exclude-from /tmp/tmp82wrb86d /var/home/walters/src/github/containers/bootc/ /var/tmp/tmt/run-005/plans/build/tree
Create the data directory '/var/tmp/tmt/run-005/plans/build/data'.
Create the environment file '/var/tmp/tmt/run-005/plans/build/data/variables.env'.
Workdir '/var/tmp/tmt/run-005/plans/install-upgrade/aws' already exists.
Sync the worktree to '/var/tmp/tmt/run-005/plans/install-upgrade/aws/tree'.
Run command: rsync -ar --exclude .git --exclude-from /tmp/tmpta13auei /var/home/walters/src/github/containers/bootc/ /var/tmp/tmt/run-005/plans/install-upgrade/aws/tree
Create the data directory '/var/tmp/tmt/run-005/plans/install-upgrade/aws/data'.
Create the environment file '/var/tmp/tmt/run-005/plans/install-upgrade/aws/data/variables.env'.
Workdir '/var/tmp/tmt/run-005/plans/install-upgrade/libvirt' already exists.
Sync the worktree to '/var/tmp/tmt/run-005/plans/install-upgrade/libvirt/tree'.
Run command: rsync -ar --exclude .git --exclude-from /tmp/tmpgrwl6rx3 /var/home/walters/src/github/containers/bootc/ /var/tmp/tmt/run-005/plans/install-upgrade/libvirt/tree
Create the data directory '/var/tmp/tmt/run-005/plans/install-upgrade/libvirt/data'.
Create the environment file '/var/tmp/tmt/run-005/plans/install-upgrade/libvirt/data/variables.env'.
Workdir '/var/tmp/tmt/run-005/plans/install-upgrade/to-disk' already exists.
Sync the worktree to '/var/tmp/tmt/run-005/plans/install-upgrade/to-disk/tree'.
Run command: rsync -ar --exclude .git --exclude-from /tmp/tmpj7yobqom /var/home/walters/src/github/containers/bootc/ /var/tmp/tmt/run-005/plans/install-upgrade/to-disk/tree
Create the data directory '/var/tmp/tmt/run-005/plans/install-upgrade/to-disk/data'.
Create the environment file '/var/tmp/tmt/run-005/plans/install-upgrade/to-disk/data/variables.env'.
Workdir '/var/tmp/tmt/run-005/plans/integration' already exists.
Sync the worktree to '/var/tmp/tmt/run-005/plans/integration/tree'.
Run command: rsync -ar --exclude .git --exclude-from /tmp/tmp339inh5v /var/home/walters/src/github/containers/bootc/ /var/tmp/tmt/run-005/plans/integration/tree
Create the data directory '/var/tmp/tmt/run-005/plans/integration/data'.
Create the environment file '/var/tmp/tmt/run-005/plans/integration/data/variables.env'.
Loaded environment: '{}'.
Remove workdir when finished: None
Enabled steps: provision, finish, prepare, report, execute and discover
Found 1 plan.
Write file '/var/tmp/tmt/run-005/run.yaml'.

/plans/integration
summary: Basic smoke test
info
environment:
    TMT_PLAN_DATA: /var/tmp/tmt/run-005/plans/integration/data
    TMT_PLAN_ENVIRONMENT_FILE: /var/tmp/tmt/run-005/plans/integration/data/variables.env
    TMT_TREE: /var/tmp/tmt/run-005/plans/integration/tree
    TMT_VERSION: 1.33.0
context: {}
wake
discover
    Workdir '/var/tmp/tmt/run-005/plans/integration/discover' already exists.
    Read file '/var/tmp/tmt/run-005/plans/integration/discover/step.yaml'.
    Successfully loaded step data.
    Module 'tmt.steps.discover.shell' already imported.
    status: done
    Read file '/var/tmp/tmt/run-005/plans/integration/discover/tests.yaml'.
    Step is done, not touching its data.
    DiscoverPlugin.delegate(step=discover, data=DiscoverShellData(name='default-0', how='shell', order=50, summary=None, where=[], dist_git_source=False, dist_git_type=None, dist_git_download_only=False, dist_git_install_builddeps=False, dist_git_require=[], tests=[TestDescription(name='script-00', test=<tmt.utils.ShellScript object at 0x7f668d707a40>, summary=None, description=None, enabled=True, order=50, link=Links(), id=None, tag=[], tier=None, adjust=None, contact=[], component=[], path=None, framework=None, manual=False, tty=False, require=[], recommend=[], environment={}, duration='1h', result='respect')], url=None, ref=None, keep_git_metadata=False), raw_data=None)
    Using the 'DiscoverShell' plugin for the 'shell' method.
        step is done, not overwriting plugin data
    Discover wake up complete (already done before).
provision
    Workdir '/var/tmp/tmt/run-005/plans/integration/provision' already exists.
    Read file '/var/tmp/tmt/run-005/plans/integration/provision/step.yaml'.
    Successfully loaded step data.
    Module 'tmt.steps.provision.testcloud' already imported.
    status: done
    Read file '/var/tmp/tmt/run-005/plans/integration/provision/guests.yaml'.
    Module 'tmt.steps.provision.testcloud' already imported.
    Step is done, not touching its data.
    ProvisionPlugin.delegate(step=provision, data=ProvisionTestcloudData(name='default-0', how='virtual', order=50, summary=None, role=None, hardware=None, _OPTIONLESS_FIELDS=['primary_address', 'topology_address', 'facts'], primary_address=None, topology_address=None, become=False, facts=GuestFacts(in_sync=False, arch=None, distro=None, kernel_release=None, package_manager=None, has_selinux=None, is_superuser=None, capabilities={}, os_release_content={}, lsb_release_content={}), port=None, user='root', key=[], password=None, ssh_option=[], image='file://./target/testvm/disk.qcow2', memory=None, disk=<Quantity(20, 'gigabyte')>, connection='session', arch='x86_64', list_local_images=False, image_url=None, instance_name=None), raw_data=None)
    Using the 'ProvisionTestcloud' plugin for the 'virtual' method.
        step is done, not overwriting plugin data
        Waking up testcloud instance 'tmt-005-KrlinjdP'.
        testcloud version: 0.9.12
    Provision wake up complete (already done before).
prepare
    Workdir '/var/tmp/tmt/run-005/plans/integration/prepare' already exists.
    Read file '/var/tmp/tmt/run-005/plans/integration/prepare/step.yaml'.
    Successfully loaded step data.
    Module 'tmt.steps.prepare.shell' already imported.
    status: done
    Step is done, not touching its data.
    PreparePlugin.delegate(step=prepare, data=PrepareShellData(name='default-0', how='shell', order=50, summary=None, where=[], script=[]), raw_data=None)
    Using the 'PrepareShell' plugin for the 'shell' method.
        step is done, not overwriting plugin data
    Prepare wake up complete (already done before).
execute
    Workdir '/var/tmp/tmt/run-005/plans/integration/execute' already exists.
    Read file '/var/tmp/tmt/run-005/plans/integration/execute/step.yaml'.
    Successfully loaded step data.
    Module 'tmt.steps.execute.internal' already imported.
    status: done
    Read file '/var/tmp/tmt/run-005/plans/integration/execute/results.yaml'.
    Step is done, not touching its data.
    ExecutePlugin.delegate(step=execute, data=ExecuteInternalData(name='default-0', how='tmt', order=50, summary=None, where=[], duration='1h', exit_first=False, script=[<tmt.utils.ShellScript object at 0x7f668773c050>], interactive=False, no_progress_bar=False), raw_data=None)
    Using the 'ExecuteInternal' plugin for the 'tmt' method.
        step is done, not overwriting plugin data
    Execute wake up complete (already done before).
report
    Workdir '/var/tmp/tmt/run-005/plans/integration/report' already exists.
    Read file '/var/tmp/tmt/run-005/plans/integration/report/step.yaml'.
    Successfully loaded step data.
    Module 'tmt.steps.report.display' already imported.
    status: done
    Report step always force mode enabled.
    Clean up workdir '/var/tmp/tmt/run-005/plans/integration/report'.
    status: todo
    ReportPlugin.delegate(step=report, data=None, raw_data={'name': 'default-0', 'how': 'display', 'order': 50, 'summary': None, 'display-guest': 'auto'})
    Using the 'ReportDisplay' plugin for the 'display' method.
    ReportPlugin.delegate(step=report, data=ReportDisplayData(name='default-0', how='display', order=50, summary=None, display_guest='auto'), raw_data=None)
    Using the 'ReportDisplay' plugin for the 'display' method.
    Workdir '/var/tmp/tmt/run-005/plans/integration/report' created.
    Write file '/var/tmp/tmt/run-005/plans/integration/report/step.yaml'.
finish
    Workdir '/var/tmp/tmt/run-005/plans/integration/finish' already exists.
    Read file '/var/tmp/tmt/run-005/plans/integration/finish/step.yaml'.
    Successfully loaded step data.
    Module 'tmt.steps.finish.shell' already imported.
    status: done
    Step is done, not touching its data.
    FinishPlugin.delegate(step=finish, data=FinishShellData(name='default-0', how='shell', order=50, summary=None, where=[], script=[]), raw_data=None)
    Using the 'FinishShell' plugin for the 'shell' method.
        step is done, not overwriting plugin data
    Finish wake up complete (already done before).
action
    Insert a login plugin into the 'finish' step with order '90'.
go
    discover
    workdir: /var/tmp/tmt/run-005/plans/integration/discover
        status: done
        summary: 1 test selected
            /script-00
    provision
    workdir: /var/tmp/tmt/run-005/plans/integration/provision
        status: done
        summary: 1 guest provisioned
    prepare
    workdir: /var/tmp/tmt/run-005/plans/integration/prepare
        status: done
        summary: 0 preparations applied
    execute
    workdir: /var/tmp/tmt/run-005/plans/integration/execute
        status: done
        summary: 1 test executed
    report
    workdir: /var/tmp/tmt/run-005/plans/integration/report
        how: display
        order: 50
            pass /script-00
                output.txt: /var/tmp/tmt/run-005/plans/integration/execute/data/guest/default-0/script-00-1/output.txt
        Workdir '/var/tmp/tmt/run-005/plans/integration/report/default-0' created.
        Read file '/var/tmp/tmt/run-005/plans/integration/execute/data/guest/default-0/script-00-1/output.txt'.
                content:
                    ++ pytest tests/booted/basic.py
                    ============================= test session starts ==============================
                    platform linux -- Python 3.9.19, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
                    rootdir: /var/tmp/tmt/run-005/plans/integration/tree
                    collected 1 item
                    
                    tests/booted/basic.py .                                                  [100%]
                    
                    ============================== 1 passed in 0.03s ===============================
                    ++ ls tests/booted/001-test-status.nu
                    ++ read t
                    ++ sort -n
                    ++ nu tests/booted/001-test-status.nu
                    TAP version 14
                    verify bootc status --json looks sane
                    ok
                    ++ read t
        summary: 1 test passed
    status: done
    Write file '/var/tmp/tmt/run-005/plans/integration/report/step.yaml'.
    finish
    workdir: /var/tmp/tmt/run-005/plans/integration/finish
        status: done
        summary: 1 task completed
        login: Starting interactive shell
        Push workdir to guest '127.0.0.1'.
        Spawning the SSH master process: ssh -oForwardX11=no -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oConnectionAttempts=5 -oConnectTimeout=60 -oServerAliveInterval=5 -oServerAliveCountMax=60 -oIdentitiesOnly=yes -p10023 -i /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa -oPasswordAuthentication=no -S/run/user/1000/tmt/tmpqosjs_6b -oForwardX11=no -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oConnectionAttempts=5 -oConnectTimeout=60 -oServerAliveInterval=5 -oServerAliveCountMax=60 -oIdentitiesOnly=yes -p10023 -i /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa -oPasswordAuthentication=no -S/run/user/1000/tmt/tmpqosjs_6b -MNnT root@127.0.0.1
        Workdir '/var/tmp/tmt/run-005/plans/integration/provision/default-0' already exists.
        Run command: rsync -s -R -r -z --links --safe-links --delete -e 'ssh -oForwardX11=no -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oConnectionAttempts=5 -oConnectTimeout=60 -oServerAliveInterval=5 -oServerAliveCountMax=60 -oIdentitiesOnly=yes -p10023 -i /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa -oPasswordAuthentication=no -S/run/user/1000/tmt/tmpqosjs_6b' /var/tmp/tmt/run-005/plans/integration root@127.0.0.1:/
        err: Warning: Identity file /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa not accessible: No such file or directory.
        err: ssh: connect to host 127.0.0.1 port 10023: Connection refused
        err: rsync: connection unexpectedly closed (0 bytes received so far) [sender]
        err: rsync error: unexplained error (code 255) at io.c(231) [sender=3.3.0]
        Command returned '255'.
        Ensure that rsync is installed on the guest.
        Execute command 'export TMT_PLAN_DATA=/var/tmp/tmt/run-005/plans/integration/data; export TMT_PLAN_ENVIRONMENT_FILE=/var/tmp/tmt/run-005/plans/integration/data/variables.env; export TMT_TREE=/var/tmp/tmt/run-005/plans/integration/tree; export TMT_VERSION=1.33.0; rsync --version' on guest '127.0.0.1'.
        Run command: ssh -oForwardX11=no -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oConnectionAttempts=5 -oConnectTimeout=60 -oServerAliveInterval=5 -oServerAliveCountMax=60 -oIdentitiesOnly=yes -p10023 -i /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa -oPasswordAuthentication=no -S/run/user/1000/tmt/tmpqosjs_6b root@127.0.0.1 'export TMT_PLAN_DATA=/var/tmp/tmt/run-005/plans/integration/data; export TMT_PLAN_ENVIRONMENT_FILE=/var/tmp/tmt/run-005/plans/integration/data/variables.env; export TMT_TREE=/var/tmp/tmt/run-005/plans/integration/tree; export TMT_VERSION=1.33.0; rsync --version'
            cmd: rsync --version
            err: Warning: Identity file /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa not accessible: No such file or directory.
            err: ssh: connect to host 127.0.0.1 port 10023: Connection refused
        Command returned '255'.
        Execute command 'export TMT_PLAN_DATA=/var/tmp/tmt/run-005/plans/integration/data; export TMT_PLAN_ENVIRONMENT_FILE=/var/tmp/tmt/run-005/plans/integration/data/variables.env; export TMT_TREE=/var/tmp/tmt/run-005/plans/integration/tree; export TMT_VERSION=1.33.0; rpm -q --whatprovides rsync || rpm-ostree install --apply-live --idempotent --allow-inactive --installroot=/root/pkg --releasever=/ rsync' on guest '127.0.0.1'.
        Run command: ssh -oForwardX11=no -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oConnectionAttempts=5 -oConnectTimeout=60 -oServerAliveInterval=5 -oServerAliveCountMax=60 -oIdentitiesOnly=yes -p10023 -i /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa -oPasswordAuthentication=no -S/run/user/1000/tmt/tmpqosjs_6b root@127.0.0.1 'export TMT_PLAN_DATA=/var/tmp/tmt/run-005/plans/integration/data; export TMT_PLAN_ENVIRONMENT_FILE=/var/tmp/tmt/run-005/plans/integration/data/variables.env; export TMT_TREE=/var/tmp/tmt/run-005/plans/integration/tree; export TMT_VERSION=1.33.0; rpm -q --whatprovides rsync || rpm-ostree install --apply-live --idempotent --allow-inactive --installroot=/root/pkg --releasever=/ rsync'
            cmd: rpm -q --whatprovides rsync || rpm-ostree install --apply-live --idempotent --allow-inactive --installroot=/root/pkg --releasever=/ rsync
            err: Warning: Identity file /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa not accessible: No such file or directory.
            err: ssh: connect to host 127.0.0.1 port 10023: Connection refused
        Command returned '255'.
        fail: Failed to push workdir to the guest. This usually means that login as 'root' to the guest does not work.
        warn: Failed to push workdir to the guest.
        Execute command 'export TMT_PLAN_DATA=/var/tmp/tmt/run-005/plans/integration/data; export TMT_PLAN_ENVIRONMENT_FILE=/var/tmp/tmt/run-005/plans/integration/data/variables.env; export TMT_TREE=/var/tmp/tmt/run-005/plans/integration/tree; export TMT_VERSION=1.33.0; bash' on guest '127.0.0.1'.
        Run command: ssh -oForwardX11=no -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oConnectionAttempts=5 -oConnectTimeout=60 -oServerAliveInterval=5 -oServerAliveCountMax=60 -oIdentitiesOnly=yes -p10023 -i /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa -oPasswordAuthentication=no -S/run/user/1000/tmt/tmpqosjs_6b -t root@127.0.0.1 'export TMT_PLAN_DATA=/var/tmp/tmt/run-005/plans/integration/data; export TMT_PLAN_ENVIRONMENT_FILE=/var/tmp/tmt/run-005/plans/integration/data/variables.env; export TMT_TREE=/var/tmp/tmt/run-005/plans/integration/tree; export TMT_VERSION=1.33.0; bash'
            cmd: bash
Warning: Identity file /var/tmp/tmt/run-005/plans/integration/provision/default-0/id_ecdsa not accessible: No such file or directory.
ssh: connect to host 127.0.0.1 port 10023: Connection refused
        Command returned '255'.
        warn: Command exited with non-zero exit code 255.
        login: Interactive shell finished

total: 1 test passed
$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment