xe host-list name-label=$(hostname -s) params=edition --minimal
xe bond-list params=all
uuid ( RO): <uuid> master ( RO): <uuid> slaves ( RO): <uuid>; <uuid> mode ( RO): lacp properties (MRO): hashing_algorithm: tcpudp_ports primary-slave ( RO): <uuid> links-up ( RO): 2
xe pif-list params=device,speed,duplex physical=true host-name-label=$(hostname)
with following one liner you can create hundred vms without disk:
for vms in $(seq 1 100); do vmuuid=$(xe vm-install template="Windows Server 2012 (64-bit)" \ new-name-label="vm$vms" sr-uuid=$(xe sr-list name-label="XD_Storage_1" --minimal)); \ xe vm-param-set uuid=$vmuuid memory-static-min=1GiB memory-static-max=2GiB memory-dynamic-min=1GiB \ memory-dynamic-max=2GiB; xe vm-start name-label="vm$vms"; done
xe sr-param-list uuid=$(xe sr-list name-label="XD_Storage_1" --minimal)
IFS="," vals=$(xe sr-list params=name-label --minimal); \ for i in $vals; do echo "sr: $i"; xe vdi-list sr-name-label=$i \ params=name-label,name-description,physical-utilisation,virtual-size; \ done
network=VirtualMachines;netuuid=$(xe network-list name-label=$network --minimal); \ nics=$(xe bond-param-get uuid=$(xe pif-list host-uuid=$(xe host-list name-label=$(hostname) --minimal) \ network-name-label=$network params=bond-master-of --minimal) param-name=slaves --minimal |sed 's/; /,/g'); \ xe bond-destroy uuid=$(xe bond-list uuid=$(xe pif-list host-uuid=$(xe host-list name-label=$(hostname) --minimal) \ network-name-label=$network params=bond-master-of --minimal) --minimal);sleep 10; \ xe bond-create pif-uuids=$nics network-uuid=$netuuid mode=lacp
All VMs on the actual xenserver:
xe vm-list resident-on=$(xe host-list hostname=$(hostname) --minimal) params=name-label | grep -i name-label | wc -l
All VMs on the named xenserver:
xe vm-list resident-on=$(xe host-list hostname=TESTXENSERVER --minimal) params=name-label | grep -i name-label | wc -l