Configurar Binarios en vLCM – Actualizando vRA Parte 3

Continuando con esta serie de posts acerca del proceso de actualización de vRealize Automation 8.x, vamos en esta oportunidad a revisar como configurar los binarios del componente de vRealize Suite Lifecycle Manager.

Como ya conocemos vRealize Suite Lifecycle Manager (vLCM) es una solución que permite controlar el ciclo de vida de los productos vRealize, haciendo mas fácil las tareas de instalación y actualización. Sin embargo, para que esto sea posible es importante conocer que vLCM requiere los conocidos Binarios, que básicamente son los bundles que contienen los archivos de instalación o de actualización de cada solución.

Por suerte, en Lifecycle Manager existe la posibilidad de agregar los Binarios de cada uno de los productos VMware de diferentes formas:

– Local: Permite asignar los archivos binarios descargados localmente a vRealize Suite Lifecycle Manager.

– NFS: Permite asignar a un producto binario descargado desde un repositorio NFS.

– My VMware Download: Permite asignar un producto binario descargado desde el portal My VMware.

En este post estaremos hablando de los dos métodos más utilizados, My VMware Download y Local.

PRERREQUISITOS

Verifique que vLCM tenga suficiente espacio antes de continuar con la descarga de los Binarios. Para esto vaya al servicio de Lifecycle Operations ->Settings -> System Details.

Una vez validado que tenemos suficiente espacio para alojar los Binarios, podemos continuar utilizando alguno de los siguientes métodos. Sino tiene espacio suficiente lo invito a leer el siguiente blog Creciendo almacenamiento de vRealize Lifecycle Manager (vLCM).

OPCIÓN 1. Agregar binarios desde My VMware Download

Para usar un producto binario descargado directamente desde My VMware, verifique que se haya registrado en My VMware, que haya registrado los servicios de My VMware con vRealize Suite Lifecycle Manager y por supuesto, que el Appliance de vLCM tenga salida hacia internet.

Para esto necesitaremos ir al servicio Lifecycle Operations y después a la sección Home -> Settings -> My VMware

Clic en ADD MY VMWARE ACCOUNT  para configurar una cuenta de usuario que cuente con permisos para descargar desde el portal de My VMware.

Nota 1

Para verificar que nuestra cuenta asociada tiene los permisos para realizar la descarga podemos simplemente ir a VMware Downloads, hacer login con el usuario y contraseña e intentar bajar cualquier producto.

Si obtenemos un mensaje como el siguiente y el botón DOWNLOAD NOW no se encuentra disponible, entonces nuestra cuenta NO tiene permisos para descargar y mostrará un error al intentar descargar el Binario.

Por esta razón, recomiendo antes de configurar la cuenta de My VMware en vLCM, verificar que podamos descargar medios. Una cuenta con permisos de descarga debe verse de la siguiente forma, con el botón DOWNLOAD NOW habilitado.

Este sencillo procedimiento nos permitirá validar que la cuenta que se va a configurar en vLCM es apta para descargar los BINARIES de vRealize Lifecycle Manager.

Continuando con la configuración de la cuenta My VMware en vLCM debemos hacer clic en VALIDATE.

Y luego clic en ADD.

En este punto podremos iniciar la configuración de los Binarios en Home -> Settings -> Binary Mapping

Clic en ADD BINARIES y seleccionar My VMware

Clic en el botón DISCOVERY. Para listar todo los Binarios de los productos disponibles y compatibles con la versión de vLCM que tenga en el ambiente.

Para este caso seleccionaremos el paquete de Upgrade de vRealize Automation 8.3 y VMware Identity Manager 3.3.4. Y después clic en ADD.

En este punto se lanzará una tarea de Request y comenzará la descarga. Tenga en cuenta que esta tarea puede demorar un par de minutos.

Nota 2

Si la cuenta configurada no tiene permisos para descargar desde el portal My VMware, en el Request obtendremos el siguiente error:

"Error Code: LCMMYVMWARE60010"
"Failed to get user entitlement accounts from https://my.vmware.com. Please try again after some time"
"Error occurred while downloading product binaries from MyVMware account..."

Generalmente esto ocurre porque la cuenta configurada no tiene permisos para realizar descargas de medios y por esta razón falla.

OPCIÓN 2. Agregar binarios desde repositorio Local

Para mapear un producto binario utilizando el método Local, deberá descargar el bundle de forma manual desde el portal de My VMware.

Para esto vaya al portal de My VMware Downloads e inicie sesión con una cuenta que tenga permisos para descargar.

Clic en View Download Components frente a VMware vRealize Suite.

Y vaya al enlace GO TO DOWNLOAD de cualquiera de los productos que necesita descargar.

Ejemplos

Para el binarios de VMware Identity Manager 3.3.4 debemos seleccionar el identity-manager-3.3.4.0-17498518-updaterepo-lcm.tar.gz y clic en DOWNLOAD NOW.

Para el binarios de vRealize Automation 8.3 debemos seleccionar el Prelude_VA-8.3.0.15014-17551690-updaterepo.iso y clic en DOWNLOAD NOW.

Para el binarios de vRealize Automation 8.3 debemos seleccionar el Prelude_VA-8.3.0.15014-17551690-updaterepo.iso y clic en DOWNLOAD NOW.

Nota 3

Como puede observar el archivo necesario para actualización contendrá un nombre asociado a Update y contendrá un archivo nombrado como XX-XXXXXXXX-updaterepo.

Una vez descargado los bundle podemos ahora mapearlos a vLCM sin necesidad que vLCM tenga acceso a Internet.

Para este ejemplo estaremos utilizado el Binario asociado a vRealize Log Insight 8.3 debido a que ya descargamos los asociados a vRA y vIDM utilizando el modo My VMware Download descrito arriba.

Ahora utilizando la herramienta WinSCP, debemos subir los Binarios al Appliance de vLCM en la ruta /data.

Después en vLCM debemos ir al servicio Lifecycle Operations y hacer clic en Home -> Settings -> Binary Mapping

Clic en ADD BINARIES y seleccionar la opción Local. Después clic en DISCOVER para visualizar el contenido de la carpeta /data.

Seleccionar el Binario asociado a vRealize Log Insight que subimos por WinSCP anteriormente y clic en ADD.

Clic en el enlace Click here para monitorear el request. Al terminar debería mostrar Completed en la columna Request Status.

Por ultimo, podemos verificar en Home -> Settings -> Binary Mapping que el Binario mapeado aparezca ahora disponible.

Referencias

https://docs.vmware.com/en/VMware-vRealize-Suite-Lifecycle-Manager/8.3/com.vmware.vrsuite.lcm.8.3.doc/GUID-2C93EB0A-055C-4897-A764-77FC73EFE992.html

Actualizar vRealize Suite Lifecycle Manager (vLCM) 8.x – Actualizando vRA Parte 2

Continuando con esta seria de posts acerca del proceso de actualización de la solución vRealize Automation 8.x y una vez garantizado el backup en frio explicado en la Parte 1, podemos continuar con la actualización del primer componente de la solución vRA que es vRealize Suite Lifecycle Manager (vLCM).

PRERREQUISITOS

  • Verifique que cumpla con los requisitos del sistema. Consulte Requisitos del sistema.
  • Tome un Snapshot del dispositivo virtual vRealize Suite Lifecycle Manager . Si encuentra algún problema durante la actualización, puede volver a esta instantánea. (Si esta siguiendo esta serie de post omita este paso, porque ya lo hicimos en la Parte 1)
  • Verifique que no haya tareas críticas en curso en vRealize Suite Lifecycle Manager. El proceso de actualización detiene e inicia los servicios de vRealize Suite Lifecycle Manager y reinicia el dispositivo virtual vRealize Suite Lifecycle Manager, lo que podría dañar las tareas en curso.
  • Si está actualizando vRealize Suite Lifecycle Manager a través de una URL de repositorio o un CD-ROM, asegúrese de descargar el binario de actualización de vRealize Suite Lifecycle Manager desde el portal My VMware con anticipación. El nombre del archivo debe ser -VMware-vLCM-Appliance-8.XXXX-XXXXXXXX-updaterepo.iso.

PROCEDIMIENTO

Para comprobar las actualización de vLCM tenemos tres opciones de repositorios. En este post estaremos hablando del Check online  y la opción CD-ROM.

ACTUALIZACION ONLINE

En el panel de servicios de vLCM, haga clic en Lifecycle Operations y luego clic en Settings.

Clic en System Upgrade.

Seleccione el tipo de repositorio para las actualizaciones de vRealize Suite Lifecycle Manager (Check Online) y después clic en CHECK FOR UPGRADE. Y si tiene salida a internet, después de unos minutos debería poder visualizar cual es la ultima versión disponible.

Ahora solo debe hacer clic en el botón UPGRADE.

Este proceso tomará un par de minutos. Si el proceso ve alguna pantallas con el mensajes Waiting for services to start, no se preocupe, es normal.

ACTUALIZACION OFFLINE

En la actualización offline, primero necesitaremos descargar el medio de instalación desde el portal de My VMware.

Nota: Una vez descargado el medio de instalación es importante verificar la integridad del mismo. Para esto lo invito a leer el siguiente post Verificar integridad de medios de instalación VMware (checksum), no tardará mas de 5 minutos.

Lo siguiente que debemos hacer es cargar la ISO a Content Library (si existe) o a un Datastore.

Desde la interface de vCenter Server, debemos mapear la ISO al dispositivo CD/DVD de la maquina virtual de vLCM haciendo Edit Settings a la maquina.

Nota: Si cargó la ISO a un datastore seleccione en CD/DVD drive Datastore ISO file, si la cargó a un Content Library entonces seleccione la opción Content Library ISO File, y seleccione la ISO que contiene la actualización de vLCM.

Volvemos a la interface gráfica de vLCM y en el panel de servicios, haga clic en Lifecycle Operations y luego clic en Settings.

Clic en System Upgrade.

Seleccione el tipo de repositorio para las actualizaciones de vRealize Suite Lifecycle Manager (CD-ROM) y después clic en CHECK FOR UPGRADE. En este caso va a revisar la actualización contra la ISO que hemos mapeado anteriormente y después de unos segundos debería poder visualizar cual es la última versión disponible.

Ahora solo debe hacer clic en el botón UPGRADE.

Este proceso tomara un par de minutos. Si en el proceso ve alguna pantallas con el mensajes Waiting for services to start, no se preocupe, es normal.

Una vez terminada la actualización por cualquiera de los métodos explicado anteriormente, inicie sesión en vRealize Suite Lifecycle Manager UI y compruebe el estado de la actualización haciendo clic en Settings -> System Upgrade.

Cuando se completa la actualización exitosamente, vRealize Suite Lifecycle Manager muestra el mensaje “vRealize Suite Lifecycle Manager successfully Upgrade”.

También puede verificar la versión actual haciendo clic sobre el nombre de usuario admin@local -> About, en la esquina superior derecha.

Para continuar viendo esta serie de blogs explicando el proceso de actualización de la solución de vRA lo invito a leer la Parte 3.

Referencias

https://docs.vmware.com/en/VMware-vRealize-Suite-Lifecycle-Manager/8.3/com.vmware.vrsuite.lcm.8.3.doc/GUID-DD8074D5-E1C9-4900-B324-8D9744C314B4.html

Backup para vRealize Automation 8.x – Actualizando vRA Parte 1

Esta serie de posts que consta de cinco partes, ha sido desarrollada con el fin de dar claridad al proceso involucrado cuando realizamos una actualización de la solución vRealize Automation 8.x, debido a que al enfrentarnos por primera vez, podría ser un poco confuso.

Como recomendación o best practice antes de la actualización de cualquier componente de la solución de vRA, necesitaremos garantizar un backup en frio, por esta razón, lo haremos para de todos sus componentes (vLCM, vIDM, vRA); para lo cual necesitaremos apagar toda la solución.

Para esto lo haremos como se indica a continuación:

0. Forzar sincronización de vIDM y vRA y verificar todas las contraseñas de administración de la solución para vLCM, vIDM y vRA.
1. Verificar que todos los servicio están funcionando correctamente
2. Detener servicios del cluster de vRA por consola
3. Apagar Appliances de vRA desde vLCM
4. Apagar Appliances de vIDM desde vLCM
5. Apagar vLCM desde el vCenter
6. Tomar backup
7. Tomar Snapshot (Recomendado)
8. Encender vLCM desde el vCenter
9. Encender vIDM desde vLCM
10. Encender Appliances de vRA
11. Iniciar servicios de vRA por consola

0. Antes de comenzar ser recomienda forzar una sincronización tanto de vRA como de vIDM desde vLCM. Para esto vamos a Home -> Environment -> “Environment que contenga la solución de vRA” y luego clic en VIEW DETAILS. Para este caso el Environment que contiene la solución de vRA es IRD-VRA.

Después haga clic en TRIGGER INVENTORY SYNC.

El resultado de este request debe ser Completed.

Lo mismo haremos para vIDM. Para esto vamos a Home -> Environment -> “Environment que contenga la solución de vIDM” y luego clic en VIEW DETAILS. Para este caso el Environment que contiene la solución de vIDM es globalenvironment.

Clic en el icono con los … al lado derecho de VMware Identity Manager y después haga clic en TRIGGER INVENTORY SYNC.

El resultado de este request debe ser Completed.

IMPORTANTE! Adicionalmente deberemos testear cada una de los passwords documentados para la solución, de tal manera que puedan ser utilizado durante el troubleshooting si algo sale mal. Esta tarea consiste en iniciar sesión en las consolas gráficas con los usuario administradores (admin, configadmin, etc.), iniciar sesión ssh a cada uno de los appliances con cada uno de los usuarios administradores documentados (root, sshuser, etc.).

Una vez completados los preliminares, podemos comenzar.

1. Verificar que todos los servicios están funcionando correctamente. Si existe algún problema resuélvalo antes de continuar.

Inicie sesión SSH al Primary Node de vRealize Automation y ejecute los siguientes comandos para verificar el estado de los servicios

Nota 1: En un ambiente de vRA en cluster verifique el nodo primario (Primary Node) desde vLCM haciendo clic Home -> Environment -> “Environment que contenga la solución de vRA” y luego clic en VIEW DETAILS. Para este caso el Environment que contiene la solución de vRA es IRD-VRA. El nodo primario estará marcado como Primary.

En la sesión ssh ya establecida ejecute el siguiente comando para verificar que todo este arriba y no existan problemas antes de apagar.

kubectl get pods --all-namespaces

kubectl -n prelude get pods

2. Detener servicios del cluster de vRA por consola.

Ejecute los siguientes comando en la sesión SSH del Primary Node de vRA

/opt/scripts/svc-stop.sh

sleep 120

/opt/scripts/deploy.sh --onlyClean

Se recomienda copiarlos y pegarlos primero en un Bloc de Notas para evitar que algún caracter especial sea ingresado

y después si copiarlos y pegarlos en la consola ssh del nodo primario de vRA.

Nota: Si por alguna razón obtiene el siguiente error en el primer comando. “Error: context deadnline exceed” intente lanzar el mismo comando desde otro nodo del cluster vRA.

Si el problema continua intente ejecutar el script de la siguiente forma.

Naveguen entonces hasta la ubicación del script y ejecute los siguientes comando

root@vra-01a [ ~ ]# cd /opt/scripts/

root@ivra01a [ /opt/scripts ]# ls -la

Verifique que el script svc-stop.sh exista en ese nodo.

Después ejecute el script desde la ubicación actual, de la siguiente forma

root@ivra01a [ /opt/scripts ]# ./svc-stop.sh

Una vez ha ejecutado los tres comando con éxito, hasta el script /opt/scripts/deploy.sh –onlyClean. Ejecute de nuevo el siguiente comando (solo para verificar) y no deberíamos tener recursos activos.

kubectl -n prelude get pods

En este punto ya podemos apagar los appliances de vRA desde vLCM.

3. En vLCM desde el servicio Lifecycle Operations vamos a la sección Home -> Environments -> “Environment que contenga la solución de vRA”.

Clic en el icono con tres punto al lado derecho del titulo vRealize Automation  … clic en Power OFF.

y luego SUBMIT para confirmar.

El request debería mostrarse como Completed.

Nota: Si tiene la versión 8.1 de vLCM en su ambiente, esta opción no estará disponible. Así que deberá apagar los appliances desde vCenter.

4. En vLCM desde el servicio Lifecycle Operations vamos a la sección Home -> Environments -> “Environment que contenga la solución de VMware Identity Manager” (en este caso globalenvironment).

Clic en el icono con tres punto al lado derecho del titulo VMware Identity Manager  … clic en Power OFF.

y luego SUBMIT para confirmar.

El resultado del Request debería ser Completed.

Esta acción debería haber apagado los appliances del vIDM de manera controlada. Sin embargo, no esta de mas verificar.

5. Por ultimo procederemos a apagar el Appliance de vLCM desde el vCenter.

6. En este punto podemos lanzar el Job de backup con la solución que tengamos disponible (en este caso Veeam Backup), para respaldar los siguientes appliances:

  • vRA
  • vIDM
  • vLCM

7.  Nunca sobra un Snapshot (Recomendado) de los siguientes appliances:

  • vRA
  • vIDM
  • vLCM

8. En este punto procedemos a encender de nuevo el Appliance de vLCM desde el vCenter

9. Continuar con el encendido de vIDM desde vLCM

En vLCM desde el servicio Lifecycle Operations vamos a la sección Home -> Environments -> “Environment que contenga la solución de VMware Identity Manager” (en este caso globalenvironment).

Clic en el icono con tres punto al lado derecho del titulo VMware Identity Manager  … clic en Power ON y después en SUBMIT.

El resultado del Request debería ser Completed.

Nota: Si tiene la versión 8.1 de vLCM o inferior en su ambiente, esta opción no estará disponible. Así que deberá encender los appliances desde vCenter.

10. Encender Appliances de vRA desde vLCM

En vLCM desde el servicio Lifecycle Operations vamos a la sección Home -> Environments -> “Environment que contenga la solución de vRA” (en este caso IRD-VRA).

Clic en el icono con tres punto al lado derecho del titulo vRealize Automation  … clic en Power ON y después en SUBMIT.

El resultado del Request debería ser Completed.

Nota: Si tiene la versión 8.1 de vLCM o inferior en su ambiente, esta opción no estará disponible. Así que deberá encender los appliances desde vCenter. Espere aprox. 5 min a que los appliances inicien completamente.

11. Por ultimo, debemos iniciar los servicios de vRA por consola (Si tenemos un cluster de vRA ver Nota 1 para identificar Primary Node).

Inicie sesión ssh al Primary Node de vRA y ejecutar los siguientes comandos.

kubectl get pods --all-namespaces

kubectl -n prelude get pods

Nota: Como puede observar en esta versión de vRA 8.1, no se inició los servicios de manera automática por lo que tendremos que iniciarlos ejecutando el siguiente comando. Sin embargo, es probable que en versiones mas recientes vRA suba los servicios automáticamente en donde el comando anterior (kubectl -n prelude get pods), debería mostrar todo los pods creados. Sino es el caso ejecute el siguiente comando.

/opt/scripts/deploy.sh

Nota: El script de inicio tardara aproximadamente 20 min. De manera que sea paciente.

Una vez termine la ejecución del script, podrá observar en la consola que el despliegue ha terminado de manera exitosa, con el siguiente mensaje: Prelude has been deployed sucessfully.

Solo por verificar vuelva a ejecutar el siguiente comando:

kubectl -n prelude get pods

Por ultimo, solo nos queda ingresar a la URL del Tenant en vRA y verificar que todo se encuentre operando normalmente.

Para continuar viendo esta serie de blogs explicando el proceso de actualización de la solución de vRA lo invito a leer la Parte 2.

Referencias

https://docs.vmware.com/en/vRealize-Automation/8.3/Administering/GUID-99D06124-13F8-489A-B43C-EAEC3F4FE582.html

Solucionando error: vRA First boot check on failed on host

En esta oportunidad estaremos revisando la solución al error LCMVRAVACONFIG590060, que podría llegar a ocurrir durante el proceso de actualización de la solución vRealize Automation (vRA) 8.x. Cabe anotar que este error se produjo después de que vRealize Lifecycle Manager (vLCM) había marcado el pre check como exitoso. Pero bueno, cosas extrañas pueden ocurrir.

El detalle del error básicamente contienen lo siguiente:

com.vmware.vrealize.lcm.common.exception.EngineException: vRA First boot check on failed on host : irpaclyvm-vra-it-01.lab.local. Run command 'vracli status first-boot' to find first boot status        at com.vmware.vrealize.lcm.plugin.core.vra80.task.VraVaPreUpgradeTask.execute(VraVaPreUpgradeTask.java:111)        at com.vmware.vrealize.lcm.automata.core.TaskThread.run(TaskThread.java:45)        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)        at java.base/java.lang.Thread.run(Unknown Source)

La solución a este problema es bastante sencilla y únicamente requiere seguir el procedimiento a continuación.

PROCEDIMIENTO

1. Inicie sesión ssh en el nodo que reporta el error en vLCM y ejecute el siguiente comando

vracli status first-boot

Si la salida del comando anterior es Error: Cannot connect to Tiller, continúe con los siguientes pasos.

2. Descargue el archivo 2672731-add-tiller-proxy.tar desde los adjuntos del KB81815.

3. Tome un snapshot al nodo de vRA reportado por vLCM (en este caso el nodo vra-01)

4. Inicie sesión en el nodo de vRA que reporta vLCM con la herramienta WINSCP y cargue el archivo del paso anterior “2672731-add-tiller-proxy.tar.gz” en la ruta “/root“.

5. Vuelva a la sesión SSH del nodo de vRA (en este caso nodo vra-01) y ejecute el siguiente comando

tar -xvf 2672731-add-tiller-proxy.tar.gz && chmod a+x 2672731-add-tiller-proxy.sh && ./2672731-add-tiller-proxy.sh && rm 2672731-add-tiller-proxy.*

6. Inicie sesión SSH en cada uno de los demás nodos de vRA y ejecute el siguiente comando para verificar que se puede acceder a helm desde todos los nodos de vRA.

helm ls

Ejemplo: Nodo vRA 01

Ejemplo: Nodo vRA 02

Ejemplo: Nodo vRA 03

Nota: Helm es un administrador de paquetes para Kubernetes y se utiliza para empaquetar, configurar e implementar aplicaciones y servicios en clústeres de Kubernetes.

7. Vuelva a la interfaz de vLCM, en el request fallido haga clic en RETRY y después en SUBMIT.

8. Al final el proceso de actualización de vRA debería ser exitoso y el resultado del Request debería mostrarse como Completed.

Referencia

https://kb.vmware.com/s/article/81815

Solucionando precheck fallido: Disk space on Service-Logs partition needs to be increased – vRA Upgrade 8.x

En esta oportunidad vamos a resolver rápidamente un problema que suele ocurrir durante la validación que vRealize Lifecycle Manager (vLCM) realiza en el proceso de actualización de vRealize Automation 8.x (vRA).

El proceso de validación falla aunque la partición de logs tiene suficiente espacio libre. De acuerdo al precheck realizado por vLCM durante el proceso, el disco debería tener mas de 22GB y solo tiene 8GB.

Pues bien, si hacemos clic en VIEW en la columna Recommendations, podremos obtener la recomendación para la solución a nuestro problema. Donde básicamente nos indica que crezcamos en este caso el disco VM Disk 3 y después ejecutemos el comando vracli disk-mgr resize, en el Appliance con el error (en este caso lo muestra para los tres appliances del cluster de vRealize Automation 8.x).

Nota: El problema realmente ocurre cuando nuestra versión de vRA es 8.0.1 o 8.1. Que es nuestro caso (8.1). Pero afortunadamente existe un workaround que consiste de los siguientes pasos.

1. Inicie sesión SSH hacia cada uno de los appliances de cluster vRA y ejecute los siguientes comandos para verificar el espacio de los disco en vRA.

vracli disk-mgr

También puede utilizar el comando df -h

2. Crezca el tamaño del disco indicado desde vCenter Server en cada una de las VM asociadas al cluster de vRA 8.x.

3. Vuelva a la sesión ssh y ejecute el siguiente comando en cada uno de los appliances del cluster de vRA.

vracli disk-mgr resize

Verifique el log con  el comand cat /var/log/disk_resize.logdf -h

Si obtiene alguno de los siguientes errores durante el Resizing continúe con los siguientes pasos.

"ERROR: Error resizing file system"

"Extending logical volume services-logs... New size (5119 extents) matches existing size (5119 extents)"

"ERROR: Error resizing logical volume."

4. Ejecute los siguientes comando en cada uno de los appliances de vRA

/usr/sbin/resize2fs /dev/mapper/logs_vg-services--logs

rm /var/vmware/prelude/disk-management/disk_stats

vracli disk-mgr

(Opcional) df -h

Ejemplo: Nodo vRA 01

Ejemplo: Nodo vRA 02

Ejemplo: Nodo vRA 03

Después de haber realizado el procedimiento anterior, podrá realizar el precheck nuevamente y este debería mostrar el mensaje "All validations passed for this environment".

Referencia

https://kb.vmware.com/s/article/79925

Reset password expirado en VMware Identity Manager vía API

En esta ocasión venimos a solucionar un problema que hace un par de días me consumió toda una tarde, primero porque no tenia ni idea de como configurar Postman y segundo porque no sabia como utilizar las API calls disponibles para VMware Identity Manager (vIDM).

Escenario:  El usuario default Tenant (confiadmin) o cualquier usuario local creado en vIDM para el entorno de vRA tiene su contraseña expirada.

Antes de continuar debemos aclarar que si tenemos un SMTP configurado en la solución vIDM, el reset del password no seria un problemas debido a que simplemente hacemos login en la URL del Tenant de vIDM con el usuario admin, vamos a la sección User & Groups, seleccionamos el usuario que tiene el password expirado y hacemos clic en reset password. Esta acción envía una notificación por email y desde allá podremos restaurar la clave.

El problema realmente viene cuando no tenemos un SMTP configurado, por lo tanto VMware Identity Manager (vIDM) no es capas de enviar la notificación al usuario y no podemos restaurar la contraseña de esta manera. El error generado cuando esto pasa dice los siguiente: Password reset email could not be sent due to "Error sending email".

Como el nombre del post lo indica, la clave aquí es usar API calls utilizando la herramienta Postman. Al final notará que resulta ser la forma mas fácil de solucionar el problema. Veamos el procedimiento…

PROCEDIMIENTO

El procedimiento explicado a continuación muestra la desde la configuración del cliente necesario en vIDM, hasta la utilización de las APIs en Postman para la restauración del password del usuario afectado.

Configurar vIDM para usar OAuth token

1. Una vez instalada la herramienta debemos configurar un token para la autenticación. Utilizando los siguientes pasos que han sido adaptados del siguiente blog.

2. Desde un navegador web haga Login en la URL del Tenant de vIDM en donde tiene el usuario afectado. Y luego vaya a la seccione Catalog y clic en Settings.

3. Clic en Remote App Access y después clic en Create Client.

4. Configure el Cliente con los siguientes datos:

– Access Type: Service Client Token.

– Client ID: Elija un nombre como por ejemplo PostmanClient.

5. Ahora haga clic en la flecha frente a Advanced para visualizar las opciones y clic en  Generate Shared Secret. (copie y pegue el Shared Secret generado en un bloc de notas para utilizarlo mas adelante).

Nota 1: Los valores del TTL del token de acceso le indicarán cuánto tiempo serán válidos sus Tokens tipo Bearer.

6. Y por ultimo clic en el botón ADD.

Configurar Postman para usar un token OAuth

1. Lo primero que debemos hacer por supuesto es descargar e instalar Postman, la descarga la pude realizar desde aquí.

2. Abra una nueva pestaña en Postman.

3. En la sección Authorization, seleccione TYPE como “OAuth 2.0”

4. Clic en el botón Get New Access Token y configure los siguientes datos:

– Token Name: elija un nombre. Ejemplo: vIDM Token

– Grant Type: Client Credentials

– Access Token URL: ingrese https://URL_del_Tenant/SAAS/auth/oauthtoken.

  Ejemplo:  https://irpaclyvm-vidm-it-mst.lab.local/SAAS/auth/oauthtoken

– Client ID: Ingrese el Client ID creado arriba (PostmanClient).

– Client Secret: Copie y pegue el shared secret que dejó disponible en el bloc de notas anteriormente.

– Scope: Admin.

– Client Authentication: Send as Basic Auth header.

5. Haga clic en Request Token.

6. Clic en Use Token.

7. Ahora podrá ver sus token creados en el menú desplegable de Available Tokens para su posterior uso.

Hasta aquí ya tenemos vIDM y Postman listos para usar las API call y solucionar nuestro problema con la contraseña del usuario configadmin.

Consultar detalles del Usuario

Debido a que necesitamos restaurar la contraseña del usuario configadmin. Lo primero que debemos hacer es obtener los detalles de ese usuario especifico haciendo uso de la siguiente API.

1. Abra una nueva pestana en Postman.

2. Seleccione el método  GET e ingrese la API para la URL del Tenant https://URLTENANT/SAAS/jersey/manager/api/scim/Users?filter=username%20eq%20%22MiUsuario%22.

Nota 2: Reemplace MiUsuario con el username de su ambiente. Para este ejemplo utilizaremos configadmin

Ejemplohttps://irpaclyvm-vidm-it-mst.lab.local/SAAS/jersey/manager/api/scim/Users?filter=username%20eq%20%configadmin%22

3. Click en el botón Send.

Esta API devolverá todos los atributos asociados para el usuario filtrado.

Nota 3: El resultado de este método debe mostrar Status: 200 OK.

4. De esta salida nos interesa el “Id” del usuario afectado (en este caso configadmin). Por lo que será necesario copiarlo para la modificación de su contraseña .

Modificación del Usuario

Utilizando el “Id” copiado anteriormente utilizaremos la siguiente API para modificar el valor de la contraseña del usuario afectado (configadmin).

1. Abra una nueva pestana en Postman.

2. Seleccione el método  PATCH e ingrese la API para la URL del Tenant https://URLTENANT/SAAS/jersey/manager/api/scim/Users/{ID}

Nota 4: Reemplace la URL del Tenant y el ID del usuario afectado.

Ejemplo: https://irpaclyvm-vidm-it-mst.lab.local/SAAS/jersey/manager/api/scim/Users/12cd6205-6b20-4d00-96b8-b3481155f87e

3. Como puede apreciar en la documentación de las referencias API para vIDM. Para esta API es requerido el ID y el Body. Por lo que tendremos que hacer clic en la pestaña Body, seleccionar raw y escribir los siguiente:

{

    “password”: “VMware1!”

}

Nota 5: Reemplace el password por el deseado.

4. Clic en el botón Send.

El resultado de este método debe mostrar Status: 204 No Content.

5. Ahora debería poder utilizar su contraseña actualizada. Abra una ventana de un navegador web con la URL del Tenant y haga login con el usuario y el nuevo password.

Creciendo almacenamiento de vRealize Lifecycle Manager (vLCM)

¿Quien no ha tenido problemas con el espacio de vRealize Lifecycle Manager (vLCM) cuando estamos realizando una actualización o una instalación de una solución VMware? Pues bien, este post se centrará en este problema común que genera un error en el Request al intentar descargar los Binarios directamente desde My VMware o al intentar hacer el Mapping Local de los mismos.

Si analizamos los destalles del request en la sección Home -> Requests del servicio Lifecycle Operations podremos observar que el detalle del error básicamente contiene lo siguiente:

“com.vmware.vrealize.lcm.common.exception.userinput.myvmware.MyVmwareProductDownloadException: Error occurred while downloading product binaries from MyVMware account : nasawest@vmware.com. Please check the logs for more details        at com.vmware.vrealize.lcm.drivers.myvmware.helper.MyVmwareDownloadRestClient.downloadFile(MyVmwareDownloadRestClient.java:714)        at com.vmware.vrealize.lcm.drivers.myvmware.helper.MyVmwareDownloadUtil.getDownloadUrlsAndDownloadProductBinaryFiles(MyVmwareDownloadUtil.java:295)        at com.vmware.vrealize.lcm.drivers.myvmware.helper.MyVmwareDownloadUtil.downloadProductBinaries(MyVmwareDownloadUtil.java:168)        at com.vmware.vrealize.lcm.plugin.core.myvmware.tasks.MyVmwareDownloadTask.execute(MyVmwareDownloadTask.java:203)        at com.vmware.vrealize.lcm.automata.core.TaskThread.run(TaskThread.java:45)        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)        at java.base/java.lang.Thread.run(Unknown Source)Caused by: java.io.IOException: Error occurred when uploading file to a content repo. It could be due to disk space not available.        at com.vmware.vrealize.lcm.drivers.sourcemapping.helper.SourceMappingUtil.mountISOandUpload(SourceMappingUtil.java:1056)        at com.vmware.vrealize.lcm.drivers.myvmware.helper.MyVmwareDownloadRestClient.downloadFile(MyVmwareDownloadRestClient.java:659)        … 7 more”

Indicándonos una línea muy importante “It could be due to disk space not available” en donde nos esta diciendo que posiblemente no hay espacio disponible para la descarga de los binarios. Para verificar esto haremos lo siguiente:

Iniciamos sesión SSH hacia el Appliance de vLCM con usuario root y la clave configurada durante la instalación.

Ejecutamos el comando df -h

Efectivamente podemos evidenciar que el disco con la ruta /data se encuentra al 72% de utilización y debido a que en este caso de laboratorio el disco es de apenas 20GB, es necesario crecer el disco para poder descargar los BINARIOS.

¿Como lo hacemos entonces para crecer el disco?

No te preocupes… En la interfaz grafica (UI) de vLCM vamos Lifecycle Operation y despues a la sección Home -> Settings -> System Details.

Nota 1: Desde aquí también obtendremos un resumen del almacenamiento usado.

Para Extender el disco simplemente debemos hacer clic en el botón EXTEND STORAGE y diligenciar los datos solicitados para el vCenter Server que esta administrando el Appliance de vLCM. Para este ejemplo creceremos el disco en apenas 10 GB. (Ver Nota 3 al final sino tienes una credencial configurada para vCenter Server).

Clic en el botón EXTEND para continuar.

Clic en el enlace Click here para verificar los detalles del Request y monitorear su actividad.

Una vez terminado el proceso de expansión podrá ver de nuevo en Home -> Settings -> System Details que ya aparecerá el nuevo espacio. Ahora contamos con un total de 30 GB y un 48% usado.

En este punto podemos intentar de nuevo el proceso para descargar los BINARIOS desde Home -> Settings -> Binary Mapping, y el Request debería funcionar sin problemas.

El request para la descarga tardará un par de minutos así que sea paciente.

Una ves completado el Binario estará disponible en Home -> Settings -> Binary Mapping.

Nota 2: La configuración de los Binarios lo remataremos en otro post para no hacer este tan largo.

Nota 3: En vLCM todas la contraseñas son referenciadas desde el Locker. De manera que sino cuenta con una credencial creada para vCenter Server, vaya primero al Locker de vLCM y configure una.