Powercli – Clonar varias máquinas a la vez

Queremos clonar de forma automática un número de máquinas, con un patrón concreto. Para ello, hemos usado de powershell:

  • -Match
  • -notmatch

La autentación contra vcenter está fuera del script. Debe hacerse antes de llamarlo.

Al no tener resource pools configurados, la nueva máquina, debe dejarse en el resourcepool “Resources”. Con get-resourcepool podemos consultar cuáles tenemos disponibles en nuestra arquitectura.

# Basado en http://vmwaremine.com/2013/05/28/powercli-clone-vm/
#
# Ester Niclos Ferreras
# Last updated: 29/2/14

# PRe: connect-viserver vc

#
# SourceVM:
#
$vmlist= get-vm pattern* | WHERE   { $_.Name -notMatch “no_pattern” }

$datastore = Get-Datastore “my_datastore”
$folder = get-folder “my_folder” -Location “my_datacenter”
$respool = get-ResourcePool Resources -Location “manvmecluster”

foreach ( $sourceVM in $vmlist) {
$cloneName = $sourceVM.Name +’-clone’

#write-host $sourceVM $cloneName $datastore  $folder

if (New-VM -Name $cloneName -ResourcePool $respool -VM $sourceVM -Location $folder -Datastore $datastore -DiskStorageFormat Thin )
{“DONE”}
else
{“Something wrong with cloning”}
}

 

F5 Diferencias TCL entre versión 11.2.1 y 11.3

Comparador !

En 11.2.1, el operador !, sirve para

if  { ([HTTP::method] eq "POST") and
! (  [HTTP::header SOAPAction]  eq ""  ) }

 

En 11.3, lo tenemos que sustituir por:

if { ([HTTP::method] eq "POST") and
( [HTTP::header SOAPAction] ne "" ) }

Toda la información de los operadores en TCL (irule) está en la página de F5.

String map para quitar el identificador de vlan

Se puede quitar varios identificadores de vlan a la vez, con un único map:

# Remove vlan identifier
set my_client_ip [string map { "%123" "" "%512" "" } [IP::remote_addr]]

Depuración Errores TCL

grep -i  "tcl error"  ltm | cut -d' ' -f12-26 |uniq