This is a HTML-ification of Task state (task.state) and
the associated files in the task output directory.
Below is the doc section of the task.
Bring up the Linux kernel NVMe-over-TCP target, probe it, and tear it down. Suitable for developer use: invoke individual steps by name, e.g. ``cijoe tasks/transports-tcp-linux.yaml nvme_target_start`` to bring up the target, and ``cijoe tasks/transports-tcp-linux.yaml nvme_target_stop`` to tear it down. Running the task without selecting steps performs the full sequence (start, probe, stop) and is what docgen captures.
If a task step (script / run) or test produced any artifacts, then they are listed here.
This is the configuration (.config file) with any
variable-placeholders such as {{ local.env.HOME }} filled out.
build:
compiler:
bin: gcc
cijoe:
targets:
odus:
ssh:
hostname: localhost
password: odus.321
port: 4200
username: odus
root:
ssh:
hostname: localhost
password: root
port: 4200
username: root
devices:
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- scc
- write_zeroes
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme0n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- scc
- write_zeroes
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng0n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- scc
- write_zeroes
- ctrlr
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:01:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- zns
- zrwa
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme1n1
- driver_attachment: kernel
labels:
- dev
- cdev
- zns
- zrwa
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng1n1
- driver_attachment: userspace
labels:
- dev
- pcie
- zns
- zrwa
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:02:00.0'
- driver_attachment: kernel
labels:
- dev
- cdev
- kvs
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng2n1
- driver_attachment: userspace
labels:
- dev
- pcie
- kvs
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:03:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- scc
- write_zeroes
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme3n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- scc
- write_zeroes
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng3n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- scc
- write_zeroes
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:04:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- scc
- large_mdts
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme4n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- scc
- large_mdts
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng4n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- scc
- large_mdts
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:05:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- scc
- fdp
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme5n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- scc
- fdp
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng5n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- scc
- fdp
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:06:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- pi1
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme6n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- pi1
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng6n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- pi1
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:07:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- pi2
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme7n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- pi2
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng7n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- pi2
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:08:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- pi3
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme8n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- pi3
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng8n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- pi3
- log_health_ns
- idfy_cs
nsid: 1
uri: '0000:09:00.0'
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- pi1_ex
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme9n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- pi1_ex
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng9n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- pi1_ex
- log_health_ns
- idfy_cs
nsid: 1
uri: 0000:0a:00.0
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- pi1_pif2
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/nvme10n1
- driver_attachment: kernel
labels:
- dev
- cdev
- nvm
- pi1_pif2
- log_health_ns
- idfy_cs
nsid: 1
uri: /dev/ng10n1
- driver_attachment: userspace
labels:
- dev
- pcie
- nvm
- pi1_pif2
- log_health_ns
- idfy_cs
nsid: 1
uri: 0000:0b:00.0
- driver_attachment: kernel
labels:
- ctrlr
- cdev
- log_health_ns
- idfy_cs
nsid: 0
uri: /dev/nvme0
- device_path: /dev/nvme3n1
driver_attachment: none
labels:
- dev
- fabrics
- nvm
- write_zeroes
- log_health_ns
- idfy_cs
nsid: 1
pcie_id: '0000:04:00.0'
subnqn: nqn.2019-08.org.qemu:beef0003
uri: 127.0.0.1:4420
- device_path: /dev/nvme1n1
driver_attachment: none
labels:
- dev
- fabrics
- zns
- log_health_ns
- idfy_cs
nsid: 1
pcie_id: '0000:02:00.0'
subnqn: nqn.2019-08.org.qemu:beef0001
uri: 127.0.0.1:4421
- driver_attachment: none
labels:
- dev
- fabrics
- kvs
- log_health_ns
- idfy_cs
nsid: 1
passthrough: true
pcie_id: '0000:03:00.0'
subnqn: nqn.2019-08.org.qemu:beef0002
uri: 127.0.0.1:4422
- driver_attachment: kernel
labels:
- file
- log_health_ns
- idfy_cs
nsid: 1
uri: /tmp/xnvme-testfile.bin
- driver_attachment: kernel
labels:
- dev
- bdev
- nvm
- ramdisk
- write_zeroes
- log_health_ns
- idfy_cs
nsid: 1
uri: 2GB
fio:
bin: fio
engines:
io_uring:
type: builtin
io_uring_cmd:
type: builtin
libaio:
type: builtin
spdk_bdev:
path: /opt/aux/spdk_bdev
type: external_preload
spdk_nvme:
path: /opt/aux/spdk_nvme
type: external_preload
xnvme:
type: builtin
repository:
path: /root/git/fio
remote: https://github.com/axboe/fio.git
tag: fio-3.38
hugetlbfs:
mount_point: /mnt/huge
nr_hugepages: '1024'
os:
name: debian
version: trixie
qemu:
default_guest: trixie_amd64
default_systemimage: debian-13-x86_64
guests:
trixie_amd64:
path: /github/home/guests/debian-trixie-amd64
system_args:
kwa:
accel: kvm
cpu: host
m: 6G
smp: 4
raw: '-M "type=q35,kernel_irqchip=split" -device "intel-iommu,pt=on,intremap=on,caching-mode=on" '
tcp_forward:
guest: 22
host: 4200
system_label: x86_64
img_bin: qemu-img
systems:
x86_64:
bin: qemu-system-x86_64
rig:
devices:
nvme0:
children:
- nvme-ns,drive=nvme0n1,nsid=1,logical_block_size=4096,physical_block_size=4096
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme0n1,file=/github/home/guests/storage-node-emulated/nvme0n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme0n1.img
size: 8G
labels:
- nvm
- scc
- write_zeroes
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0000
nvme1:
children:
- nvme-ns,drive=nvme1n1,nsid=1,logical_block_size=4096,physical_block_size=4096,zoned=on,zoned.zone_size=32M,zoned.zone_capacity=28M,zoned.max_active=256,zoned.max_open=256,zoned.zrwas=131072,zoned.zrwafg=65536,zoned.numzrwa=256
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme1n1,file=/github/home/guests/storage-node-emulated/nvme1n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme1n1.img
size: 8G
labels:
- zns
- zrwa
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0001
nvme10:
children:
- nvme-ns,drive=nvme10n1,nsid=1,logical_block_size=4096,physical_block_size=4096,ms=16,pi=1,pif=2
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme10n1,file=/github/home/guests/storage-node-emulated/nvme10n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme10n1.img
size: 8G
labels:
- nvm
- pi1_pif2
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0010
nvme2:
labels:
- kvs
- log_health_ns
- idfy_cs
provider: vfio-user
serial: VFUKVSSD000000000000
server: env VFU_KVSSD_TRACE=1 /usr/bin/vfu_kvssd -s {socket}
socket: /github/home/run/vfu_kvssd.sock
nvme3:
children:
- nvme-ns,drive=nvme3n1,nsid=1,logical_block_size=4096,physical_block_size=4096
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme3n1,file=/github/home/guests/storage-node-emulated/nvme3n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme3n1.img
size: 8G
labels:
- nvm
- scc
- write_zeroes
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0003
nvme4:
children:
- nvme-ns,drive=nvme4n1,nsid=1,logical_block_size=4096,physical_block_size=4096
device: nvme,mdts=9,ioeventfd=on,max_ioqpairs=32
drives:
- id=nvme4n1,file=/github/home/guests/storage-node-emulated/nvme4n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme4n1.img
size: 8G
labels:
- nvm
- scc
- large_mdts
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0004
nvme5:
children:
- nvme-ns,drive=nvme5n1,nsid=1,logical_block_size=4096,physical_block_size=4096,fdp.ruhs=0;5;6;7
device: nvme,mdts=7,ioeventfd=on,subsys=nvme5_subsys
drives:
- id=nvme5n1,file=/github/home/guests/storage-node-emulated/nvme5n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme5n1.img
size: 8G
labels:
- nvm
- scc
- fdp
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0005
nvme5_subsys:
bus: false
device: nvme-subsys,fdp=on,fdp.nruh=8,fdp.nrg=32,fdp.runs=40960
provider: qemu
nvme6:
children:
- nvme-ns,drive=nvme6n1,nsid=1,logical_block_size=4096,physical_block_size=4096,ms=8,pi=1
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme6n1,file=/github/home/guests/storage-node-emulated/nvme6n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme6n1.img
size: 8G
labels:
- nvm
- pi1
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0006
nvme7:
children:
- nvme-ns,drive=nvme7n1,nsid=1,logical_block_size=4096,physical_block_size=4096,ms=8,pi=2
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme7n1,file=/github/home/guests/storage-node-emulated/nvme7n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme7n1.img
size: 8G
labels:
- nvm
- pi2
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0007
nvme8:
children:
- nvme-ns,drive=nvme8n1,nsid=1,logical_block_size=4096,physical_block_size=4096,ms=8,pi=3
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme8n1,file=/github/home/guests/storage-node-emulated/nvme8n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme8n1.img
size: 8G
labels:
- nvm
- pi3
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0008
nvme9:
children:
- nvme-ns,drive=nvme9n1,nsid=1,logical_block_size=4096,physical_block_size=4096,ms=8,mset=1,pi=1
device: nvme,mdts=7,ioeventfd=on
drives:
- id=nvme9n1,file=/github/home/guests/storage-node-emulated/nvme9n1.img,format=raw,if=none,discard=on,detect-zeroes=unmap,cache=none,aio=io_uring
image:
path: /github/home/guests/storage-node-emulated/nvme9n1.img
size: 8G
labels:
- nvm
- pi1_ex
- log_health_ns
- idfy_cs
provider: qemu
serial: beef0009
xnvme:
build:
type: debug
repository:
path: /github/home/git/xnvme
remote: https://github.com/xnvme/xnvme.git
sync:
branch: wip
remote_alias: guest
remote_path: /root/git/xnvme
These are the facts the steps observed, as the run left them in
facts.toml, each with the step that last wrote it; a
step's facts button shows the facts it wrote.
| Fact | Value | Written by |
|---|---|---|
targets.initiator.os.family |
linux
|
(start of run) |
targets.initiator.os.id |
ubuntu
|
(start of run) |
targets.initiator.os.version_id |
26.04
|
(start of run) |
targets.initiator.os.name |
Ubuntu
|
(start of run) |
targets.initiator.os.pretty_name |
Ubuntu 26.04.1 LTS
|
(start of run) |
targets.initiator.tools.uname.name |
uname
|
(start of run) |
targets.initiator.tools.uname.found |
True
|
(start of run) |
targets.initiator.tools.uname.path |
/usr/bin/uname
|
(start of run) |
targets.initiator.tools.uname.version |
0.10.0
|
(start of run) |
targets.initiator.tools.getconf.name |
getconf
|
(start of run) |
targets.initiator.tools.getconf.found |
True
|
(start of run) |
targets.initiator.tools.getconf.path |
/usr/bin/getconf
|
(start of run) |
targets.initiator.tools.getconf.version |
2.43
|
(start of run) |
targets.initiator.kernel.name |
Linux
|
(start of run) |
targets.initiator.kernel.release |
7.0.0-1017-azure
|
(start of run) |
targets.initiator.kernel.machine |
x86_64
|
(start of run) |
targets.initiator.system.cpus |
4
|
(start of run) |
targets.initiator.system.memory_kib |
16367520
|
(start of run) |
Steps uses scripts. A description of the script used by
the current step is provided below. The description is extracted from the docstring
of the script and provided here in verbatim / as-is.
Bring up an NVMe transport target
=====================================
Configure an NVMe target listening on a transport. Two providers are
supported via ``--nvme-provider``:
* ``spdk`` (default): use the SPDK ``nvmf_tgt`` application driven through
``rpc.py`` to export a locally attached PCIe NVMe device.
* ``linux``: use the Linux kernel ``nvmet`` driver through configfs to
export an existing ``/dev/nvmeXn1``.
Each cijoe config entry labelled ``fabrics`` (legacy label name) becomes one
subsystem, listening on the ``uri`` of the entry, e.g. ``127.0.0.1:4420``.
Passthrough is off unless the entry sets ``passthrough = true``; the Linux
provider skips such entries.
Retargetable: True
The facts this step wrote, with their values as the run left them.
{}
{'description': '\n'
'Bring up an NVMe transport target\n'
'=====================================\n'
'\n'
'Configure an NVMe target listening on a transport. Two '
'providers are\n'
'supported via ``--nvme-provider``:\n'
'\n'
'* ``spdk`` (default): use the SPDK ``nvmf_tgt`` application '
'driven through\n'
' ``rpc.py`` to export a locally attached PCIe NVMe device.\n'
'* ``linux``: use the Linux kernel ``nvmet`` driver through '
'configfs to\n'
' export an existing ``/dev/nvmeXn1``.\n'
'\n'
'Each cijoe config entry labelled ``fabrics`` (legacy label '
'name) becomes one\n'
'subsystem, listening on the ``uri`` of the entry, e.g. '
'``127.0.0.1:4420``.\n'
'Passthrough is off unless the entry sets ``passthrough = '
'true``; the Linux\n'
'provider skips such entries.\n'
'\n'
'Retargetable: True\n',
'extras': {'facts': {},
'runlog': {'cmd_01': {'output': '0000:01:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:02:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:03:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:04:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:05:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:06:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:07:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:08:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:09:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:0a:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:0b:00.0 (1b36 0010): '
'vfio-pci -> nvme\n'
'0000:00:02.0 (1af4 1001): Already '
'using the virtio-pci driver\n',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_01.output'),
'state': {'begin': 1793423690.6500387,
'cmd': 'xnvme-driver reset',
'cwd': 'None',
'elapsed': 2.843888282775879,
'end': 1793423693.493927,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_01.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_01.state')},
'cmd_02': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_02.output'),
'state': {'begin': 1793423693.4945397,
'cmd': 'modprobe nvme',
'cwd': 'None',
'elapsed': 0.008753776550292969,
'end': 1793423693.5032935,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_02.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_02.state')},
'cmd_03': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_03.output'),
'state': {'begin': 1793423693.503774,
'cmd': 'modprobe nvmet',
'cwd': 'None',
'elapsed': 0.06586289405822754,
'end': 1793423693.5696368,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_03.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_03.state')},
'cmd_04': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_04.output'),
'state': {'begin': 1793423693.5702436,
'cmd': 'modprobe nvmet_tcp',
'cwd': 'None',
'elapsed': 0.05342984199523926,
'end': 1793423693.6236734,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_04.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_04.state')},
'cmd_05': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_05.output'),
'state': {'begin': 1793423693.624299,
'cmd': 'mountpoint -q '
'/sys/kernel/config || '
'mount -t configfs none '
'/sys/kernel/config',
'cwd': 'None',
'elapsed': 0.05228877067565918,
'end': 1793423693.6765878,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_05.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_05.state')},
'cmd_06': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_06.output'),
'state': {'begin': 1793423693.677266,
'cmd': 'mkdir -p '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003',
'cwd': 'None',
'elapsed': 0.04589247703552246,
'end': 1793423693.7231584,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_06.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_06.state')},
'cmd_07': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_07.output'),
'state': {'begin': 1793423693.7238274,
'cmd': 'echo 1 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/attr_allow_any_host',
'cwd': 'None',
'elapsed': 0.054450273513793945,
'end': 1793423693.7782776,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_07.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_07.state')},
'cmd_08': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_08.output'),
'state': {'begin': 1793423693.7788887,
'cmd': 'mkdir -p '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1',
'cwd': 'None',
'elapsed': 0.059600114822387695,
'end': 1793423693.8384888,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_08.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_08.state')},
'cmd_09': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_09.output'),
'state': {'begin': 1793423693.8390722,
'cmd': 'echo -n /dev/nvme3n1 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/device_path',
'cwd': 'None',
'elapsed': 0.04691362380981445,
'end': 1793423693.8859859,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_09.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_09.state')},
'cmd_10': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_10.output'),
'state': {'begin': 1793423693.8870544,
'cmd': 'echo 1 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/enable',
'cwd': 'None',
'elapsed': 0.04616689682006836,
'end': 1793423693.9332213,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_10.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_10.state')},
'cmd_11': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_11.output'),
'state': {'begin': 1793423693.9338386,
'cmd': 'mkdir -p '
'/sys/kernel/config/nvmet/ports/1',
'cwd': 'None',
'elapsed': 0.05041790008544922,
'end': 1793423693.9842565,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_11.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_11.state')},
'cmd_12': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_12.output'),
'state': {'begin': 1793423693.9848542,
'cmd': 'echo 127.0.0.1 > '
'/sys/kernel/config/nvmet/ports/1/addr_traddr',
'cwd': 'None',
'elapsed': 0.049193620681762695,
'end': 1793423694.0340478,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_12.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_12.state')},
'cmd_13': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_13.output'),
'state': {'begin': 1793423694.0346835,
'cmd': 'echo tcp > '
'/sys/kernel/config/nvmet/ports/1/addr_trtype',
'cwd': 'None',
'elapsed': 0.0545046329498291,
'end': 1793423694.089188,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_13.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_13.state')},
'cmd_14': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_14.output'),
'state': {'begin': 1793423694.089809,
'cmd': 'echo 4420 > '
'/sys/kernel/config/nvmet/ports/1/addr_trsvcid',
'cwd': 'None',
'elapsed': 0.04934334754943848,
'end': 1793423694.1391523,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_14.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_14.state')},
'cmd_15': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_15.output'),
'state': {'begin': 1793423694.139766,
'cmd': 'echo ipv4 > '
'/sys/kernel/config/nvmet/ports/1/addr_adrfam',
'cwd': 'None',
'elapsed': 0.049165964126586914,
'end': 1793423694.188932,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_15.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_15.state')},
'cmd_16': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_16.output'),
'state': {'begin': 1793423694.1895814,
'cmd': 'ln -s '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003 '
'/sys/kernel/config/nvmet/ports/1/subsystems/nqn.2019-08.org.qemu:beef0003',
'cwd': 'None',
'elapsed': 0.052039146423339844,
'end': 1793423694.2416205,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_16.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_16.state')},
'cmd_17': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_17.output'),
'state': {'begin': 1793423694.242408,
'cmd': 'mkdir -p '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001',
'cwd': 'None',
'elapsed': 0.05733895301818848,
'end': 1793423694.299747,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_17.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_17.state')},
'cmd_18': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_18.output'),
'state': {'begin': 1793423694.300531,
'cmd': 'echo 1 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/attr_allow_any_host',
'cwd': 'None',
'elapsed': 0.05471920967102051,
'end': 1793423694.3552501,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_18.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_18.state')},
'cmd_19': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_19.output'),
'state': {'begin': 1793423694.3558605,
'cmd': 'mkdir -p '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1',
'cwd': 'None',
'elapsed': 0.06444072723388672,
'end': 1793423694.4203012,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_19.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_19.state')},
'cmd_20': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_20.output'),
'state': {'begin': 1793423694.4209425,
'cmd': 'echo -n /dev/nvme1n1 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/device_path',
'cwd': 'None',
'elapsed': 0.055754661560058594,
'end': 1793423694.4766972,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_20.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_20.state')},
'cmd_21': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_21.output'),
'state': {'begin': 1793423694.4773657,
'cmd': 'echo 1 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/enable',
'cwd': 'None',
'elapsed': 0.04456782341003418,
'end': 1793423694.5219336,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_21.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_21.state')},
'cmd_22': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_22.output'),
'state': {'begin': 1793423694.5225544,
'cmd': 'mkdir -p '
'/sys/kernel/config/nvmet/ports/2',
'cwd': 'None',
'elapsed': 0.04533863067626953,
'end': 1793423694.567893,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_22.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_22.state')},
'cmd_23': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_23.output'),
'state': {'begin': 1793423694.5685124,
'cmd': 'echo 127.0.0.1 > '
'/sys/kernel/config/nvmet/ports/2/addr_traddr',
'cwd': 'None',
'elapsed': 0.05446362495422363,
'end': 1793423694.622976,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_23.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_23.state')},
'cmd_24': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_24.output'),
'state': {'begin': 1793423694.6236393,
'cmd': 'echo tcp > '
'/sys/kernel/config/nvmet/ports/2/addr_trtype',
'cwd': 'None',
'elapsed': 0.04939007759094238,
'end': 1793423694.6730294,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_24.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_24.state')},
'cmd_25': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_25.output'),
'state': {'begin': 1793423694.673669,
'cmd': 'echo 4421 > '
'/sys/kernel/config/nvmet/ports/2/addr_trsvcid',
'cwd': 'None',
'elapsed': 0.04938316345214844,
'end': 1793423694.7230523,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_25.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_25.state')},
'cmd_26': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_26.output'),
'state': {'begin': 1793423694.7236965,
'cmd': 'echo ipv4 > '
'/sys/kernel/config/nvmet/ports/2/addr_adrfam',
'cwd': 'None',
'elapsed': 0.049314022064208984,
'end': 1793423694.7730105,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_26.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_26.state')},
'cmd_27': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_27.output'),
'state': {'begin': 1793423694.7736466,
'cmd': 'ln -s '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001 '
'/sys/kernel/config/nvmet/ports/2/subsystems/nqn.2019-08.org.qemu:beef0001',
'cwd': 'None',
'elapsed': 0.06778907775878906,
'end': 1793423694.8414357,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_27.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/001_nvme_target_start/cmd_27.state')}}},
'facts': [],
'id': '001_nvme_target_start',
'name': 'nvme_target_start',
'nr': 1,
'status': {'elapsed': 4.194510459899902,
'failed': 0,
'passed': 1,
'skipped': 0,
'started': 1793423690.6475997},
'uses': 'nvme_target_start',
'with': {'nvme-provider': 'linux'}}
$ xnvme-driver reset
0000:01:00.0 (1b36 0010): vfio-pci -> nvme
0000:02:00.0 (1b36 0010): vfio-pci -> nvme
0000:03:00.0 (1b36 0010): vfio-pci -> nvme
0000:04:00.0 (1b36 0010): vfio-pci -> nvme
0000:05:00.0 (1b36 0010): vfio-pci -> nvme
0000:06:00.0 (1b36 0010): vfio-pci -> nvme
0000:07:00.0 (1b36 0010): vfio-pci -> nvme
0000:08:00.0 (1b36 0010): vfio-pci -> nvme
0000:09:00.0 (1b36 0010): vfio-pci -> nvme
0000:0a:00.0 (1b36 0010): vfio-pci -> nvme
0000:0b:00.0 (1b36 0010): vfio-pci -> nvme
0000:00:02.0 (1af4 1001): Already using the virtio-pci driver
$ modprobe nvme
$ modprobe nvmet
$ modprobe nvmet_tcp
$ mountpoint -q /sys/kernel/config || mount -t configfs none /sys/kernel/config
$ mkdir -p /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003
$ echo 1 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/attr_allow_any_host
$ mkdir -p /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1
$ echo -n /dev/nvme3n1 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/device_path
$ echo 1 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/enable
$ mkdir -p /sys/kernel/config/nvmet/ports/1
$ echo 127.0.0.1 > /sys/kernel/config/nvmet/ports/1/addr_traddr
$ echo tcp > /sys/kernel/config/nvmet/ports/1/addr_trtype
$ echo 4420 > /sys/kernel/config/nvmet/ports/1/addr_trsvcid
$ echo ipv4 > /sys/kernel/config/nvmet/ports/1/addr_adrfam
$ ln -s /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003 /sys/kernel/config/nvmet/ports/1/subsystems/nqn.2019-08.org.qemu:beef0003
$ mkdir -p /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001
$ echo 1 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/attr_allow_any_host
$ mkdir -p /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1
$ echo -n /dev/nvme1n1 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/device_path
$ echo 1 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/enable
$ mkdir -p /sys/kernel/config/nvmet/ports/2
$ echo 127.0.0.1 > /sys/kernel/config/nvmet/ports/2/addr_traddr
$ echo tcp > /sys/kernel/config/nvmet/ports/2/addr_trtype
$ echo 4421 > /sys/kernel/config/nvmet/ports/2/addr_trsvcid
$ echo ipv4 > /sys/kernel/config/nvmet/ports/2/addr_adrfam
$ ln -s /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001 /sys/kernel/config/nvmet/ports/2/subsystems/nqn.2019-08.org.qemu:beef0001
Steps uses scripts. A description of the script used by
the current step is provided below. The description is extracted from the docstring
of the script and provided here in verbatim / as-is.
Probe a running NVMe transport target
=========================================
Issue a discovery against a listener brought up by ``nvme_target_start`` and
print basic information about the exported namespace. Used as the check step
between ``nvme_target_start`` and ``nvme_target_stop`` in the transport demo
tasks.
Retargetable: True
The facts this step wrote, with their values as the run left them.
{}
{'description': '\n'
'Probe a running NVMe transport target\n'
'=========================================\n'
'\n'
'Issue a discovery against a listener brought up by '
'``nvme_target_start`` and\n'
'print basic information about the exported namespace. Used as '
'the check step\n'
'between ``nvme_target_start`` and ``nvme_target_stop`` in the '
'transport demo\n'
'tasks.\n'
'\n'
'Retargetable: True\n',
'extras': {'facts': {},
'runlog': {'cmd_01': {'output': '\n'
'Discovery Log Number of Records '
'2, Generation counter 4\n'
'=====Discovery Log Entry 0======\n'
'trtype: tcp\n'
'adrfam: ipv4\n'
'subtype: current discovery '
'subsystem\n'
'treq: not specified, sq flow '
'control disable supported\n'
'portid: 1\n'
'trsvcid: 4420\n'
'subnqn: '
'nqn.2014-08.org.nvmexpress.discovery\n'
'traddr: 127.0.0.1\n'
'eflags: none\n'
'sectype: none\n'
'=====Discovery Log Entry 1======\n'
'trtype: tcp\n'
'adrfam: ipv4\n'
'subtype: nvme subsystem\n'
'treq: not specified, sq flow '
'control disable supported\n'
'portid: 1\n'
'trsvcid: 4420\n'
'subnqn: '
'nqn.2019-08.org.qemu:beef0003\n'
'traddr: 127.0.0.1\n'
'eflags: none\n'
'sectype: none\n',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_01.output'),
'state': {'begin': 1793423694.844558,
'cmd': 'nvme discover -t tcp -a '
'127.0.0.1 -s 4420',
'cwd': 'None',
'elapsed': 0.07947087287902832,
'end': 1793423694.9240289,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_01.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_01.state')},
'cmd_02': {'output': 'xnvme_cli_enumeration:\n'
" - {uri: '127.0.0.1:4420', "
'dtype: 0x2, nsid: 0x1, csi: 0x0, '
"kernel_driver: '', subnqn: "
"'nqn.2019-08.org.qemu:beef0003'}\n",
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_02.output'),
'state': {'begin': 1793423694.9246094,
'cmd': 'xnvme enum --uri '
'127.0.0.1:4420',
'cwd': 'None',
'elapsed': 0.6210596561431885,
'end': 1793423695.545669,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_02.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_02.state')},
'cmd_03': {'output': 'xnvme_dev:\n'
' xnvme_ident:\n'
" uri: '127.0.0.1:4420'\n"
' dtype: 0x2\n'
' nsid: 0x1\n'
' csi: 0x0\n'
" kernel_driver: ''\n"
' subnqn: '
"'nqn.2019-08.org.qemu:beef0003'\n"
' xnvme_be:\n'
" dev: {id: 'spdk'}\n"
" admin: {id: 'spdk'}\n"
" sync: {id: 'spdk'}\n"
" async: {id: 'spdk'}\n"
" mem: {id: 'spdk'}\n"
" attr: {name: 'spdk', descr: "
"'SPDK userspace NVMe driver', "
'caps: 0x1e0}\n'
' xnvme_opts:\n'
" be: 'spdk'\n"
" mem: 'spdk'\n"
" dev: 'linux'\n"
" admin: 'spdk'\n"
" sync: 'spdk'\n"
" async: 'spdk'\n"
' xnvme_geo:\n'
' type: XNVME_GEO_CONVENTIONAL\n'
' npugrp: 1\n'
' npunit: 1\n'
' nzone: 1\n'
' nsect: 2097152\n'
' nbytes: 4096\n'
' nbytes_oob: 0\n'
' tbytes: 8589934592\n'
' mdts_nbytes: 1048576\n'
' lba_nbytes: 4096\n'
' lba_extended: 0\n'
' ssw: 12\n'
' pi_type: 0\n'
' pi_loc: 0\n'
' pi_format: 0\n',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_03.output'),
'state': {'begin': 1793423695.5462499,
'cmd': 'xnvme info 127.0.0.1:4420 '
'--subnqn '
'nqn.2019-08.org.qemu:beef0003',
'cwd': 'None',
'elapsed': 0.4277632236480713,
'end': 1793423695.974013,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_03.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_03.state')},
'cmd_04': {'output': 'Running xnvmeperf with '
'arguments:\n'
'- Devices: [127.0.0.1:4420] '
'(total: 1)\n'
'- io pattern: randread\n'
'- queues per device: 1\n'
'- queue depth: 32\n'
'- gpu-issued batches per queue: '
'1\n'
'- cq in gpu memory: no\n'
'- sq in host memory: no\n'
'- buf host bounce (read to host, '
'copy to GPU): no\n'
'- io size: 4096\n'
'- runtime: 5\n'
'- CPUs: [2] (total: 1)\n'
'- host_heap_size: 16781312 bytes\n'
'\n'
'====================================================================\n'
' xnvmeperf (v0.7.5 - afcc70d) '
'(elapsed: 5.00s)\n'
'====================================================================\n'
' Device '
'CPUs IOPS MiB/s '
'Failed\n'
' 127.0.0.1:4420 '
'2 41517.26 162.18 '
'0\n'
'--------------------------------------------------------------------\n'
' '
'Total: '
'41517.26 162.18 0\n'
'====================================================================\n',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_04.output'),
'state': {'begin': 1793423695.9746656,
'cmd': 'xnvmeperf run '
'127.0.0.1:4420 --subnqn '
'nqn.2019-08.org.qemu:beef0003 '
'--iopattern randread '
'--iosize 4096 --qdepth 32 '
'--nqueues 1 --runtime 5 '
'--cpumask 0x4',
'cwd': 'None',
'elapsed': 5.401069164276123,
'end': 1793423701.3757348,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_04.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_04.state')}}},
'facts': [],
'id': '002_nvme_target_probe',
'name': 'nvme_target_probe',
'nr': 2,
'status': {'elapsed': 6.534293174743652,
'failed': 0,
'passed': 1,
'skipped': 0,
'started': 1793423694.84212},
'uses': 'nvme_target_probe'}
$ nvme discover -t tcp -a 127.0.0.1 -s 4420
Discovery Log Number of Records 2, Generation counter 4
=====Discovery Log Entry 0======
trtype: tcp
adrfam: ipv4
subtype: current discovery subsystem
treq: not specified, sq flow control disable supported
portid: 1
trsvcid: 4420
subnqn: nqn.2014-08.org.nvmexpress.discovery
traddr: 127.0.0.1
eflags: none
sectype: none
=====Discovery Log Entry 1======
trtype: tcp
adrfam: ipv4
subtype: nvme subsystem
treq: not specified, sq flow control disable supported
portid: 1
trsvcid: 4420
subnqn: nqn.2019-08.org.qemu:beef0003
traddr: 127.0.0.1
eflags: none
sectype: none
$ xnvme enum --uri 127.0.0.1:4420
xnvme_cli_enumeration:
- {uri: '127.0.0.1:4420', dtype: 0x2, nsid: 0x1, csi: 0x0, kernel_driver: '', subnqn: 'nqn.2019-08.org.qemu:beef0003'}
$ xnvme info 127.0.0.1:4420 --subnqn nqn.2019-08.org.qemu:beef0003
xnvme_dev:
xnvme_ident:
uri: '127.0.0.1:4420'
dtype: 0x2
nsid: 0x1
csi: 0x0
kernel_driver: ''
subnqn: 'nqn.2019-08.org.qemu:beef0003'
xnvme_be:
dev: {id: 'spdk'}
admin: {id: 'spdk'}
sync: {id: 'spdk'}
async: {id: 'spdk'}
mem: {id: 'spdk'}
attr: {name: 'spdk', descr: 'SPDK userspace NVMe driver', caps: 0x1e0}
xnvme_opts:
be: 'spdk'
mem: 'spdk'
dev: 'linux'
admin: 'spdk'
sync: 'spdk'
async: 'spdk'
xnvme_geo:
type: XNVME_GEO_CONVENTIONAL
npugrp: 1
npunit: 1
nzone: 1
nsect: 2097152
nbytes: 4096
nbytes_oob: 0
tbytes: 8589934592
mdts_nbytes: 1048576
lba_nbytes: 4096
lba_extended: 0
ssw: 12
pi_type: 0
pi_loc: 0
pi_format: 0
$ xnvmeperf run 127.0.0.1:4420 --subnqn nqn.2019-08.org.qemu:beef0003 --iopattern randread --iosize 4096 --qdepth 32 --nqueues 1 --runtime 5 --cpumask 0x4
Running xnvmeperf with arguments:
- Devices: [127.0.0.1:4420] (total: 1)
- io pattern: randread
- queues per device: 1
- queue depth: 32
- gpu-issued batches per queue: 1
- cq in gpu memory: no
- sq in host memory: no
- buf host bounce (read to host, copy to GPU): no
- io size: 4096
- runtime: 5
- CPUs: [2] (total: 1)
- host_heap_size: 16781312 bytes
====================================================================
xnvmeperf (v0.7.5 - afcc70d) (elapsed: 5.00s)
====================================================================
Device CPUs IOPS MiB/s Failed
127.0.0.1:4420 2 41517.26 162.18 0
--------------------------------------------------------------------
Total: 41517.26 162.18 0
====================================================================
Steps uses scripts. A description of the script used by
the current step is provided below. The description is extracted from the docstring
of the script and provided here in verbatim / as-is.
Tear down an NVMe transport target
======================================
Tear down whichever NVMe target was set up by ``nvme_target_start``.
Two providers are supported via ``--nvme-provider``:
* ``spdk`` (default): stop the SPDK ``nvmf_tgt`` process.
* ``linux``: remove the Linux kernel ``nvmet`` configfs entries.
Both providers are safe to invoke when the target is already down.
Retargetable: True
The facts this step wrote, with their values as the run left them.
{}
{'description': '\n'
'Tear down an NVMe transport target\n'
'======================================\n'
'\n'
'Tear down whichever NVMe target was set up by '
'``nvme_target_start``.\n'
'Two providers are supported via ``--nvme-provider``:\n'
'\n'
'* ``spdk`` (default): stop the SPDK ``nvmf_tgt`` process.\n'
'* ``linux``: remove the Linux kernel ``nvmet`` configfs '
'entries.\n'
'\n'
'Both providers are safe to invoke when the target is already '
'down.\n'
'\n'
'Retargetable: True\n',
'extras': {'facts': {},
'runlog': {'cmd_01': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_01.output'),
'state': {'begin': 1793423701.3791802,
'cmd': 'rm -f '
'/sys/kernel/config/nvmet/ports/1/subsystems/nqn.2019-08.org.qemu:beef0003',
'cwd': 'None',
'elapsed': 0.010974645614624023,
'end': 1793423701.3901548,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_01.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_01.state')},
'cmd_02': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_02.output'),
'state': {'begin': 1793423701.3907752,
'cmd': 'rmdir '
'/sys/kernel/config/nvmet/ports/1; '
'true',
'cwd': 'None',
'elapsed': 0.04573345184326172,
'end': 1793423701.4365087,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_02.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_02.state')},
'cmd_03': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_03.output'),
'state': {'begin': 1793423701.437118,
'cmd': 'echo 0 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/enable; '
'true',
'cwd': 'None',
'elapsed': 0.0700685977935791,
'end': 1793423701.5071867,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_03.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_03.state')},
'cmd_04': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_04.output'),
'state': {'begin': 1793423701.5078485,
'cmd': 'rmdir '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1; '
'true',
'cwd': 'None',
'elapsed': 0.04593062400817871,
'end': 1793423701.5537791,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_04.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_04.state')},
'cmd_05': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_05.output'),
'state': {'begin': 1793423701.5544312,
'cmd': 'rmdir '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003; '
'true',
'cwd': 'None',
'elapsed': 0.04624032974243164,
'end': 1793423701.6006715,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_05.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_05.state')},
'cmd_06': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_06.output'),
'state': {'begin': 1793423701.6013463,
'cmd': 'rm -f '
'/sys/kernel/config/nvmet/ports/2/subsystems/nqn.2019-08.org.qemu:beef0001',
'cwd': 'None',
'elapsed': 0.04597759246826172,
'end': 1793423701.6473238,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_06.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_06.state')},
'cmd_07': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_07.output'),
'state': {'begin': 1793423701.6479223,
'cmd': 'rmdir '
'/sys/kernel/config/nvmet/ports/2; '
'true',
'cwd': 'None',
'elapsed': 0.04681658744812012,
'end': 1793423701.6947389,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_07.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_07.state')},
'cmd_08': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_08.output'),
'state': {'begin': 1793423701.6953816,
'cmd': 'echo 0 > '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/enable; '
'true',
'cwd': 'None',
'elapsed': 0.062499284744262695,
'end': 1793423701.757881,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_08.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_08.state')},
'cmd_09': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_09.output'),
'state': {'begin': 1793423701.758525,
'cmd': 'rmdir '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1; '
'true',
'cwd': 'None',
'elapsed': 0.051000356674194336,
'end': 1793423701.8095253,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_09.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_09.state')},
'cmd_10': {'output': '',
'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_10.output'),
'state': {'begin': 1793423701.8101287,
'cmd': 'rmdir '
'/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001; '
'true',
'cwd': 'None',
'elapsed': 0.05623459815979004,
'end': 1793423701.8663633,
'err': 0,
'is_done': True,
'output_dpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop',
'output_fpath': '/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_10.output'},
'state_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_10.state')}}},
'facts': [],
'id': '003_nvme_target_stop',
'name': 'nvme_target_stop',
'nr': 3,
'status': {'elapsed': 0.4905362129211426,
'failed': 0,
'passed': 1,
'skipped': 0,
'started': 1793423701.3764262},
'uses': 'nvme_target_stop',
'with': {'nvme-provider': 'linux'}}
$ rm -f /sys/kernel/config/nvmet/ports/1/subsystems/nqn.2019-08.org.qemu:beef0003
$ rmdir /sys/kernel/config/nvmet/ports/1; true
$ echo 0 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/enable; true
$ rmdir /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1; true
$ rmdir /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003; true
$ rm -f /sys/kernel/config/nvmet/ports/2/subsystems/nqn.2019-08.org.qemu:beef0001
$ rmdir /sys/kernel/config/nvmet/ports/2; true
$ echo 0 > /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/enable; true
$ rmdir /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1; true
$ rmdir /sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001; true