Skip to content

Commit 888ccbb

Browse files
committed
qemu: fix checkpoint restart and retry
Add boot order=d (cdrom) Merge steps to that variables are set when the step that runs qemu must be retried. Refers to issue #30
1 parent 227251c commit 888ccbb

File tree

1 file changed

+25
-29
lines changed

1 file changed

+25
-29
lines changed

steps/bootstrap/start_qemu.yaml

+25-29
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,32 @@
1616
else
1717
BOOT_TIMEOUT=$(($${boot_timeout}*2))
1818
fi
19-
- exec_local: |
20-
if [ -f "vm_state_to_load.txt" ]
21-
then
22-
SAVED_STATE="$(cat vm_state_to_load.txt)"
23-
LOADVM="-loadvm $SAVED_STATE"
24-
rm -f vm_state_to_load.txt
25-
fi
26-
- exec_local: |
27-
# Find empty VNC port
28-
VNC_PORT=$(( $(__find_free_port 5900 5910) - 5900 ))
29-
echo "VNC port: $VNC_PORT"
19+
if [ -f "vm_state_to_load.txt" ]
20+
then
21+
SAVED_STATE="$(cat vm_state_to_load.txt)"
22+
LOADVM="-loadvm $SAVED_STATE"
23+
rm -f vm_state_to_load.txt
24+
fi
25+
# Find empty VNC port
26+
VNC_PORT=$(( $(__find_free_port 5900 5910) - 5900 ))
27+
echo "VNC port: $VNC_PORT"
3028
31-
- exec_local: |
32-
# Select disk
33-
if [ -z "$${iso_path}" ]; then
34-
QEMU_DISK=''
35-
else
36-
QEMU_DISK='-cdrom $${iso_path} -hda $${qemu_image_disk}'
37-
fi
38-
- exec_local: |
39-
qemu-system-$${qemu_arch} $ENABLE_KVM \
40-
$QEMU_DISK -drive file=$${image_disk}.$${image_format},cache=$${disk_cache},media=disk,if=virtio,id=drive0 \
41-
-smp $${qemu_cpu} \
42-
-m $${qemu_memory_size} \
43-
-rtc base=localtime \
44-
-net nic,model=virtio \
45-
-net user,hostfwd=tcp::${SSH_FWD_PORT}-:22 \
46-
-monitor unix:$${qemu_monitor_socket},server,nowait \
47-
-pidfile $${qemu_pidfile} \
48-
-daemonize -vnc :$VNC_PORT $LOADVM
29+
# Select disk
30+
if [ -z "$${iso_path}" ]; then
31+
QEMU_DISK=''
32+
else
33+
QEMU_DISK='-boot order=d -cdrom $${iso_path} -hda $${qemu_image_disk}'
34+
fi
35+
qemu-system-$${qemu_arch} $ENABLE_KVM \
36+
$QEMU_DISK -drive file=$${image_disk}.$${image_format},cache=$${disk_cache},media=disk,if=virtio,id=drive0 \
37+
-smp $${qemu_cpu} \
38+
-m $${qemu_memory_size} \
39+
-rtc base=localtime \
40+
-net nic,model=virtio \
41+
-net user,hostfwd=tcp::${SSH_FWD_PORT}-:22 \
42+
-monitor unix:$${qemu_monitor_socket},server,nowait \
43+
-pidfile $${qemu_pidfile} \
44+
-daemonize -vnc :$VNC_PORT $LOADVM
4945
- exec_local: |
5046
SSH_AVAILABLE=0
5147
TIMEOUT=$(( $(date +%s) + $BOOT_TIMEOUT ))

0 commit comments

Comments
 (0)