mirror of https://github.com/apache/cloudstack.git
28 lines
1.1 KiB
Bash
Executable File
28 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
for host in `xe host-list | grep ^uuid | awk '{print $NF}'`; do
|
|
for pif in `xe pif-list host-uuid=$host | grep -v VLAN.*-1 | grep -B 3 VLAN | grep ^uuid | awk '{print $NF}'`; do
|
|
networkuuid=`xe pif-list uuid=$pif | grep network-uuid | awk '{print $NF}'`;
|
|
count=`xe vif-list network-uuid=$networkuuid | grep ^uuid | wc -l`;
|
|
if [ $count -eq 0 ]; then
|
|
vlan=`xe vlan-list | grep -B 2 $pif | grep ^uuid | awk '{print $NF}'`;
|
|
if [ -n "$vlan" ]; then
|
|
echo "Destroy free VLAN on host $host: $vlan";
|
|
xe vlan-destroy uuid=$vlan
|
|
fi
|
|
else
|
|
for vm in `xe vif-list network-uuid=$networkuuid | grep vm-uuid | awk '{print $NF}'`; do
|
|
resident=`xe vm-param-get param-name=resident-on uuid=$vm`;
|
|
vlan=`xe vlan-list | grep -B 2 $pif | grep ^uuid | awk '{print $NF}'`;
|
|
if [ "$resident" = "$host" ]; then
|
|
echo "VLAN in used by vm $vm: $vlan";
|
|
else
|
|
echo "VLAN in used by vm $vm on host $resident: $vlan";
|
|
fi
|
|
break;
|
|
done
|
|
fi
|
|
sleep 2;
|
|
done
|
|
done
|