[ovirt-users] Starting VMs on a single-host system (was Re: Cannot mark VMs as highly available?)
Derek Atkins
derek at ihtfp.com
Fri Nov 11 02:43:02 UTC 2016
Hi,
On Thu, November 10, 2016 2:09 pm, Derek Atkins wrote:
>
> On Thu, November 10, 2016 12:54 pm, Sven Kieske wrote:
>
>> I'm afraid there is nothing builtin atm, so you must script your own
>> stuff.
>
> I'm working on it. I've got all the infrastructure in place to do that.
> Just need one more thing -- the ability to test when the engine is
> actually operational.
For future reference, here's what I did. First, I set up a user and
permissions in ovirt UI. The user has Login and RUN_VM permissions. Then
I configured .ovirtshellrc with the user credentials (including password).
Then I created the following scripts (obviously you can set the VM names
and the wait-time between startup to your own settings).
Hopefully these scripts will help the next person who needs to solve this
problem.
-derek
cat > /etc/sysconfig/vm_list <<EOF
# List of VMs. Key = VM Name. Value = seconds to wait after starting
declare -A vm_list=(
[vm-1]=60
[vm-2]=60
)
EOF
cat > /usr/local/sbin/start_vms.sh <<EOF
#!/bin/bash
[ -f /etc/sysconfig/vm_list ] || exit 0
. /etc/sysconfig/vm_list
# Wait for the engine to respond
while [ `ovirt-shell -I -c -F -E ping 2>/dev/null | grep -c success` != 1 ]
do
echo "Not ready... Sleeping..."
sleep 60
done
# Now start all of the VMs in the requested order.
for vm in "${!vm_list[@]}"
do
ovirt-shell -I -c -F -E "action vm $vm start"
sleep ${vm_list[$vm]}
done
EOF
chmod +x /usr/local/sbin/start_vms.sh
cat >> /etc/rc.d/rc.local <<EOF
# Start the list of defined virtual machines
/usr/local/sbin/start_vms.sh &
EOF
chmod +x /etc/rc.d/rc.local
--
Derek Atkins 617-623-3745
derek at ihtfp.com www.ihtfp.com
Computer and Internet Security Consultant
More information about the Users
mailing list