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.8.1.tar.gz (12.5 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.8.1-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_iscsi-0.8.1.tar.gz
Algorithm Hash digest
SHA256 cf3fedb8c45729d216d206e2530f9c3b58e1d4504bde782340d7d593027f00ea
MD5 8f65fae06108f20c8aed27c925baa0fa
BLAKE2b-256 cd1c0ae8f6dbba5072590cefa28b37d435df229cadff68d21d8a95fe37b16155

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_iscsi-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bbfb7afb06a75c549b932efeae89e48cb23be03ab79df1914200d73d438824d2
MD5 ffac718af7a08ce67de8adf660247019
BLAKE2b-256 e09e3323ced9795bc16e12eefd5c1c61f847cb1cef97a8f55531ecd9544fd0f3

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