-
-
Notifications
You must be signed in to change notification settings - Fork 15.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
targetcli: 2.1.fb49 -> 2.1.51 #67749
Conversation
With the dependencies updated, we arrive at the age old question: did you test this with an actual iSCSI setup? |
I did a local test with the the open-iscsi initiator and the targetcli/fileio backend on my laptop (before I updated the libraries), which worked fine. A great thing to have would be a NixOS test, that covers a few basic scenarios. |
@GrahamcOfBorg test iscsi |
85aaa1a
to
ac85b19
Compare
The test works just fine when I build it locally. Any ideas why it fails with ofBorg? |
Seems to work for me locally, as well. @grahamc do you have any insights? |
nixos/tests/iscsi.nix
Outdated
|
||
# Check client login | ||
$client->waitForUnit("multi-user.target"); | ||
$client->succeed("iscsistart -i ${initiatorName} -t ${targetName} -g 1 -a server"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a race condition?
$client->succeed("iscsistart -i ${initiatorName} -t ${targetName} -g 1 -a server"); | |
$client->waitUntilSucceeds("iscsistart -i ${initiatorName} -t ${targetName} -g 1 -a server"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks that seems to work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I got something wrong here. Still fails with ofBorg.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the command necessary after all or what does:
iscsistart: initiator reported error (15 - session exists)
mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
iscsistart
connects manually to the server (target). It is required to create new iSCSI provided block devices on the client ("/dev/sda" and "/dev/sdb" in this case). The message session exists
means that the connect worked only half way at the first try (it somehow connected to the target but still failed).
This is awesome! I've been trying out the iSCSI infrastructure on NixOS recently and I'm planning to create a test and maybe module for |
ac85b19
to
3ba6693
Compare
@JohnAZoidberg I was also looking at |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even though tgt
is still maintained, it looks like targetcli
is more or less a replacement:
Yes, it does look like we can use the JSON config to declaratively configure it. I wasn't aware of that before. I'll try that.
Alright, I'm for having targetcli
as NixOS' default iSCSI toolchain.
This should be good, even works, when rebased on top of the latest master. I'm working on the declarative service module but the JSON config seems to be too complicated to generate, completely, ourselves. |
Oh and by the way, it looks like we've migrated off of Perl and to Python for the tests; and all tests are being rewritten. |
3ba6693
to
003b9bc
Compare
I think we we can leave the test in Perl for now and convert it later when new Python test frame work is more mature. |
It sure looks like the Python framework is on-par and we're going all in: #72828 I'm quite stumped by this sudden change without a proper RFC or announcement :/ |
I guess there was some discussion at nixcon, and there seemed to be consensus |
Yes, the switch to python was quite quick but it I think it is a good thing to move away from perl. The test is now in python and works fine (only GrahamcOfBorg seems to still have problems with it). |
* install man page
baeb01f
to
4816ab2
Compare
@jonringer should we merge it now? |
when trying to run the tests locally, i got:
|
@GrahamcOfBorg test iscsi |
That is strange I can run the test locally. |
Upstream seems to have release 2.1.51 in the meantime. |
d6bc374
to
82c38ea
Compare
I did update all packages to the latest version.
|
b889afc
to
b389a83
Compare
Test fails on x64 nixos for me :(
|
@JohnAZoidberg I am almost about to give up on the test. It seems to be reliably unreliable. My guess is that |
Yes, that seems reasonable. I'm already working on that. But for now I suggest we just merge the package updates and you could open another WIP PR for the test, I'd be interested to figure it out. Are you using iSCSI on NixOS for anything other than testing? |
According to this my error and the one on ofBorg for ARM means that the initiator is timing out, while connecting to the target. |
@JohnAZoidberg I am not using iSCSI at the moment but I want to in the future (hopefully with iSCSI root at some point). |
Alright, sounds good, you can remove it. Ohh, iSCSI root, that'll be interesting and probably doesn't work out of the box on NixOS right now. |
b389a83
to
6b39472
Compare
OK, done
Yeah, that will probably require some more work to make it run smoothly. |
Motivation for this change
Regular update. Now the man page is also installed.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @