Skip to main content

TMT Driver

jumpstarter-driver-tmt provides functionality for running TMT (Test Management Tool) commands locally while connecting to remote devices via SSH network connections. This driver allows you to execute TMT test plans and commands that provision and test remote hardware through SSH connections.

Installation

pip3 install --extra-index-url https://pkg.jumpstarter.dev/simple/ jumpstarter-driver-tmt

Configuration

Example configuration:

export:
  tmt:
    type: jumpstarter_driver_tmt.driver.TMT
    config:
      reboot_cmd: "j power cycle"
      default_username: "root"
      default_password: "somePassword"
    children:
      ssh:
        type: jumpstarter_driver_network.driver.TcpNetwork
        config:
          host: "192.168.1.100"
          port: 22
          enable_address: true

Config parameters

Parameter Description Type Required Default
reboot_cmd Command to reboot the target device str no "j power cycle"
default_username Default username for SSH connections str no ""
default_password Default password for SSH connections str no ""

Required Children

Child Description Required
ssh Network TCP driver instance for SSH connection yes

Usage

CLI Commands

The TMT driver provides a CLI command tmt that allows you to run TMT commands locally while connecting to remote devices:

# assuming that your DUT has a power and storage driver
j power on
j storage flash ....

# Running part of your plan with tmt
j tmt --root . -c tracing=off -c arch=aarch64 -c distro=rhel-9 -c hw_target=rcar_s4 run --workdir-root /tmp/ -a -vv provision .. some other provisioning... plan -vv --name ^/podman/plans/fusa/tests$

# Use SSH port forwarding (if no direct connection to the DUT is possible)
j tmt --forward-ssh ....

# Specify custom username and password
j tmt --tmt-username root --tmt-password mypassword ...

# Raise log level of the tmt wrapper driver
j --log-level DEBUG tmt --root . -c tracing=off -c arch=aarch64 -c distro=rhel-9 -c hw_target=r
car_s4 run --workdir-root /tmp/ -a -vv provision .. some other provisioning... plan -vv --name ^/podman/plans/fusa/te
sts$
[09/22/25 13:27:18] DEBUG    Using direct SSH connection for tmt - host: 127.0.0.1, port: 2222           client.py:64
                    DEBUG    Provision to be replaced: ('provision', '..', 'some', 'other',             client.py:117
                             'provisioning...')                                                                      
                    DEBUG    Will be replaced with: ['provision', '-h', 'connect', '-g', '127.0.0.1',   client.py:118
                             '-P', '2222', '-u', 'root', '-p', '******']                                           
                    DEBUG    Running TMT command: ['tmt', '--root', '.', '-c', 'tracing=off', '-c',      client.py:74
                             'arch=aarch64', '-c', 'distro=rhel-9', '-c', 'hw_target=rcar_s4', 'run',                
                             '--workdir-root', '/tmp/', '-a', '-vv', 'provision', '-h', 'connect', '-g',             
                             '127.0.0.1', '-P', '2222', '-u', 'root', '-p', '******', 'plan', '-vv',               
                             '--name', '^/podman/plans/fusa/tests$']                                                 
/tmp/run-018
...

CLI Options

Option Description Default
--forward-ssh Use SSH port forwarding for connection false
--tmt-username Username for SSH connections from config
--tmt-password Password for SSH connections from config
--tmt-cmd TMT command to execute "tmt"
--tmt-on-exporter Run TMT on the exporter (not implemented) false

Provision Arguments Handling

The driver automatically handles TMT provision arguments by:

  1. Detecting provision sections: Looks for provision or run commands in the TMT arguments
  2. Replacing connection details: Automatically replaces or adds SSH connection parameters (-h connect -g <host> -P <port> -u <username> -p <password>)
  3. Preserving other arguments: Keeps all other TMT arguments intact

Example of how arguments are transformed:

# Input command
j tmt run --name /my/test/plan provision -h connect -g 192.168.1.100 -P 22

# Automatically transformed to use SSH connection
# TMT receives: run --name /my/test/plan provision -h connect -g <forwarded_host> -P <forwarded_port> -u root -p password

API Reference

.. autoclass:: jumpstarter_driver_tmt.driver.TMT()

Release files for jumpstarter-driver-tmt 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jumpstarter-driver-tmt 0.9.0
File Size Uploaded
jumpstarter_driver_tmt-0.9.0.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jumpstarter-driver-tmt 0.9.0
File Interpreter ABI Platform
jumpstarter_driver_tmt-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.4 kB

Release files / jumpstarter_driver_tmt-0.9.0.tar.gz

Download URL jumpstarter_driver_tmt-0.9.0.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
fd5d29e8ab37182dc10b9ed9192e20f3da7d423925bfbcb07748b8323b521e40
BLAKE2b-256 checksum
How to use checksums
a294f6f5bc486dec3273b489c51734a8525bd86a702d3fd022a8bce3d341b119
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release files / jumpstarter_driver_tmt-0.9.0-py3-none-any.whl

Download URL jumpstarter_driver_tmt-0.9.0-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af804f8c0bb34a55d078bac6487ac5df5387d5a8c0225a5fac457e6694ed5fa6
BLAKE2b-256 checksum
How to use checksums
32e1b88a8bbd558d2d2b072736207473f59d822902652903c64c8decdb96fa4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.1

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page