fuel-plugin-xenserver/prepare_cluster.sh

83 lines
2.2 KiB
Bash
Executable File

source localrc
ALL_NODES="$CONTROLLER_NODES,$COMPUTE_NODES,$STORAGE_NODES"
echo "Creating VMs"
for HOST_NODE in ${ALL_NODES//,/ }
do
IFS=/ read -a _HOST_NODE <<< $HOST_NODE
HOST=${_HOST_NODE[0]}
NODE=${_HOST_NODE[1]}
sshpass -p $XEN_PASSWORD ssh $XEN_ROOT@$HOST \
'set +x
guest_name="'$NODE'"
eth0="'$NODE_ETH0'"
eth1="'$NODE_ETH1'"
memory="'$NODE_MEMORY'"
disksize="'$NODE_DISKSIZE'"
tname="Other install media"
vm_uuid=$(xe vm-install template="$tname" new-name-label="$guest_name")
localsr=$(xe pool-list params=default-SR minimal=true)
extra_vdi=$(xe vdi-create \
name-label=xvdb \
virtual-size="${disksize}GiB" \
sr-uuid=$localsr type=user)
vbd_uuid=$(xe vbd-create vm-uuid=$vm_uuid vdi-uuid=$extra_vdi device=0)
xe vm-cd-add vm=$vm_uuid device=1 cd-name="xs-tools.iso"
xe vm-memory-limits-set \
static-min=${memory}MiB \
static-max=${memory}MiB \
dynamic-min=${memory}MiB \
dynamic-max=${memory}MiB \
uuid=$vm_uuid
eth0_uuid=$(xe vif-create network-uuid=$(xe network-list name-label="$eth0" --minimal) vm-uuid=$vm_uuid device=0)
eth1_uuid=$(xe vif-create network-uuid=$(xe network-list name-label="$eth1" --minimal) vm-uuid=$vm_uuid device=1)
eth0_mac=$(xe vif-param-get uuid=$eth0_uuid param-name=MAC)
xe vm-param-set uuid=$vm_uuid HVM-boot-params:order=ndc
echo "Creating "'$NODE'" ($eth0_mac) on "'$HOST'""
'
done
./setup_HIMN.sh
echo "Booting VMs"
for HOST_NODE in ${ALL_NODES//,/ }
do
IFS=/ read -a _HOST_NODE <<< $HOST_NODE
HOST=${_HOST_NODE[0]}
NODE=${_HOST_NODE[1]}
sshpass -p $XEN_PASSWORD ssh $XEN_ROOT@$HOST \
'
guest_name="'$NODE'"
vm_uuid=$(xe vm-list name-label="$guest_name" --minimal)
xe vm-start vm=$vm_uuid
echo "'$NODE' booted"
'
done
if false; then
sleep 60
echo "Creating Cluster"
sshpass -p $FUELMASTER_PASSWORD ssh $FUELMASTER_ROOT@$FUELMASTER \
'
guest_name="'$NODE'"
rel_id=$(fuel release | grep "XenServer" | cut -d " " -f1)
fuel env create --name "'$ENV_NAME'" --rel $rel
env_id=$(fuel env | grep "'$ENV_NAME'" | cut -d " " -f1)
nodes=($(fuel node | grep True | cut -d " " -f1))
fuel --env $env_id node set --node ${nodes[0]} --role controller
fuel --env $env_id node set --node ${nodes[1]},${nodes[2]},${nodes[3]} --role compute
fuel --env $env_id node set --node ${nodes[4]} --role compute,cinder
'
fi