I have an issue with iSCSI discovery. Just some background, I'm using Openstack Cinder and part of Cinder requires the use of iSCSI for networked drives. Cinder is unable to get the list of nodes anymore for some reason, and after tracing, it seems to be due to the inability of my Openstack controller to get the list of nodes via iscsiadm.
The command I'm referring to is
iscsiadm --mode discovery --op update --type sendtargets --portal <target_address>:3260
I'll get the following error message
iscsiadm: connecting to <target_address>:3260
iscsiadm: connected local port 58654 to <target_address>:3260
iscsiadm: connected to discovery address <target_address>
iscsiadm: discovery session to <target_address>:3260 starting iSCSI login
iscsiadm: sending login PDU with current stage 1, next stage 3, transit 0x80, isid 0x00023d000000 exp_statsn 0
iscsiadm: Connection to Discovery Address <target_address> failed
iscsiadm: Login I/O error, failed to receive a PDU
Interestingly enough, this command runs fine when running on the host directly. It cannot run from any other network-ed server, whether Linux or Windows.
Now if I create a new portal via the following command
tgtadm --lld iscsi --op new --mode portal --param portal=0.0.0.0:1234
I'm able to get the list of nodes just fine via the command
iscsiadm --mode discovery --op update --type sendtargets --portal <target_address>:1234
So it rules out a network issue, at least.
For the record, nothing else is running on port 3260 aside form iscsid and tgtd, both of which are related to iSCSI. When I create a portal on port 1234, I get similar outputs when I netstat -nltp | grep <port_number>
I'm running Ubuntu 20.04 LTS Server Edition. The firewall is disabled, iptables are empty aside from the rule to allow incoming packets at port 3260, SELinux is also disabled.