You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary: csi-driver-iscsi tries to update values that don't exist; and just keeps retrying - never successfully mounting anything.
What happened:
iscsiadm.go:85] Setting CHAP Discovery...
iscsiadm.go:129] Begin createCHAPEntries (discovery=true)...
multipath.go:33] Executing command 'iscsiadm' with args: '[-m node -T REDACTED -p REDACTED -o update -n discovery.sendtargets.auth.authmethod -v CHAP -n discovery.sendtargets.auth.username -v REDACTED -n discovery.sendtargets.auth.password -v REDACTED -n discovery.sendtargets.auth.username_in -v REDACTED -n discovery.sendtargets.auth.password_in -v REDACTED]'.
multipath.go:61] Finished executing command.
iscsiadm.go:44] Run iscsiadm command: iscsiadm -m node -T REDACTED -p REDACTED -o update -n discovery.sendtargets.auth.authmethod -v CHAP -n discovery.sendtargets.auth.username -v REDACTED -n discovery.sendtargets.auth.password -v REDACTED -n discovery.sendtargets.auth.username_in -v REDACTED -n discovery.sendtargets.auth.password_in -v REDACTED
iscsiadm.go:52] Output of iscsiadm command: {output: }
iscsiadm.go:54] Error message returned from iscsiadm command: exit status 7
iscsi.go:388] Error creating db entry: failed to update discoverydb with CHAP, err: exit status 7
exit status 7 is ISCSI_ERR_INVAL - invalid argument., and sure enough; when running directly I get
iscsiadm: Cannot modify discovery.sendtargets.auth.authmethod. Invalid param name.
iscsiadm: Could not execute operation on all records: invalid parameter
(It'll mention whichever arg is first in the list; all 5 are invalid.)
Relevant function is here:
Replacing all the discovery.sendtargets prefixes with node.session works; so it's likely an issue of my iscsiadm (which is v2.1.10) not populating the discovery.sendtargets fields; so they're not there to be updated.
What you expected to happen:
Not actually sure if or where the discovery.sendtargets should be added; the iscsiadm docs show rather limited uses of -o update with -n and -v. (Updating name/value pairs.) So that does imply that it might just need to be skipped; or the initial population of args should be adjusted to ensure they are set.
How to reproduce it:
Used both discoveryCHAPAuth=true and sessionCHAPAuth=true; specified all 8 values in the secret json. Ran on a fresh node; so the rescan etc. failed (which isn't an issue.) Used the example nginx yaml from this repo.
Anything else we need to know?:
Environment:
CSI Driver version: current master (2214d7113eb76501a189c7948937fe2cc19ec8b8)
Kubernetes version (use kubectl version): v1.30.3; kubectl is v1.31.0.
OS (e.g. from /etc/os-release): nixos 24.11.20240824.d0e1602
Kernel (e.g. uname -a): 6.10.6
Install tools: Unsure what this means. Using a terraform-proxmox-nixos-rke2 stack.
Others: iscsid and iscsiadm are both v2.1.10.
The text was updated successfully, but these errors were encountered:
@Patricol definitely its on iscsiadm binary and version. We generally test the iscsiadm from open-iscsi https://github.com/open-iscsi/open-iscsi . The iscsiadm here looks like coming from nixos .. do you have any other setup where you can test this ? or can you try the iscsiadm based on open-iscsi and revert ?
Summary:
csi-driver-iscsi
tries to update values that don't exist; and just keeps retrying - never successfully mounting anything.What happened:
exit status 7 is
ISCSI_ERR_INVAL - invalid argument
., and sure enough; when running directly I get(It'll mention whichever arg is first in the list; all 5 are invalid.)
Relevant function is here:
csi-driver-iscsi/pkg/iscsilib/iscsiadm.go
Line 127 in 2214d71
Replacing all the
discovery.sendtargets
prefixes withnode.session
works; so it's likely an issue of myiscsiadm
(which is v2.1.10) not populating thediscovery.sendtargets
fields; so they're not there to be updated.What you expected to happen:
Not actually sure if or where the
discovery.sendtargets
should be added; theiscsiadm
docs show rather limited uses of-o update
with-n
and-v
. (Updating name/value pairs.) So that does imply that it might just need to be skipped; or the initial population of args should be adjusted to ensure they are set.How to reproduce it:
Used both
discoveryCHAPAuth=true
andsessionCHAPAuth=true
; specified all 8 values in thesecret
json. Ran on a fresh node; so the rescan etc. failed (which isn't an issue.) Used the example nginx yaml from this repo.Anything else we need to know?:
Environment:
2214d7113eb76501a189c7948937fe2cc19ec8b8
)kubectl version
):v1.30.3
; kubectl isv1.31.0
.nixos 24.11.20240824.d0e1602
uname -a
):6.10.6
v2.1.10
.The text was updated successfully, but these errors were encountered: