Skip to content

ci: provision a loopback LIO iSCSI target and run test-tool/iscsi-test-cu against it - #471

Merged
sahlberg merged 4 commits into
sahlberg:masterfrom
ddiss:lio-loopback-target
Jun 9, 2026
Merged

ci: provision a loopback LIO iSCSI target and run test-tool/iscsi-test-cu against it#471
sahlberg merged 4 commits into
sahlberg:masterfrom
ddiss:lio-loopback-target

Conversation

@ddiss

@ddiss ddiss commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

The ubuntu-latest github runner already carries the LIO kernel modules, so setup a basic loopback iSCSI target via configfs and then run test-tool/iscsi-test-cu against it.
I currently have it running all tests, but it might make sense to only run a few sanity checks, or the example binaries. It'll likely burn through CI credits pretty quickly if used as-is.
Edit: it's now only running Read10 and Write10 tests against the loopback target, which pass in around 3 minutes.

The following changes since commit 9ba97ca99e4670038212c2ba88cee68e4c0a7a7a:

  Merge pull request #470 from ddiss/chap_b64_fix_build_without_gnutls (2026-05-22 18:45:13 +1000)

are available in the Git repository at:

  https://github.com/ddiss/libiscsi.git lio-loopback-target

for you to fetch changes up to fc67ea0db26be6b52a252eb3bdf0384fcfa2caf4:

  ci: run iscsi-test-cu against the provisioned LIO target (2026-06-03 13:39:21 +1000)

----------------------------------------------------------------
David Disseldorp (4):
      ci: run on any branch push instead of only master
      ci/install: invoke apt-get install once
      ci: setup an LIO iSCSI target on loopback
      ci: run iscsi-test-cu against the provisioned LIO target

 .github/workflows/build.yml |  11 +++-
 ci/install.sh               |   4 +-
 ci/lio_setup.sh             | 121 ++++++++++++++++++++++++++++++++++++++++++++
 ci/run_test_tool.sh         |  12 +++++
 4 files changed, 143 insertions(+), 5 deletions(-)
 create mode 100755 ci/lio_setup.sh
 create mode 100755 ci/run_test_tool.sh

ddiss added 3 commits June 1, 2026 20:46
This makes it a little more intuitive for people who want to test
locally from a non-master branch before submitting a PR. An alternative
might be to instead only test on pull-request.

Signed-off-by: David Disseldorp <ddiss@suse.de>
apt-get install runs a bunch of post-install checks which take quite
some time to complete. It makes sense to only run then once after
installing all desired packages.

Signed-off-by: David Disseldorp <ddiss@suse.de>
The Github ubuntu-latest runner carries LIO kernel modules, so provision
a file-backed iSCSI target listening on 127.0.0.1.

This will be used as a test-tool target in a subsequent commit.

Signed-off-by: David Disseldorp <ddiss@suse.de>
@ddiss

ddiss commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

Running all test-tool tests against LIO resulted in a (6-hour) timeout of the CI job. I'll rework this to only run a small subset of sanity tests for now.

Attempt to run Read10 and Write10 tests against the loopback target.

Signed-off-by: David Disseldorp <ddiss@suse.de>
@ddiss
ddiss force-pushed the lio-loopback-target branch from b2caa56 to fc67ea0 Compare June 3, 2026 03:47
@ddiss

ddiss commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

Running all test-tool tests against LIO resulted in a (6-hour) timeout of the CI job. I'll rework this to only run a small subset of sanity tests for now.

I've changed it to only run the Read10 and Write10 tests, which pass against the loopback LIO target in around 3 minutes.

@sahlberg
sahlberg merged commit 23ff743 into sahlberg:master Jun 9, 2026
2 checks passed
@sahlberg

sahlberg commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Merged, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants