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.

Verificar integridad de medios de instalación VMware (checksum)

Como ya sabemos, una suma de verificación o checksum, es el resultado de ejecutar una función hash criptográfica dentro de un archivo, que tiene como propósito principal detectar cambios en una secuencia de datos para proteger su integridad. La particularidad de esto es que un pequeño cambio en el archivo provoca una salida totalmente distinta.

Dicho esto, checksum nos permite verificar la integridad del medio de instalación y estar seguros que el contenido del mismo no ha sido alterado y es tal y como lo indica su fabricante.

Lo importante a tener en cuenta en este post es que el objetivo no es garantizar una procedencia confiable del medio de instalación, sino verificar la integridad del archivo descargado.

Dejando un lado la teoría vamos a lo que nos interesa…

PROCEDIMIENTO

Utilizando la línea de comando de Windows (CMD) y la herramienta CertUtil incluida en las versiones mas recientes del sistema operativo. Ejecute el siguiente comando.

CertUtil -hashfile "Ubicacion_y_nombre_del_archivo" MD5

Nota 1: Para no tener que escribir el nombre del archivo, podemos simplemente seleccionarlo y arrastrarlo dentro de la consola de CMD de Windows y de esta manera incluirá la ubicación completa del mismo.

El resultado del comando nos devuelve un número de verificación similar al siguiente. Selecciónelo y cópielo para el siguiente paso (el de su Command Prompt).

e05748cea32d60566f0738a5b811cfdc

Para verificar que el archivo no ha sufrido ninguna modificación durante la descarga o posterior a ella, vaya a la página de descargas de VMware, donde descargó el medio de instalación, utilice la función Buscar… (ctrl+f o command+f) y dentro del campo de búsqueda pegue el numero que devolvió la salida del comando anterior.

De esta manera podemos buscar rápidamente si el numero que nos devolvió la herramienta CertUtil corresponde con el numero de verificación (MD5SUM) publicado por el fabricante.

Nota 2: Sino puede ver los detalles del medio de instalación en pagina de descargas. Haga clic en el enlace Read more para visualizar la información publicada por VMware.

Si el numero es encontrado como en la imagen anterior, el medio de instalación es apto para ser usado. Sino es así, vuelva a descargar el medio de instalación porque seguramente esta corrupto.

Nota 3: Puede utilizar la herramienta CertUtil para la suma de verificación de otros algoritmos hash cambiando el parámetro MD5 en el comando por cualquiera de los siguientes. VMware en su página de descargas publica la información para MD5SUM, SHA1SUM y SHA256SUM.

  • MD2
  • MD4
  • MD5
  • SHA1
  • SHA256
  • SHA384
  • SHA512

Por ultimo y como recomendación, realice este procedimiento para evitar algunos dolores de cabeza y perder tiempo tratando de solucionar problemas que probablemente vienen del medio de instalación y no del proceso de instalación o actualización.