Task Report

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 workflows/transports-tcp-linux.yaml nvme_target_start`` to bring up
the target, and ``cijoe workflows/transports-tcp-linux.yaml nvme_target_stop``
to tear it down. Running the workflow without selecting steps performs the
full sequence (start, probe, stop) and is what docgen captures.
The task started on 09-10-2026, 14:36:02, status on the steps is provided below.

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:
  transport:
    odus:
      hostname: localhost
      password: odus.321
      port: 4200
      username: odus
    root:
      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'
kvssd:
  binary: /github/home/guests/vfu_kvssd
  socket: /tmp/vfu_kvssd.sock
  url: https://github.com/safl/vfio-user-kvssd/releases/download/v0.1.11/vfu_kvssd-0.1.11-x86_64-linux
linux:
  repository:
    path: /github/home/git/linux
    remote: https://github.com/torvalds/linux.git
    tag: v6.12
os:
  name: debian
  version: trixie
qemu:
  build:
    prefix: /github/home/opt/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
  repository:
    path: /github/home/git/qemu
    remote: https://github.com/qemu/qemu.git
    tag: v9.0.0
  systems:
    x86_64:
      bin: qemu-system-x86_64
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

Steps

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
{'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': {'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': 1791556562.5014458,
                                            'cmd': 'xnvme-driver reset',
                                            'cwd': 'None',
                                            'elapsed': 3.199213981628418,
                                            'end': 1791556565.7006598,
                                            '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': 1791556565.7015836,
                                            'cmd': 'modprobe nvme',
                                            'cwd': 'None',
                                            'elapsed': 0.18862390518188477,
                                            'end': 1791556565.8902075,
                                            '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': 1791556565.891126,
                                            'cmd': 'modprobe nvmet',
                                            'cwd': 'None',
                                            'elapsed': 0.2017650604248047,
                                            'end': 1791556566.092891,
                                            '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': 1791556566.0937538,
                                            'cmd': 'modprobe nvmet_tcp',
                                            'cwd': 'None',
                                            'elapsed': 0.18615436553955078,
                                            'end': 1791556566.2799082,
                                            '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': 1791556566.2808986,
                                            'cmd': 'mountpoint -q '
                                                   '/sys/kernel/config || '
                                                   'mount -t configfs none '
                                                   '/sys/kernel/config',
                                            'cwd': 'None',
                                            'elapsed': 0.1692819595336914,
                                            'end': 1791556566.4501805,
                                            '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': 1791556566.450887,
                                            'cmd': 'mkdir -p '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003',
                                            'cwd': 'None',
                                            'elapsed': 0.18508505821228027,
                                            'end': 1791556566.635972,
                                            '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': 1791556566.6369472,
                                            'cmd': 'echo 1 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/attr_allow_any_host',
                                            'cwd': 'None',
                                            'elapsed': 0.16482257843017578,
                                            'end': 1791556566.8017697,
                                            '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': 1791556566.8027418,
                                            'cmd': 'mkdir -p '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1',
                                            'cwd': 'None',
                                            'elapsed': 0.18890857696533203,
                                            'end': 1791556566.9916503,
                                            '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': 1791556566.9924436,
                                            'cmd': 'echo -n /dev/nvme3n1 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/device_path',
                                            'cwd': 'None',
                                            'elapsed': 0.18439531326293945,
                                            'end': 1791556567.1768389,
                                            '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': 1791556567.1778598,
                                            'cmd': 'echo 1 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/enable',
                                            'cwd': 'None',
                                            'elapsed': 0.16405224800109863,
                                            'end': 1791556567.341912,
                                            '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': 1791556567.3428135,
                                            'cmd': 'mkdir -p '
                                                   '/sys/kernel/config/nvmet/ports/1',
                                            'cwd': 'None',
                                            'elapsed': 0.16356801986694336,
                                            'end': 1791556567.5063815,
                                            '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': 1791556567.5073369,
                                            'cmd': 'echo 127.0.0.1 > '
                                                   '/sys/kernel/config/nvmet/ports/1/addr_traddr',
                                            'cwd': 'None',
                                            'elapsed': 0.15751981735229492,
                                            'end': 1791556567.6648567,
                                            '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': 1791556567.6658437,
                                            'cmd': 'echo tcp > '
                                                   '/sys/kernel/config/nvmet/ports/1/addr_trtype',
                                            'cwd': 'None',
                                            'elapsed': 0.18471336364746094,
                                            'end': 1791556567.850557,
                                            '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': 1791556567.851485,
                                            'cmd': 'echo 4420 > '
                                                   '/sys/kernel/config/nvmet/ports/1/addr_trsvcid',
                                            'cwd': 'None',
                                            'elapsed': 0.16586661338806152,
                                            'end': 1791556568.0173516,
                                            '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': 1791556568.0183306,
                                            'cmd': 'echo ipv4 > '
                                                   '/sys/kernel/config/nvmet/ports/1/addr_adrfam',
                                            'cwd': 'None',
                                            'elapsed': 0.16302037239074707,
                                            'end': 1791556568.181351,
                                            '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': 1791556568.182309,
                                            '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.1864151954650879,
                                            'end': 1791556568.368724,
                                            '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': 1791556568.369464,
                                            'cmd': 'mkdir -p '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001',
                                            'cwd': 'None',
                                            'elapsed': 0.20639610290527344,
                                            'end': 1791556568.57586,
                                            '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': 1791556568.5768077,
                                            'cmd': 'echo 1 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/attr_allow_any_host',
                                            'cwd': 'None',
                                            'elapsed': 0.17177343368530273,
                                            'end': 1791556568.7485812,
                                            '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': 1791556568.7496512,
                                            'cmd': 'mkdir -p '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1',
                                            'cwd': 'None',
                                            'elapsed': 0.18330001831054688,
                                            'end': 1791556568.9329512,
                                            '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': 1791556568.9337308,
                                            'cmd': 'echo -n /dev/nvme1n1 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/device_path',
                                            'cwd': 'None',
                                            'elapsed': 0.18138885498046875,
                                            'end': 1791556569.1151197,
                                            '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': 1791556569.1160955,
                                            'cmd': 'echo 1 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/enable',
                                            'cwd': 'None',
                                            'elapsed': 0.1778397560119629,
                                            'end': 1791556569.2939353,
                                            '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': 1791556569.2951982,
                                            'cmd': 'mkdir -p '
                                                   '/sys/kernel/config/nvmet/ports/2',
                                            'cwd': 'None',
                                            'elapsed': 0.16868829727172852,
                                            'end': 1791556569.4638865,
                                            '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': 1791556569.4648082,
                                            'cmd': 'echo 127.0.0.1 > '
                                                   '/sys/kernel/config/nvmet/ports/2/addr_traddr',
                                            'cwd': 'None',
                                            'elapsed': 0.17796730995178223,
                                            'end': 1791556569.6427755,
                                            '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': 1791556569.64373,
                                            'cmd': 'echo tcp > '
                                                   '/sys/kernel/config/nvmet/ports/2/addr_trtype',
                                            'cwd': 'None',
                                            'elapsed': 0.1609053611755371,
                                            'end': 1791556569.8046353,
                                            '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': 1791556569.8056877,
                                            'cmd': 'echo 4421 > '
                                                   '/sys/kernel/config/nvmet/ports/2/addr_trsvcid',
                                            'cwd': 'None',
                                            'elapsed': 0.17612147331237793,
                                            'end': 1791556569.9818091,
                                            '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': 1791556569.9827924,
                                            'cmd': 'echo ipv4 > '
                                                   '/sys/kernel/config/nvmet/ports/2/addr_adrfam',
                                            'cwd': 'None',
                                            'elapsed': 0.17549800872802734,
                                            'end': 1791556570.1582904,
                                            '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': 1791556570.1592498,
                                            '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.19144344329833984,
                                            'end': 1791556570.3506932,
                                            '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')}}},
 'id': '001_nvme_target_start',
 'name': 'nvme_target_start',
 'nr': 1,
 'status': {'elapsed': 7.853613376617432,
            'failed': 0,
            'passed': 1,
            'skipped': 0,
            'started': 1791556562.4981477},
 '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
workflows.

Retargetable: True
{'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'
                'workflows.\n'
                '\n'
                'Retargetable: True\n',
 'extras': {'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': 1791556570.3561773,
                                            'cmd': 'nvme discover -t tcp -a '
                                                   '127.0.0.1 -s 4420',
                                            'cwd': 'None',
                                            'elapsed': 0.350177526473999,
                                            'end': 1791556570.7063549,
                                            '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': 1791556570.7078264,
                                            'cmd': 'xnvme enum --uri '
                                                   '127.0.0.1:4420',
                                            'cwd': 'None',
                                            'elapsed': 0.804741621017456,
                                            'end': 1791556571.512568,
                                            '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': 1791556571.5135605,
                                            'cmd': 'xnvme info 127.0.0.1:4420 '
                                                   '--subnqn '
                                                   'nqn.2019-08.org.qemu:beef0003',
                                            'cwd': 'None',
                                            'elapsed': 0.5808768272399902,
                                            'end': 1791556572.0944374,
                                            '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'
                                            '- io size: 4096\n'
                                            '- runtime: 5\n'
                                            '- CPUs: [2] (total: 1)\n'
                                            '- host_heap_size: 16781312 bytes\n'
                                            '\n'
                                            '====================================================================\n'
                                            ' xnvmeperf (v0.7.5 - 76d409a) '
                                            '(elapsed: 5.00s)\n'
                                            '====================================================================\n'
                                            ' Device                  '
                                            'CPUs          IOPS      MiB/s   '
                                            'Failed\n'
                                            ' 127.0.0.1:4420             '
                                            '2      31552.12     123.25        '
                                            '0\n'
                                            '--------------------------------------------------------------------\n'
                                            ' '
                                            'Total:                            '
                                            '31552.12     123.25        0\n'
                                            '====================================================================\n',
                                  'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/002_nvme_target_probe/cmd_04.output'),
                                  'state': {'begin': 1791556572.0953834,
                                            '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.574866533279419,
                                            'end': 1791556577.67025,
                                            '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')}}},
 'id': '002_nvme_target_probe',
 'name': 'nvme_target_probe',
 'nr': 2,
 'status': {'elapsed': 7.319366693496704,
            'failed': 0,
            'passed': 1,
            'skipped': 0,
            'started': 1791556570.3517728},
 '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
- io size: 4096
- runtime: 5
- CPUs: [2] (total: 1)
- host_heap_size: 16781312 bytes

====================================================================
 xnvmeperf (v0.7.5 - 76d409a) (elapsed: 5.00s)
====================================================================
 Device                  CPUs          IOPS      MiB/s   Failed
 127.0.0.1:4420             2      31552.12     123.25        0
--------------------------------------------------------------------
 Total:                            31552.12     123.25        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
{'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': {'runlog': {'cmd_01': {'output': '',
                                  'output_path': PosixPath('/__w/xnvme/xnvme/cijoe/cijoe-output-transports-linux/003_nvme_target_stop/cmd_01.output'),
                                  'state': {'begin': 1791556577.6745088,
                                            'cmd': 'rm -f '
                                                   '/sys/kernel/config/nvmet/ports/1/subsystems/nqn.2019-08.org.qemu:beef0003',
                                            'cwd': 'None',
                                            'elapsed': 0.17432427406311035,
                                            'end': 1791556577.848833,
                                            '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': 1791556577.8497958,
                                            'cmd': 'rmdir '
                                                   '/sys/kernel/config/nvmet/ports/1; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.1663825511932373,
                                            'end': 1791556578.0161784,
                                            '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': 1791556578.0172691,
                                            'cmd': 'echo 0 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1/enable; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.19978737831115723,
                                            'end': 1791556578.2170565,
                                            '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': 1791556578.2178137,
                                            'cmd': 'rmdir '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003/namespaces/1; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.18348050117492676,
                                            'end': 1791556578.4012942,
                                            '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': 1791556578.4022105,
                                            'cmd': 'rmdir '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0003; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.19080328941345215,
                                            'end': 1791556578.5930138,
                                            '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': 1791556578.5939922,
                                            'cmd': 'rm -f '
                                                   '/sys/kernel/config/nvmet/ports/2/subsystems/nqn.2019-08.org.qemu:beef0001',
                                            'cwd': 'None',
                                            'elapsed': 0.18684816360473633,
                                            'end': 1791556578.7808404,
                                            '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': 1791556578.781791,
                                            'cmd': 'rmdir '
                                                   '/sys/kernel/config/nvmet/ports/2; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.16826581954956055,
                                            'end': 1791556578.9500568,
                                            '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': 1791556578.9511063,
                                            'cmd': 'echo 0 > '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1/enable; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.2149367332458496,
                                            'end': 1791556579.166043,
                                            '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': 1791556579.1670382,
                                            'cmd': 'rmdir '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001/namespaces/1; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.18142914772033691,
                                            'end': 1791556579.3484674,
                                            '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': 1791556579.3494751,
                                            'cmd': 'rmdir '
                                                   '/sys/kernel/config/nvmet/subsystems/nqn.2019-08.org.qemu:beef0001; '
                                                   'true',
                                            'cwd': 'None',
                                            'elapsed': 0.16057038307189941,
                                            'end': 1791556579.5100455,
                                            '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')}}},
 'id': '003_nvme_target_stop',
 'name': 'nvme_target_stop',
 'nr': 3,
 'status': {'elapsed': 1.8399136066436768,
            'failed': 0,
            'passed': 1,
            'skipped': 0,
            'started': 1791556577.6711533},
 '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