Crear Email Notification para VMs desplegadas desde vRA 8.x

En este blog explicaremos paso a paso cómo crear una notificación por correo electrónico para las VMs desplegadas desde vRA 8.x. Esto debido a que lamentablemente a la fecha de escritura de este blog, no existe esta funcionalidad de manera nativa y el servicio de Service broker esta limitado únicamente a enviar notificaciones para los escenarios indicados en el siguiente enlace de la documentación oficial Send email notifications to Service Broker users.

Agradecimientos a @Sam Perrin, quien ha dado la pauta para esta solución en este blog.

En este caso para suplir esa necesidad de notificación, utilizaremos la funcionalidad de vRealize Orchestrator (vRO) para extender las funcionalidades de vRealize Automation (vRA).

Comenzaremos creando una plantilla muy básica de HTML en cualquier editor de texto, y la guardaremos con el nombre VM-Details y la extensión .html. Esta plantilla será utilizada posteriormente por vRO para presentar los datos de la VM en el contenido del email.

Dejo a continuación el código de la plantilla para que evite la fatiga y pueda simplemente copiar/pegar.

<html>
<body>
  <p>=============================================</p>
  <p>Please find your VM details below;</p>
 
  <ul>
    <li>VM Name = {{vmName}}</li>
    <li>IP Address = {{ipAddress}}</li>
    <li>Memory = {{memory}}</li>
    <li>CPU = {{cpu}}</li>
    <li>Guest OS = {{guestOs}}</li>
  </ul>

  <p>=============================================</p>
</body>

</html>

Posteriormente vamos a iniciar sesión el nuestra solución de vRA y seleccionaremos el servicio de Orchestrator

Ahora dentro de vRO, en el panel de navegación izquierdo debemos ir a la sección Assets -> Resources.

Y bajo la carpeta Resources debemos crear una Carpeta llamada Email-Templates.

Nota 1: Utilice la vista de árbol (Tree View) para crear la carpeta justo debajo de Resources.

Nota 2: Para configurar la vista en modo árbol podemos hacer click en icono enmarcado en la imagen anterior.

Seleccionamos la nueva carpeta creada (Email-Template) y dentro de esta carpeta haremos click en el botón +IMPORT para importar el archivo .html que hemos creado

Una vez hecho lo anterior podemos volver ahora al panel izquierdo de vRO y navegar hasta Library -> Workflows para proceder a crear el nuevo workflow que hará la magia.

Click en +NEW WORLFLOW, definir un nombre en este caso lo llamaremos «Notifications with VM deployed from vRA».

En la pestaña de Schema, dentro del nuevo workflow, agregamos al canvas los siguientes schema elements, Scriptable Task y Workflow element, en el orden indicado a continuación.

  1. Scriptable task
  2. Workflow element
  3. Scriptable task
  4. Workflow element

Comenzaremos editando el primer Scriptable task de izquierda a derecha. Para esto simplemente seleccionamos el schema element dentro del canvas y aparecerá un panel al lado derecho para configurar los parámetros de este elemento.

En la pestana General, bajo la sección Details, podemos cambiar el nombre del Schema element cambiando el texto que esta frente al campo Name. En este caso lo reemplazamos por «Get Resource Name» (sin comillas) y en el campo Description agregamos el siguiente texto «This Scriptable task get the Parameter «resourceName» coming from Compute Post Provisioning event topic in vRA» (sin las comillas).

Ahora debemos expandir la sección de Inputs/Outputs y frente al campo Imputs debemos hacer click en el signo (+) y luego click en Create New para crear un nuevo Input con el nombre inputProperties del tipo Properties

Luego click en CREATE

De igual forma, pero frente al campo Outputs vamos hacemos click en el signo (+) y luego click en Create New para crear una nueva Variable con el nombre vmResourceName del tipo String.

Y click en CREATE

Debe quedar de la siguiente forma

Ahora en la pestana scripting debemos incluir el siguiente código. Para mayor facilidad simplemente copie/pegue


var resourceName = inputProperties.get("resourceNames");

System.log("VM Name: " + resourceName[0]);

vmResourceName = resourceName[0];

Debe quedar de la siguiente forma

Pasaremos ahora a editar el siguiente schema element llamado Workflow element. De nuevo al seleccionarlo aparecerá un panel al lado derecho. En la sección Workflow vamos a utilizar uno de los workflows que trae incorporado vRO y que nos servirá para obtener el nombre de la VM. Entonces escribimos en el campo de texto «get virtual machines by name» y seleccionamos de la lista el workflow existente que contiene ese nombre.

Nota 1: Una vez seleccionamos el workflow, podemos notar que el campo name en la sección Details se ha renombrado y ahora este schema element ha tomado el nombre del workflows que hemos seleccionado.

En la sección Workflows de este elemento configuraremos los inputs/outputs que el workflow invocado (Get virtual machines by name) requiere.

Ahora frente al input hacemos click en el campo de texto criteria escribiremos el nombre de la variable creada anteriormente vmResourceName y la seleccionaremos de la lista desplegable.

Seguidamente, frente al output vms hacemos click en el campo de texto y luego click en Create New para crear una nueva Variable con el nombre vmObject del tipo VC:VirtualMachine. 

Nota 2: Observe que esta variable será un Array

Estos cambios deberían lucir de la siguiente manera.

Pasaremos al tercer schema element de izquierda a derecha para editarlo. Click en Scriptable task para seleccionarlo.

Lo primero que vamos a hacer, como ya lo sabemos, es editar el Name bajo la sección Details, y lo renombraremos como «Get VM Properties» (sin comillas).

En el campo Description colocaremos lo siguiente «This simple task gets vm properties from vmObjet coming from Get virtual machines by name Workflow».

Ahora debemos expandir la sección de Inputs/Outputs y frente al campo Imputs debemos hacer click en el signo (+) y en el campo de texto escribiremos el nombre de la variable creada anteriormente vmObject y la seleccionaremos de la lista desplegable. 

De igual forma, pero frente al campo Outputs debemos hacer click en el signo (+) y luego click en Create New para crear una nueva Output con el nombre emailContent del tipo String.

Y click en CREATE

Repetiremos la acción del paso anterior para crear una salida (output) adicional, click en el signo (+) y luego click en Create New pero creando esta vez será una nueva Variable con el nombre contentEmail del tipo String.

Debe quedar de la siguiente forma

Lo siguiente que debemos hacer, es hacer clic en la pestaña Scripting de este schema element, y agregar el siguiente código. Para evitar la fatiga de nuevo, simplemente copiar/pegar.


/*
  - Input: vm [VC:VirtualMachine]
  - Output: emailContent [string]
*/
var vm = vmObject[0];
var vmName = vm.name;
var ipAddress = vm.ipAddress;
var memory = vm.memory;
var cpu = vm.cpu;
var guestOs = vm.guestOS;

var htmlTemplate = fetchEmailTemplate("VM-Details.html");
		
var fieldKeyValues = new Properties();
fieldKeyValues.put("{{vmName}}",vmName);
fieldKeyValues.put("{{ipAddress}}",ipAddress);
fieldKeyValues.put("{{guestOs}}",guestOs);
fieldKeyValues.put("{{cpu}}",cpu);
fieldKeyValues.put("{{memory}}",memory);

for each (field in fieldKeyValues.keys) {
	htmlTemplate = updateContent(field,fieldKeyValues.get(field),htmlTemplate);
}

System.debug("==== Email Content ==== \n" + htmlTemplate);
emailContent = htmlTemplate;
contentEmail = emailContent;

function fetchEmailTemplate(elementName) { 
	var categoryPath = "Email-Templates";
	var category = Server.getResourceElementCategoryWithPath(categoryPath);
	for each (var resourceElement in category.resourceElements) {
		if (resourceElement.name.toLowerCase() === elementName.toLowerCase()) {
			var mime = resourceElement.getContentAsMimeAttachment()
			return mime.content;
		}
	}
}

function updateContent(key,value,content) {
	content = content.replace(key,value);
	return content;
}

En la pestana Scripting de este Schema element, debería verse de la siguiente forma.

Pasamos ahora a editar el ultimo elemento de nuestro workflow. Como ya sabemos simplemente lo seleccionamos y en esta ocasión nuevamente utilizaremos uno de los workflows preconstruidos que trae incorporado vRO.

Entonces bajo la sección Workflow de este schema element, en el campo de texto escribiremos «Send notification (TLSv1.2)» (sin las comillas) y lo seleccionaremos de la lista.

Nota 3: De nuevo, puede notar que al seleccionar el workflow el nombre de este schema element se actualiza con el nombre del workflow que estamos invocando.

Ahora utilizando el procedimiento de crear nueva variables que ya conocemos, debemos crear variables para cada una de los inputs requeridos por este workflow (Send notification (TLSv1.2)).

Configuremos entonces cada una de las entradas del workflow como sigue. Podrá ver al fondo del screenshot como se van poblando cada una de las inputs.

En input content en el campo de texto vamos a escribir el nombre de la variable contentEmail y la seleccionamos de la lista

Por último, para el input useStartTls input crearemos una variable con el value en True.

Después de la creación de cada una de las variables para cada uno de los inputs de este workflow, debería quedar así

Nota 5: Como pudo notar el contenido del email que será enviado por correo, esta definido en el input content el cual obtiene su valor de la variable contentEmail creada en el Scriptable task anterior llamado Get VM Properties.

Al final nuestro workflow personalizado debería quedar con las siguientes Variables.

Y deberíamos tener los siguiente inputs/outputs

Ahora solo queda crear una Extensibility subscription en vRA para que el workflow se lance en el evento Compute Post Provisioning. Para ver mas información acerca de extensibility subscription vea el siguiente enlace Create an extensibility subscription.

Nota 6: Una subscription habilita el uso de acciones o workflows a través de un event topic seleccionado.

Vamos entonces al servicio de Cloud Assembly -> Extensibility -> Subscription y click en +NEW SUBSCRIPTION.

Diligenciamos los datos como se muestra a continuación

Nota 7: Como recomendación y best practice, es importante que se habilite siempre la opción Filter events in topic en la condición de la Subscription, para que se ejecute solo con los blueprints específicos que nosotros definamos. En este caso hemos utilizado el filtro event.data.blueprintId.

Realizamos un despliegue desde el Catalogo de Service Broker y esperamos que termine el despliegue.

Al final del despliegue debería llegarnos una notificación por cada VM desplegada desde vRA

Por ultimo, si queremos revisar la ejecución del Workflow podemos ir al vRealize Orchestrator vRO -> Activity -> Workflow Runs

Y hacer click en cualquiera de los que aparecen listados, en este caso haremos click en el que se ejecutó por ultima vez para verificar el valor de cada una de las Variables.

Con esto terminamos esta entrada, que seguramente nos ayudara a llenar este vacío existente en vRA. Espero sea de gran utilizada.

Referencias

ATENCIÓN!!!

TODOS LOS NOMBRES DE VMS USADOS EN ESTE BLOG SON INVENTADOS Y OBEDECEN A UN AMBIENTE DE LABORATORIO PROPIO, UTILIZADO PARA FINES DE ESTUDIO.

Crear Backup para la solución de vRealize Automation 8.x

Esta serie de posts 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.

Antes de comenzar es importante aclarar que si esta realizando una actualización de la solución vRealize Automation 8.x, debería seguir esta serie de posts en el siguiente orden.

1  Crear Backup para la solución de vRealize Automation

2. Actualizar vRealize Suite Lifecycle Manager (vRSLCM) 8.x

3. Configurar Binarios en vRealize Suite Lifecycle Manager (vRSLCM)

4. Actualizar VMware Identity Manager

5. Actualizar vRealize Automation 8.x

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. Esto es, vRealize Suite Lifecycle Manager (vRSLCM), VMware Identity Manager (vIDM) ahora llamado Workspace One Access (WSA), y vRealize Automation (vRA).

Para esto necesitaremos apagar toda la solución pero antes recomiendo seguir las siguientes actividades:

  1. Forzar sincronización de vIDM y vRA y verificar todas las contraseñas de administración de la solución para vRSLCM, vIDM y vRA.
  2. Verificar que todos los servicio están funcionando correctamente
  3. Detener servicios del cluster de vRA por consola (si no existe la opción de Power off desde vRSLCM)
  4. Apagar solución de vRA desde vRSLCM
  5. Apagar solución de vIDM (ahora llamado WSA), desde vRSLCM
  6. Apagar vRSLCM desde el vCenter
  7. Tomar backup de todos los appliances
  8. Tomar Snapshot (Recomendado)
  9. Encender vRSLCM desde el vCenter
  10. Encender solución de vIDM (ahora llamado WSA) desde vRSLCM
  11. Encender solución de vRA desde vRSLCM
  12. Verificar servicios de vRA por consola

PROCEDIMIENTO

Antes de comenzar ser recomienda forzar una sincronización tanto de vRA como de vIDM desde vRSLCM. Para esto vamos al servicio Lifecycle Operations después Home -> Environment -> «Environment que contenga la solución de vRA» y luego clic en VIEW DETAILS.

Después haga clic en TRIGGER INVENTORY SYNC.

El resultado de este request debe ser Completed.

Lo mismo haremos para vIDM. Para esto vamos al servicio Lifecycle Operations de vRSLCM, después Home -> Environment -> globalenvironment 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 tres puntos (…) 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 uno de los password documentados para la solución, de tal manera que puedan ser utilizados durante el procedimiento de troubleshooting si algo sale mal.

Esta tarea consiste en iniciar sesión en las consolas graficas con los usuario administradores (admin, configadmin, etc.) e 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 servicio 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 el servicio Lifecycle Operations de vRSLCM 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 vRA LAB. El nodo primario estará marcado como Primary.

Nota 2:  En este caso de laboratorio solo tenemos un nodo y por lo tanto «vra01» es el Primary.

En la sesión ssh ya establecida ejecute los siguientes comandos para verificar que todo este arriba y no existan problemas antes de apagar.

kubectl get pods --all-namespaces

kubectl -n prelude get pods

2. Si todo esta perfecto con los comandos anteriores, procedemos a apagar solución vRealize Automation desde vRealize Suite Lifecycle Manager. Para esto vamos al servicio Lifecycle Operations de vRSLCM, después Home -> Environment -> «Environment que contenga la solución de vRA» y luego clic en los tres puntos (…) al lado del nombre vRealize Automation y click en Power OFF.

y luego SUBMIT para confirmar.

El request debería mostrarse como Completed.

Nota 3: Si tiene la versión 8.1 o anterior de vRSLCM en su ambiente, esta opción (Power OFF desde vRSLCM) no estará disponible. Así que deberá apagar los appliances desde vCenter manualmente, después de ejecutar el siguiente procedimiento para bajar los servicios de vRA de manera controlada (Starting and stopping vRealize Automation).

4. Continuamos ahora con el apagado de la solución VMware Identity Manager, ahora llamado Workspace One Access (WSA), igualmente usando vRSLCM 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 puntos (…) al lado derecho del titulo VMware Identity Manager  y luego 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 vRSLCM desde el vCenter, siguiendo el procedimiento tradicional para apagar una VM.

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

  • vRA
  • vIDM
  • vRSLCM

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

  • vRA
  • vIDM
  • vLCM

8. En este punto procedemos a encender de nuevo las soluciones comenzando por el Appliance de vRSLCM desde el vCenter

9. Una vez ha subido el vRealize Suite Lifecycle manager (vRSLCM), podemos continuar con el encendido de vIDM (ahora llamado WSA) desde vLCM

En vRSLCM 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.

10. Continuamos encendiendo la solución de vRA desde vRSLCM

En vRSLCM desde el servicio Lifecycle Operations vamos a la sección Home -> Environments -> «Environment que contenga la solución de vRA» (en este caso vRA LAB).

Clic en el icono con tres puntos (…) 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 4: Si tiene la versión 8.1 de vRSLCM o inferior en su ambiente, esta opción no estará disponible. Así que deberá encender los appliances desde vCenter. Espere aprox. 25 min a que los appliances inicien completamente.

11. (Opcional) Verifica  por consola que los pods de vRA hayan iniciado correctamente (Si tenemos un cluster de vRA ver Nota 1 para identificar Primary Node).

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 las demás entradas asociadas con la actualización de vRA.

Referencias

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

ATENCIÓN!!!

TODOS LOS NOMBRES DE VMS USADOS EN ESTE BLOG SON INVENTADOS Y OBEDECEN A UN AMBIENTE DE LABORATORIO PROPIO, UTILIZADO PARA FINES DE ESTUDIO.

Actualizar vRealize Automation (vRA) 8.x

Continuando con esta serie de posts, hemos llegado por fin a la actualización de los appliances de vRealize Automation. De nuevo tendremos una serie de prerrequisitos que verificar, pero si ha seguido esta serie de publicaciones no debería tener ningún problema.

Antes de comenzar es importante aclarar que si esta realizando una actualización de la solución vRealize Automation 8.x, debería seguir esta serie de posts en el siguiente orden.

1  Crear Backup para la solución de vRealize Automation

2. Actualizar vRealize Suite Lifecycle Manager (vRSLCM) 8.x

3. Configurar Binarios en vRealize Suite Lifecycle Manager (vRSLCM)

4. Actualizar VMware Identity Manager

5. Actualizar vRealize Automation 8.x

PRERREQUISITOS

  • Asegúrese de haber actualizado las versiones anteriores de vRealize Suite Lifecycle Manager a la última. Para obtener más información sobre la actualización de su vRealize suite Lifecycle Manager.
  • Asegúrese de haber actualizado la versión anterior de VMware Identity Manager a 3.3.2 o posterior. Para obtener más información sobre la actualización de VMware Identity Manager.
  • Verifique que ya haya instalado vRealize Automation 8.0, 8.0.1, 8.1, 8.2 u 8.3.
  • Realice el mapeo de los binarios de vRealize Automation desde el recurso el repositorio local, My VMware o NFS. 
  • Aumente la CPU, la memoria y el almacenamiento según los requisitos del sistema de vRealize Automation 8.4. Para obtener más información, consulte Requisitos de hardware en vRealize Automation 8.4 Reference Architecture.

PROCEDIMIENTO

1. En la interface de vLCM -> Lifecycle Operations, haga clic en Manage Environments.

2. Navegue hasta la instancia en donde se encuentra vRealize Automation. Para este caso es vRA LAB.

3. Haga clic en VIEW DETAILS y haga clic en el botón TRIGGER INVENTORY SYNC antes de actualizar.

4. Y después en SUMBIT para forzar la sincronización del inventario.

Nota 1: A veces, puede haber una desviación o un cambio en el entorno fuera de Lifecycle Manager y para que Lifecycle Manager conozca el estado actual del sistema, el inventario debe estar actualizado.

El resultado del Request debería ser Completed.

5. Una vez hecha la sincronización del inventario, vuelva a la instancia de vRA y haga clic en UPGRADE.

6. Clic en el botón PROCEED.

7. Seleccione el tipo de vRealize Suite LCM Repository, solo si ha asignado el mapa binario ISO, o puede seleccionar Repository URL con una URL de repositorio de actualización privada.

Para este caso seleccionaremos la opción vRealize Suite LCM Repository y luego haga clic en NEXT.

Nota 2: De manera opcional puede hacer clic en el botón VIEW COMPATIBILITY MATRIX para verificar la compatibilidad de la nueva versión con las soluciones existentes. Se requiere acceso a internet en la IP de vRA para esta acción.

8. En la sección de Snapshot hace click en NEXT

9. Haga clic en RUN PRECHECK.

10. Lea los comentario y marque el check «I took care of the manual steps above and am ready to proceed» para habilitar el botón RUN PRECHECK.

10. Clic en RUN PRECHECK una vez mas y espere a que termine la validación.

Nota 3: El Pre-Check valida los siguientes criterios:

  • Si las versiones de origen de vRealize Automation son 8.0.0 u 8.0.1, asegúrese de seguir los pasos que se indican en el artículo 78325 de KB antes de actualizar para restaurar las cuentas raíz caducadas.
  • SSH habilitado: verifica que SSH para el usuario root esté habilitado.
  • Verificación de versión: verifica si la versión de destino seleccionada para la actualización es compatible con la versión actual de vRealize Automation .
  • Espacio en disco en la partición de registro raíz, datos y servicios: verifica si la cantidad necesaria de espacio libre en disco está disponible en la partición de registro raíz, datos y servicios.
  • Comprobación de CPU y memoria: verifica si la cantidad necesaria, por ejemplo, 12 recursos de CPU y 42 GB de memoria disponibles en cada nodo de vRealize Automation antes de la actualización.
  • Verificación de existencia de propiedades de vCenter: verifica si los detalles de vCenter están presentes como parte de cada nodo en el inventario de Lifecycle Manager. Dado que se toma una instantánea durante el proceso de actualización, es importante tener los detalles correctos de vCenter dentro del inventario de Lifecycle Manager.
  • Verificación de recuperación de ID de referencia de objeto administrado de máquinas virtuales de vRealize Automation : verifica si el ID de referencia de objeto administrado de la máquina virtual se puede recuperar de los detalles disponibles en el inventario de Lifecycle Manager. Esto es necesario a medida que realiza operaciones relacionadas con snapshots en las máquinas virtuales, encontrando la máquina virtual usando las mismas.

11. Haga clic en NEXT

12. Después clic en SUBMIT y espere a que el proceso de actualización termine. Sea paciente, este proceso puede tardar mas de dos hora.

Nota 4: Si durante el proceso de actualización obtiene el siguiente error en el request. Lo invito a leer el post Solucionando error: vRA First boot check on failed on host.

Si el proceso de actualización ha terminado de manera satisfactoria el resultado del Request debería ser Completed.

13. En la interface de vLCM -> Lifecycle Operations, haga clic en Manage Environments y navegue hasta la instancia en donde se encuentra vRealize Automation. Para este caso es vRA LAB. Verifique la versión del producto al lado del nombre vRealize Automation. Para este caso es 8.6.0.

14. Inicie sesión en la URL del Tenant en vRA y verifique el correcto funcionamiento de la solución.

Nota 5: En este punto puede comenzar su proceso de validación de toda su plataforma y una vez considere que todo esta funcionando correctamente proceda a eliminar los snapshots para cada una de la maquinas virtuales involucradas en el proceso de actualización de vRealize Automation 8.x.

Referencias

https://docs.vmware.com/en/VMware-vRealize-Suite-Lifecycle-Manager/8.6/com.vmware.vrsuite.lcm.8.6.doc/GUID-62A2C4A9-98BF-44A5-9C23-950016A615EA.html

ATENCIÓN!!!

TODOS LOS NOMBRES DE VMS USADOS EN ESTE BLOG SON INVENTADOS Y OBEDECEN A UN AMBIENTE DE LABORATORIO PROPIO, UTILIZADO PARA FINES DE ESTUDIO.

Actualizar VMware Identity Manager (vIDM) o Workspace One Access (WSA)

Antes de comenzar es importante aclarar que si esta realizando una actualización de la solución vRealize Automation 8.x, debería seguir esta serie de posts en el siguiente orden.

1  Crear Backup para la solución de vRealize Automation

2. Actualizar vRealize Suite Lifecycle Manager (vRSLCM) 8.x

3. Configurar Binarios en vRealize Suite Lifecycle Manager (vRSLCM)

4. Actualizar VMware Identity Manager

5. Actualizar vRealize Automation 8.x

En esta oportunidad estaremos actualizando el componente de VMware Identity Manager (ahora Workspace ONE Access). Para este capitulo tendremos una serie de prerrequisitos que verificar. Pero si ha seguido esta serie de publicaciones no debería tener ningún problema.

PRERREQUISITOS

– Verifique que no hayan errores en el dashboard de la consola de administración de vIDM. Si existe algún problema resuélvalo antes de continuar.

– Verifique que haya tomado una snapshot de los nodos de VMware Identity Manager.

– Para una actualización de VMware Identity Manager en clúster, asegúrese de deshabilitar todos los nodos en espera en el balanceador de carga para que el tráfico no se enrute a los nodos en espera y habilítelos nuevamente una vez que se complete la actualización.

– Por ultimo, debemos verificar que los Binarios ya se encuentre disponibles en vRealize Lifecycle Manager (vLCM). Desde el servicio de Lifecycle Operations vaya a la sección Home -> Settings -> Binary Mapping. Sino ha seguido esta serie de post no se preocupe! en el Post Configurar Binarios en vRealize Suite Lifecycle manager (vRSLCM)  explico cual es el procedimiento para hacerlo. No tomara mas de 5 min de lectura. (Léalo y vuelva cuando este listo).

Nota: En este post estaremos explicando el procedimiento para deshabilitar los nodos secundarios en un balanceador basado en NSX-T. Si ha desplegado vRA utilizando un balanceador de un tercero, por favor remítase a la documentación del fabricante para realizar el proceso homologado.

Deshabilitar nodos secundarios en el balanceador de vIDM (NSX-T)

Como pudimos observar uno de los prerrequisitos cuando tenemos una configuración de cluster en vIDM, es que debemos deshabilitar los miembros del balanceador que estén en Standby, es decir los nodos que son secundarios.

Para saber cuales es el nodo primario y cuales los nodos secundarios basta con ir a vLCM ->Lifecycle Operations ->Environments y clic en VIEW DETAILS de globalenvironment.

Nota 1: Bajo Product References podrá ver cual es el nodo primario (Primary Node) y cuales los nodos secundarios (Secondary Node). Tenga en cuenta esta información para cuando vaya a deshabilitar los miembros del balanceador.

Podemos ahora continuar con los siguientes pasos en la interface de NSX-T Manager.

1. Una vez identificado los nodos Standby (Secondary Nodes) debe hacer login en NSX-T y luego en Networking -> Load Balancing -> Virtual Servers, para editar el balanceador y sus miembros.

Identifique el Server Pool asociado a la solución de VMware Identity Manager (para este caso es wsa-server-pool).

2. Vaya a la sección de SERVER POOLS en la interface de NSX-T y luego seleccione el server pool asociado al vIDM.

3. Haga clic en los tres puntos verticales al lado izquierdo y luego Edit.

4. Después haga clic en el numero 3 que indica los miembros del Server Pool, para editarlo.

5. En esta vista haga clic en los tres punto y luego Edit en los miembros del pool que son secundarios.(Para este caso los nodos secundarios son vidm01 y vidm02).

Cambie el estado a Disabled para ambos miembros y clic en SAVE para cada uno.

6. Clic en APPLY para aplicar los cambio y debería verse de la siguiente forma.

7. Nuevamente Clic en APPLY y luego en SAVE para terminar.

Una vez hemos completado los prerrequisitos. Podemos continuar con el proceso de actualización de vIDM desde la interface de vRealize Lifecycle Manager.

PROCEDIMIENTO

1. En el servicio Lifecycle Operations haga clic en Environments.

2. Navegue hasta la instancia globalenvironment.

3. Clic en VIEW DETAILS. 

4. Clic en los tres punto a la derecha de VMware Identity Manager y después en Trigger Cluster Health.

El resultado del Request debería ser Completed.

5. Vuelva a Environments -> globalenvironment y haga clic en el botón Upgrade. Y marque los check asociados al snapshot y al cluster health.

Nota 2: Si ya verifico la salud del cluster (Cluster Health) marque el check.

6. Clic en el botón TRIGGER INVENTORY SYNC. Es mandatorio para poder habilitar el botón de PROCEED.

7. Clic en PROCEED y seleccione el tipo de repositorio.

Nota 3: Puede seleccionar cualquiera de los siguiente repositorios

Nota 4: De manera opcional puede hacer clic en el botón VIEW COMPATIBILITY MATRIX para verificar la compatibilidad de la nueva versión con las soluciones existentes. Se requiere acceso a internet en la IP de vLCM para esta acción.

8. Si ya tomó un Snapshot de manera manual a cada uno de los appliances,  demarque el check «Take product snapshot», sino es así, déjelo marcado para que vRSLCM cree uno para los appliances de vIDM.

Nota 5: En este caso dejare el check sin marcar porque ya tomé un snapshot directamente desde el vCenter.

9. Clic en el botón RUN PRECHECK.

10. Lea los comentario y marque el check «I took care of the manual steps above and am ready to proceed» para habilitar el botón RUN PRECHECK.

11. Clic en RUN PRECHECK una vez mas y espere a que termine la validación.

12. Revise la información presentada y luego clic en NEXT.

13. Luego clic en SUBMIT y espere a que el proceso de actualización termine. Sea paciente, este proceso puede tardar más de una hora. Al final el resultado del Request debería ser Completed.

14. Vaya a de nuevo Environments -> globalenvironment y verifique la versión del producto. Para este caso mostrara 3.3.6.

15. Inicie sesión en la URL del Tenant en vIDM y verifique el correcto funcionamiento de la solución.

16. Siguiendo los pasos anteriormente mencionado para deshabilitar los miembros Standby del balanceador de vIDM, debemos hacer lo mismo pero esta vez para volver a activarlos. Deberían quedar todos los miembros con el estado en Enabled.

17. Por ultimo, verifique que hasta aquí continúe con acceso al portal de vRealize Automation.

18. Si todo esta OK, podemos remover los snapshots de cada uno de los appliances asociados a la solución VMware Identity Manager.

Referencia

https://docs.vmware.com/en/VMware-vRealize-Suite-Lifecycle-Manager/8.7/com.vmware.vrsuite.lcm.8.7.doc/GUID-F2072ADF-4C4B-454E-A074-DB4B0B472184.html

ATENCIÓN!!!

TODOS LOS NOMBRES DE VMS USADOS EN ESTE BLOG SON INVENTADOS Y OBEDECEN A UN AMBIENTE DE LABORATORIO PROPIO, UTILIZADO PARA FINES DE ESTUDIO.