Hi Cole,
You're quite right, it was a poweroff issue. Well done! Once I realized that it's critical for the domain to end up in "shut off" state in order for virt-install to exit, things all fell into place.
Here's what I ended up with virt-install wise:
[root@oel63-virt tmp]# virt-install --name=minimal --ram=512 --vcpus=1 --accelerate --hvm --network network:default --disk=/var/lib/libvirt/images/minimal.img,size=3 --location=http://192.168.122.1/OracleLinux-R6-U3-Server-x86_64-dvd --graphics=none --noautoconsole --wait=-1 --noreboot --serial=file,path=/tmp/minimal.log --initrd-inject=/tmp/minimal-ks.cfg '--extra-args=ks=file:/minimal-ks.cfg console=ttyS0'
Starting install... Retrieving file .treeinfo... | 3.0 kB 00:00 ... Retrieving file vmlinuz... | 7.6 MB 00:00 ... Retrieving file initrd.img... | 58 MB 00:00 ... Allocating 'minimal.img' | 3.0 GB 00:00 Creating domain... | 0 B 00:00 Domain installation still in progress. Waiting for installation to complete. . . .
Checking the domain state during installation:
[root@oel63-virt tmp]# virsh list --all Id Name State ---------------------------------------------------- 52 minimal running
It is critical to make sure that the "poweroff" option is specified in Kickstart culminating in logging:
. . . powering off system Power down.
... so that virt-install automatically exits with: . . . Domain has shutdown. Continuing. Domain creation completed. You can restart your domain by running: virsh --connect qemu:///system start minimal [root@oel63-virt tmp]# echo $? 0
... leaving the domain "shut off" state:
[root@oel63-virt tmp]# virsh list --all Id Name State ---------------------------------------------------- - minimal shut off
Thanks for all your help,
Anthony. On 01/19/2014 05:05 PM, Anthony Shortland wrote:Hi Cole,
Thanks for the suggestions. Here's where I'm at now:
[root@oel63-virt tmp]# virt-install --name=minimal --ram=512 --vcpus=1
--accelerate --hvm --network network:default
--disk=/var/lib/libvirt/images/minimal.img,size=3
--location=http://192.168.122.1/OracleLinux-R6-U3-Server-x86_64-dvd --graphics=none
--noautoconsole --wait=-1 --serial=file,path=/tmp/minimal.log
'--extra-args=ks=http://192.168.122.1/kickstart/minimal-ks.cfg console=ttyS0'
Starting install...
Retrieving file .treeinfo...
|
3.0 kB 00:00 <x-apple-data-detectors://5> ...
Retrieving file vmlinuz...
|
7.6 MB 00:00 <x-apple-data-detectors://7> ...
Retrieving file initrd.img...
|
58 MB 00:00 <x-apple-data-detectors://8> ...
Allocating 'minimal.img'
|
3.0 GB 00:00 <x-apple-data-detectors://10>
Creating domain...
|
0 B 00:00 <x-apple-data-detectors://11>
Domain installation still in progress. Waiting for installation to complete.
... I added "--serial=file,..." in order to log in the install, which ends as
follows:
.
,
.
terminating anaconda...done
sending termination signals...done
sending kill signals...Done
disabling swap...
/dev/dm-1
unmounting filesystems...
/mnt/runtime done
disabling /dev/loop0
/dev/pts done
/selinux done
/mnt/sysimage/boot done
/mnt/sysimage/dev/pts done
/mnt/sysimage/dev/shm done
/mnt/sysimage/dev done
/mnt/sysimage/proc/bus/usb done
/mnt/sysimage/proc done
/mnt/sysimage/sys done
/mnt/sysimage/selinux done
/mnt/sysimage done
waiting for mdraid sets to become clean...
halting system
System halted.
... the new Linux system is halted since I included the "shutdown"
(http://fedoraproject.org/wiki/Anaconda/Kickstart#shutdown) option in the
Kickstart file, but virt-install still does not exit.
What event signals completion of domain installation? How can it be triggered
from within the guest (which has the thread of execution with Kickstart)? Or
do I need to wrap all this in a script, set wait=0, track the logged output
and use some sort of virsh command to signal domain installation completion?
Maybe it's some halt vs poweroff issue? Not sure.https://stackoverflow.com/questions/15460754/halt-and-poweroffTry sticking a 'shutdown' at the end of your kickstart?Whatever the issue is, it's unlikely a virt-install or libvirt issue, sincethey aren't in play if the VM tries to shut itself down.Watching the serial output was only a suggestion if you can't get the VM toshutdown on its own, typically that shouldn't be required.- Cole
|