Add your description here
Project description
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:
- Detecting provision sections: Looks for
provisionorruncommands in the TMT arguments - Replacing connection details: Automatically replaces or adds SSH connection parameters (
-h connect -g <host> -P <port> -u <username> -p <password>) - 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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jumpstarter_driver_tmt-0.7.2.tar.gz.
File metadata
- Download URL: jumpstarter_driver_tmt-0.7.2.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36512e813bd918a37768a28a4b4c59f43a8168d933568cc88b8052cd48e55a70
|
|
| MD5 |
e019f3da9bd9d9944a135eb5763542e4
|
|
| BLAKE2b-256 |
19ed4ef0e55d718de8994109599d413993bb7d8133dc8de7ded3ab4cdef0ebad
|
File details
Details for the file jumpstarter_driver_tmt-0.7.2-py3-none-any.whl.
File metadata
- Download URL: jumpstarter_driver_tmt-0.7.2-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3001450133d0b16d0b6b137f56afc07b3783218c8d44a5bca4b5e700375375ca
|
|
| MD5 |
1603a95af57a8c0688fe48d5e59ed200
|
|
| BLAKE2b-256 |
88f58b31300c15394d50a2604d234537226e0819a374e8bb91264dba9274173f
|