-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakepv2.sh
67 lines (58 loc) · 1.42 KB
/
makepv2.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash
confirm() {
echo -n "$1"
echo -n "OK [Y/n]?"
read ANSWER
if [ "$ANSWER" == "y" ] || [ "$ANSWER" == "Y" ] || [ -z "$ANSWER" ]
then
eval $1
echo "... parameter set"
else
echo "... parameter NOT set"
fi
}
if [ -z "$1" ]
then
echo -n "Name of VM [l for list]: "
read VM
else
VM="$1"
fi
if [ "$VM" == "l" ] || [ "$VM" == "L" ]
then
xe vm-list | grep name-label | grep -v "Control domain"
exit
fi
echo ""
echo "Looking up UUID for VM $VM"
UUID=$(xe vm-list name-label="$VM" params=uuid --minimal)
if [ -z $UUID ]
then
echo "No UUID found for $VM."
exit 0
fi
echo ""
echo "UUID=$UUID"
echo ""
echo "Setting parameters for VM $VM"
confirm "xe vm-param-clear uuid=$UUID param-name=HVM-boot-params"
confirm "xe vm-param-clear uuid=$UUID param-name=HVM-boot-policy"
confirm "xe vm-param-clear uuid=$UUID param-name=PV-bootloader-args"
confirm "xe vm-param-set uuid=$UUID PV-bootloader=pygrub"
confirm "xe vm-param-set uuid=$UUID PV-args='-- quiet console=hvc0'"
echo ""
echo "List of disks for VM $VM"
xe vm-disk-list uuid=$UUID
echo ""
echo "Looking up UUID for VBD of VM $VM"
VBD=$(xe vm-disk-list uuid=$UUID | grep -A1 VBD | tail -n 1 | cut -f2 -d: | sed "s/ *//g")
if [ -z $VBD ]
then
echo "No VBD UUID found for $VBD."
exit 0
fi
echo "VBD UUID=$VBD"
echo ""
echo "Setting parameters for VBD $VBD"
confirm "xe vbd-param-set uuid=$VBD bootable=true"
exit 0