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.3.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.3-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_iscsi-0.7.3.tar.gz
Algorithm Hash digest
SHA256 80d6c23a592bf4d025fcba9a3a4f03cf7baf60e5fbfee780d5baa977e3eee649
MD5 f30f9f2ab3227f576b328c42661e1d5d
BLAKE2b-256 54766b06a098c1ca14f6107944eb525722b3a75074175b09e801877f5ce3ec51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_iscsi-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ebf7598cadaf84d5a82c6097d6b45be595389bbec2061f1ad5d1cdfdef5424b9
MD5 b9c423b7bc403cfce298282b2a456459
BLAKE2b-256 8967322976fb16293dad1cd2c4b2b8774b3963bcf980a8c4440de83a41957b33

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