Merge "xenapi: Set VM memory before starting it"
This commit is contained in:
commit
9e597ec22d
@ -268,3 +268,22 @@ function attach_network() {
|
|||||||
|
|
||||||
xe network-attach uuid=$net host-uuid=$host
|
xe network-attach uuid=$net host-uuid=$host
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function set_vm_memory() {
|
||||||
|
local vm_name_label
|
||||||
|
local memory
|
||||||
|
|
||||||
|
vm_name_label="$1"
|
||||||
|
memory="$2"
|
||||||
|
|
||||||
|
local vm
|
||||||
|
|
||||||
|
vm=$(_vm_uuid "$vm_name_label")
|
||||||
|
|
||||||
|
xe vm-memory-limits-set \
|
||||||
|
static-min=${memory}MiB \
|
||||||
|
static-max=${memory}MiB \
|
||||||
|
dynamic-min=${memory}MiB \
|
||||||
|
dynamic-max=${memory}MiB \
|
||||||
|
uuid=$vm
|
||||||
|
}
|
||||||
|
@ -228,8 +228,11 @@ if [ -z "$templateuuid" ]; then
|
|||||||
$THIS_DIR/scripts/install-os-vpx.sh \
|
$THIS_DIR/scripts/install-os-vpx.sh \
|
||||||
-t "$UBUNTU_INST_TEMPLATE_NAME" \
|
-t "$UBUNTU_INST_TEMPLATE_NAME" \
|
||||||
-n "$UBUNTU_INST_BRIDGE_OR_NET_NAME" \
|
-n "$UBUNTU_INST_BRIDGE_OR_NET_NAME" \
|
||||||
-l "$GUEST_NAME" \
|
-l "$GUEST_NAME"
|
||||||
-r "$OSDOMU_MEM_MB"
|
|
||||||
|
set_vm_memory "$GUEST_NAME" "$OSDOMU_MEM_MB"
|
||||||
|
|
||||||
|
xe vm-start vm="$GUEST_NAME"
|
||||||
|
|
||||||
# wait for install to finish
|
# wait for install to finish
|
||||||
wait_for_VM_to_halt
|
wait_for_VM_to_halt
|
||||||
@ -255,6 +258,9 @@ fi
|
|||||||
# Install XenServer tools, and other such things
|
# Install XenServer tools, and other such things
|
||||||
$THIS_DIR/prepare_guest_template.sh "$GUEST_NAME"
|
$THIS_DIR/prepare_guest_template.sh "$GUEST_NAME"
|
||||||
|
|
||||||
|
# Set virtual machine parameters
|
||||||
|
set_vm_memory "$GUEST_NAME" "$OSDOMU_MEM_MB"
|
||||||
|
|
||||||
# start the VM to run the prepare steps
|
# start the VM to run the prepare steps
|
||||||
xe vm-start vm="$GUEST_NAME"
|
xe vm-start vm="$GUEST_NAME"
|
||||||
|
|
||||||
|
@ -20,8 +20,6 @@
|
|||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
BRIDGE=
|
BRIDGE=
|
||||||
RAM=
|
|
||||||
BALLOONING=
|
|
||||||
NAME_LABEL=
|
NAME_LABEL=
|
||||||
TEMPLATE_NAME=
|
TEMPLATE_NAME=
|
||||||
|
|
||||||
@ -29,7 +27,7 @@ usage()
|
|||||||
{
|
{
|
||||||
cat << EOF
|
cat << EOF
|
||||||
|
|
||||||
Usage: $0 -t TEMPLATE_NW_INSTALL -l NAME_LABEL [-n BRIDGE] [-r RAM] [-b]
|
Usage: $0 -t TEMPLATE_NW_INSTALL -l NAME_LABEL [-n BRIDGE]
|
||||||
|
|
||||||
Install a VM from a template
|
Install a VM from a template
|
||||||
|
|
||||||
@ -37,9 +35,6 @@ cat << EOF
|
|||||||
|
|
||||||
-h Shows this message.
|
-h Shows this message.
|
||||||
-t template VM template to use
|
-t template VM template to use
|
||||||
-b Enable memory ballooning. When set min_RAM=RAM/2 max_RAM=RAM.
|
|
||||||
-r MiB Specifies RAM used by the VPX, in MiB.
|
|
||||||
By default it will take the value from the XVA.
|
|
||||||
-l name Specifies the name label for the VM.
|
-l name Specifies the name label for the VM.
|
||||||
-n bridge The bridge/network to use for eth0. Defaults to xenbr0
|
-n bridge The bridge/network to use for eth0. Defaults to xenbr0
|
||||||
EOF
|
EOF
|
||||||
@ -53,12 +48,6 @@ get_params()
|
|||||||
h) usage
|
h) usage
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
b)
|
|
||||||
BALLOONING=1
|
|
||||||
;;
|
|
||||||
r)
|
|
||||||
RAM=$OPTARG
|
|
||||||
;;
|
|
||||||
n)
|
n)
|
||||||
BRIDGE=$OPTARG
|
BRIDGE=$OPTARG
|
||||||
;;
|
;;
|
||||||
@ -119,19 +108,6 @@ create_vif()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
set_memory()
|
|
||||||
{
|
|
||||||
local v="$1"
|
|
||||||
if [ "$RAM" != "" ]
|
|
||||||
then
|
|
||||||
echo "Setting RAM to $RAM MiB."
|
|
||||||
[ "$BALLOONING" == 1 ] && RAM_MIN=$(($RAM / 2)) || RAM_MIN=$RAM
|
|
||||||
xe vm-memory-limits-set static-min=16MiB static-max=${RAM}MiB \
|
|
||||||
dynamic-min=${RAM_MIN}MiB dynamic-max=${RAM}MiB \
|
|
||||||
uuid="$v"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Make the VM auto-start on server boot.
|
# Make the VM auto-start on server boot.
|
||||||
set_auto_start()
|
set_auto_start()
|
||||||
@ -161,5 +137,3 @@ set_auto_start "$vm_uuid"
|
|||||||
create_vif "$vm_uuid"
|
create_vif "$vm_uuid"
|
||||||
xe vm-param-set other-config:os-vpx=true uuid="$vm_uuid"
|
xe vm-param-set other-config:os-vpx=true uuid="$vm_uuid"
|
||||||
xe vm-param-set actions-after-reboot=Destroy uuid="$vm_uuid"
|
xe vm-param-set actions-after-reboot=Destroy uuid="$vm_uuid"
|
||||||
set_memory "$vm_uuid"
|
|
||||||
xe vm-start uuid=$vm_uuid
|
|
||||||
|
Loading…
Reference in New Issue
Block a user