Skip to main content

Exporter ISCSI service driver

Project description

iSCSI server driver

jumpstarter-driver-iscsi provides a lightweight iSCSI target implementation powered by the Linux RFC-tgt framework via the rtslib-fb Python bindings.

⚠️ The driver creates and manages an iSCSI target (server). To access the exported LUNs you still need a separate iSCSI initiator (client) on the machine running your test-code / DUT.


Installation

rtslib-fb relies on the in-kernel LIO target framework which is packaged differently by each distribution. You should be able to run sudo targetcli without errors before you start the Jumpstarter driver.

Fedora:

$ sudo dnf install targetcli python3-rtslib

Finally, install the driver itself from the Jumpstarter package index:

:substitutions:
$ pip3 install --extra-index-url {{index_url}} jumpstarter-driver-iscsi

Configuration

The driver is configured through the exporter YAML file. A minimal example exports the local file disk.img as a 5 GiB LUN:

export:
  iscsi:
    type: jumpstarter_driver_iscsi.driver.ISCSI
    config:
      root_dir: "/var/lib/iscsi"
      target_name: "demo"
      remove_created_on_close: false  # Keep disk images persistent (default)
      # When size_mb is 0 a pre-existing file size is used.

Config parameters

Parameter Description Type Required Default
root_dir Directory where image files will be stored str no /var/lib/iscsi
iqn_prefix IQN prefix to use when building the target IQN str no iqn.2024-06.dev.jumpstarter
target_name The target name appended to the IQN prefix str no target1
host IP address to bind the target to. Empty string will auto-detect str no auto
port TCP port the target listens on int no 3260
remove_created_on_close Automatically remove created files/directories when driver closes bool no false

File Management

The iSCSI server driver automatically tracks disk image files and directories created during the session. By default, remove_created_on_close is set to false to preserve disk images that are typically reused across test sessions. Set to true if you want temporary disk images to be cleaned up automatically.

API Reference

.. autoclass:: jumpstarter_driver_iscsi.client.ISCSIServerClient()
    :members: start, stop, get_host, get_port, get_target_iqn, add_lun, remove_lun, list_luns, upload_image

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jumpstarter_driver_iscsi-0.7.4.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jumpstarter_driver_iscsi-0.7.4-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file jumpstarter_driver_iscsi-0.7.4.tar.gz.

File metadata

File hashes

Hashes for jumpstarter_driver_iscsi-0.7.4.tar.gz
Algorithm Hash digest
SHA256 861fa0b730f7f20b859b0a81d65be2d88c2ea9c9693d6aebf042a7b3c09aebfc
MD5 43ef614ba9ae81b5deca0765c6994585
BLAKE2b-256 e5cff7ad590517409b36cf582624f665f9d767eef5bffb41481bd00b70d86a87

See more details on using hashes here.

File details

Details for the file jumpstarter_driver_iscsi-0.7.4-py3-none-any.whl.

File metadata

File hashes

Hashes for jumpstarter_driver_iscsi-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2dedf5aa2a4c6be58a7cdc831dc303097a9ec8bbd3fbba44f22ec6e4f7c57313
MD5 140884af36dfafde65a3fb53fb2638af
BLAKE2b-256 ce480c6e6227a7ea957b1dffbead87a8415487e0628c2570d7c6ed2ff7c29f2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page