Marking the bug confirmed as I've been able to reproduce it in a
kvm+libvirt environment using gPXE to boot off the iscsi target.

To reproduce, you'll need two guests and manage the dhcp server
configuration (to send specific dhcp option to the iscsi initiator
system).

Using libvirt:

1. Create a network that doesn't have a dhcp server running:

<network>
  <name>net1</name>
  <uuid>44648543-d59d-4e61-94b4-61450fff3474</uuid>
  <forward mode='nat'/>
  <bridge name='virbr1' stp='on' forwardDelay='0' />
  <ip address='192.168.222.1' netmask='255.255.255.0' />
</network>

2. Install a guest that will act as the iscsi target (see comment 4).
Moreover install dnsmasq in the guest: the iscsi target will serve as
the boot server for the network (dhcp+tftpboot). Configure dnsmasq to
act as the boot server on the network:

math...@itarget:~$ cat /etc/dnsmasq.d/pxe 
#DHCP part
domain=example.org
dhcp-range=192.168.222.100,192.168.222.150,255.255.255.0,2h
dhcp-option=option:router,192.168.222.1
dhcp-authoritative
 
# TFTP part
enable-tftp
tftp-root=/srv/tftproot
  
dhcp-match=gpxe,175 # tags the request with net:gpxe if the gPXE option was 
supplied in DHCP request
dhcp-option=175,8:1:1          # turn on the keep-san option to allow 
installation
dhcp-boot=net:#gpxe,virtio-net.pxe   # Here #gpxe means 'not gpxe': that is the 
tag is not set
dhcp-option=net:gpxe,17,"iscsi:192.168.222.2::::iqn.2001-04.com.example:storage.disk1"

3. Get a virtio-net PXE boot room (Unload PXE stack) from
http://rom-o-matic.net/ and put in /srv/tftproot/ as virtio-net.pxe (as
outlined in the configuration file above).

4. Define a guest with no block devices:

math...@uec-node:~/images/client1$ cat libvirt.xml 
<domain type='kvm'>
  <name>client1</name>
  <uuid>1adaabdc-ea8d-4328-87cb-8aa47f64acd4</uuid>
  <memory>512000</memory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='network'/>
    <boot dev='cdrom' />
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='cdrom'>
      <source file='/home/mathiaz/isos/mini.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <interface type='network'>
      <mac address='52:54:00:d1:ea:a1'/>
      <source network='net1'/>
      <model type='virtio'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5902' autoport='yes' listen='0.0.0.0'/>
  </devices>
</domain>

The guest will first try to boot for the network then from the mini.iso
file.

5. Start the install on ISCSI: connect to the vnc console of the guess
and skip the network boot (Q). The mini.iso prompt should show up. Start
the install with "cli iscsi=true".

6. Go through the install, skipping any block device installation. At
partition time, start by login into the iscsi target and then install to
the newly created SCSI device.

7. When the installation has finished reboot the system and boot from
the network. The guest should chainload the gPXE rom from the network.
gPXE should then log into the target and load grub from there.

-- 
karmic: iSCSI root: boot hangs on starting iscsid
https://bugs.launchpad.net/bugs/457767
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to