This issue got on my table quite a number of times in the last 4 weeks. Customer is trying to use the vHBA feature of Oracle VM for SAPRC 3.3 and newer. While configuring and testing to do so, the customer is seeing a error message like
Oct 10 00:00:00 guest1 scsi: [ID 123455 kern.warning] WARNING: scsi_enumeration_failed: vhba3 probe@w50000xxxxxxxxxxxxx,0 enumeration failed during tran_tgt_init
Oct 10 00:00:00 guest1 vhba: [ID 123456 kern.warning] WARNING: vhba_tran_tgt_init: no softstate for vt(3xxxxxxxxxxxx) lun(0) ua(w50000xxxxxxxxxxxxx,0) tgt-dip(3xxxxxxxxxxxxxx) vin(xxxxxxxxxxx)
When you see something like that, the solution is quite simple. You need a LUN 0 to be visible and functional(it has to react when commands were send) on the target. Or as the documentation states:
When configuring a virtual SAN, note that only SCSI target devices with a LUN 0 have their physical LUNs visible in the guest domain. This constraint is imposed by an Oracle Solaris OS implementation that requires a target's LUN 0 to respond to the SCSI REPORT LUNS command
I would not call it a constraint, it's more like standard compliance as due to the definition of the SCSI-3 standard it’s the only LUN that you could always assume to be there as the SCSI-3 standard simply mandates it ... if the device is standard compliant. The SCSI-3 specification (available at t10.org) states in section „4.7.2 SCSI target device“:
A logical unit is the object to which SCSI commands are addressed. One of the logical units within the SCSI target device shall be accessed using the logical unit number zero. See 4.8 for a description of the logical unit.
And shall is specified as:
A keyword indicating a mandatory requirement. Designers are required to implement all such mandatory requirements to ensure interoperability with other products that conform to this standard.
So as soon as you make a LUN 0 available on the targets you are seeing with the vHBA, you will see the LUNs.
We have 1.4 billion devices out there running Android all running the same OS. We have roughly 1 billion iOS devices all running a different OS, but all running the same different OS. Both with significant compute power per device. We have 10 million Raspberry Pi out there. The variant 3 is quite powerful. I don't know how many routers, TV sets, fridges, running a modified general-purpose OS.
You could joke that we are just one really bad zero-day and enough criminal energy away from a Terminator 3-style scenario. The bright side: We are still protected by a lack of updates in technology from the full T3 scenario as described in "CNN: The U.S. is still using floppy disks to run its nuclear program" . By the way, this is the only case where i 'm against updates. This code and hardware did not killed us for the past decades. Keep it this way. Still bad enough: Given failing TVs, lack of Netflix and porn , no smartphone to stare at and the necessity to talk with each other ... people will go on a rampage anyway and behave like post nuclear armageddon zombies.