Use a proper function to execute commands on dom0

This commit is contained in:
Mate Lakat 2014-02-14 16:10:35 +00:00
parent 76feb4e3c3
commit c51c58637f

@ -19,23 +19,25 @@ export DEVSTACK_GATE_TIMEOUT=240
set -u set -u
SSH_DOM0="sudo -u domzero ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.33.2" function run_in_domzero() {
sudo -u domzero ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.33.2 "$@"
}
# Get some parameters # Get some parameters
APP=$($SSH_DOM0 xe vm-list name-label=$APPLIANCE_NAME --minimal </dev/null) APP=$(run_in_domzero xe vm-list name-label=$APPLIANCE_NAME --minimal </dev/null)
# Create a vm network # Create a vm network
VMNET=$($SSH_DOM0 xe network-create name-label=vmnet </dev/null) VMNET=$(run_in_domzero xe network-create name-label=vmnet </dev/null)
VMVIF=$($SSH_DOM0 xe vif-create vm-uuid=$APP network-uuid=$VMNET device=3 </dev/null) VMVIF=$(run_in_domzero xe vif-create vm-uuid=$APP network-uuid=$VMNET device=3 </dev/null)
$SSH_DOM0 xe vif-plug uuid=$VMVIF </dev/null run_in_domzero xe vif-plug uuid=$VMVIF </dev/null
# Create pub network # Create pub network
PUBNET=$($SSH_DOM0 xe network-create name-label=pubnet </dev/null) PUBNET=$(run_in_domzero xe network-create name-label=pubnet </dev/null)
PUBVIF=$($SSH_DOM0 xe vif-create vm-uuid=$APP network-uuid=$PUBNET device=4 </dev/null) PUBVIF=$(run_in_domzero xe vif-create vm-uuid=$APP network-uuid=$PUBNET device=4 </dev/null)
$SSH_DOM0 xe vif-plug uuid=$PUBVIF </dev/null run_in_domzero xe vif-plug uuid=$PUBVIF </dev/null
# Hack iSCSI SR # Hack iSCSI SR
$SSH_DOM0 << SRHACK run_in_domzero << SRHACK
set -eux set -eux
sed -ie "s/'phy'/'aio'/g" /opt/xensource/sm/ISCSISR.py sed -ie "s/'phy'/'aio'/g" /opt/xensource/sm/ISCSISR.py
SRHACK SRHACK
@ -46,10 +48,10 @@ for dev in eth0 eth1 eth2 eth3 eth4; do
done done
# Add a separate disk # Add a separate disk
SR=$($SSH_DOM0 xe sr-list type=ext --minimal </dev/null) SR=$(run_in_domzero xe sr-list type=ext --minimal </dev/null)
VDI=$($SSH_DOM0 xe vdi-create name-label=disk-for-volumes virtual-size=10GiB sr-uuid=$SR type=user </dev/null) VDI=$(run_in_domzero xe vdi-create name-label=disk-for-volumes virtual-size=10GiB sr-uuid=$SR type=user </dev/null)
VBD=$($SSH_DOM0 xe vbd-create vm-uuid=$APP vdi-uuid=$VDI device=1 </dev/null) VBD=$(run_in_domzero xe vbd-create vm-uuid=$APP vdi-uuid=$VDI device=1 </dev/null)
$SSH_DOM0 xe vbd-plug uuid=$VBD </dev/null run_in_domzero xe vbd-plug uuid=$VBD </dev/null
# For development: # For development:
export SKIP_DEVSTACK_GATE_PROJECT=1 export SKIP_DEVSTACK_GATE_PROJECT=1
@ -73,14 +75,14 @@ mkdir -p $WORKSPACE
function pre_test_hook() { function pre_test_hook() {
# Plugins # Plugins
tar -czf - -C /home/jenkins/workspace-cache/nova/plugins/xenserver/xenapi/etc/xapi.d/plugins/ ./ | tar -czf - -C /home/jenkins/workspace-cache/nova/plugins/xenserver/xenapi/etc/xapi.d/plugins/ ./ |
$SSH_DOM0 \ run_in_domzero \
'tar -xzf - -C /etc/xapi.d/plugins/ && chmod a+x /etc/xapi.d/plugins/*' 'tar -xzf - -C /etc/xapi.d/plugins/ && chmod a+x /etc/xapi.d/plugins/*'
# Console log # Console log
tar -czf - -C /home/jenkins/workspace-cache/nova/tools/xenserver/ rotate_xen_guest_logs.sh | tar -czf - -C /home/jenkins/workspace-cache/nova/tools/xenserver/ rotate_xen_guest_logs.sh |
$SSH_DOM0 \ run_in_domzero \
'tar -xzf - -C /root/ && chmod +x /root/rotate_xen_guest_logs.sh && mkdir -p /var/log/xen/guest' 'tar -xzf - -C /root/ && chmod +x /root/rotate_xen_guest_logs.sh && mkdir -p /var/log/xen/guest'
$SSH_DOM0 crontab - << CRONTAB run_in_domzero crontab - << CRONTAB
* * * * * /root/rotate_xen_guest_logs.sh * * * * * /root/rotate_xen_guest_logs.sh
CRONTAB CRONTAB
@ -91,7 +93,7 @@ CRONTAB
cat tools/xen/functions cat tools/xen/functions
echo "create_directory_for_images" echo "create_directory_for_images"
echo "create_directory_for_kernels" echo "create_directory_for_kernels"
} | $SSH_DOM0 } | run_in_domzero
) )
} }