Instalación de Powercli en Linux
Ya que tengo Powershell en Linux, pues por qué no seguir con Powercli.
Y lo primero ha sido leerme la documentación. Esta vez también.
Por suerte el gestor de paquetes de Powershell accede y permite la descarga. Y también hay una versión offline, pero no es mi escenario (lo fue muchas veces).
Spoiler La documentación no está conseguida.
Empezamos por arrancar la shell, por lo tanto podemos iniciar sesión con konsole que ejecute directamente el comando pwsh
o invocarlo desde bash. Tanto da.
Se que en este equipo no tengo instalado Powercli, pero por si acaso o tro usuario…
Get-Module -Name VMware.PowerCLI
Install-Module -Name VMware.PowerCLI
Y a esperar.
La documentación dice que, para usar en la nueva versión 13 el módulo VMware.ImageBuilder a partir de su versión 8, necesita python, pero salvo una mejora en su documentación, es un lío enorme para linux.
En principio, la distribucíon traerá un python 3.algo y su gestor de paquetes. Vmware, se trata de pip3
y no de pip
.
Desde un Konsole alternativo, con bash, empiezo a hacer cosas.
En la documentación propone instalar con python -m pip install --upgrade pip
Spoiler, no funciona
Lo que si funciona es solicitar la instalación por medio de pip3 install pip six psutil lxml pyopenssl
para instalar los paquetes puesto que pip
está en el sistema.
Paquetes |
---|
six |
psutil |
lxml |
pyopenssl |
Y esta operación nos va a informar que se instalarán en una ubicación local al usuario. Ojo a esto.
Volviendo a la consola de Powershell, continuamos la configuración posterior a la instalación.
En principio aquí no hay políticas de ejecución, bueno, solo una, y no se puede cambiar. Se queda como Unresticted
.
Con Get-PowerCLIConfiguration | fl
obtenemos una lista interesante de parámetros. Nos interesan 4. La tabla ya tiene los valores definitivos, adaptados y corregidos, no los que figuran en la documentación.
Parámetro | Valor |
---|---|
ParticipateInCEIP | 0 |
DisplayDeprecationWarnings | 0 |
InvalidCertificateAction | Ignore |
PythonPath | /usr/bin/python3.7 |
Mientras, necesito la ubicación del ejecutable de python así que lo localizamos con whereis python
que me devuelve la ubicación esperada y que configuraré por medio de Set-PowerCLIConfiguration -PythonPath /usr/bin/python -scope user
.
Configuramos también el resto de parámetros, con Set-PowerCLIConfiguration -DisplayDeprecationWarnings:0 -InvalidCertificateAction:Ignore -ParticipateInCeip:0
.
Podemos conectar. Tengo algún tema con el DNS o con los certificados autofirmados. Siempre nos queda la opción de ir por IP.
Bueno, pues conecta y veo el estado de las máquinas y ya puedo hacer cosas.
Depurando la documentación
Si todo lo que quiero funcionase, pues habría llegado a este punto a algo tan simple como despedirme.
Sin embargo, toca repasar las cosas que he detectado que no funcionan, y que solo rebuscando aparecen.
Antes de nada, vamos con los errores que arroja:
Como se ve en la captura, a pesar de estar instalado, configurado y accesible, pues no quiere.
El requisito, específico, es Python3.7. No entiendo por qué no funciona con todas las versiones, o al menos con las posteriores. Es algo que alguien deberá explicar porque no es lógico.
Para instalar, desde mi consola de bash, sudo dnf -y install python3.7
y a esperar.
La localización, pues la esperada, pero el binario es diferente. Toca reconfigurar por medio de Set-PowerCLIConfiguration -PythonPath /usr/bin/python3.7 -scope user
.
Desde la documentación, escondido, propone la descarga de un script que se supone que modifica y sustituye pip. Valga decir que no me gusta absolutamente nada esto, por mucho que se llame Python Packaging Authority. Al naming de según que cosas, le faltan hervores.
Para ello vamos a bash, y hacemos lo que propone la documentación.
curl https://bootstrap.pypa.io/get-pip.py -o ~/get-pip.py
python3.7 ~/get-pip.py
Es muy relevante el hecho de que diga que “Defaulting to user instalation because normal site-packages is not writeable”. Digamos que son herramientas por usuario, no por sistema. Y no me termina de ser agradable.
En resumen, que ha hecho cosas, ha actualizado cosas.
Ahora toca lanzar de nuevo la consola de Powershell y ver si funciona.
Spoiler, tampoco funciona
Dice que falta uno de los paquetes que ya hemos instalado. Es raro.
Relevante es que diga que no es una instalación normal. Así que se me ocurre, desde Powershell, por si acaso, vuelvo a lanzar el instalador de paquetes. pip3 install pip six psutil lxml pyopenssl
.
Y resulta, que vuelve a instalar todos los paquetes, además volviendo a avisar que no es una instalación normal.
Menos mal que ya funciona.
Solucionado. Ya tengo una estación de trabajo linux con capacidad para hacer cosas.
YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Y sin más, os dejo los enlaces:
Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70