Debe configurar los flujos de trabajo de vRealize Orchestrator para admitir el mensaje del servicio de IaaS.

Esquema de tema de evento de ciclo de vida y aprovisionamiento

Los temas de eventos del ciclo de vida de máquina y aprovisionamiento de máquinas utilizan el mismo esquema de ciclo de vida. Las diferencias se dan en los estados de activación. El aprovisionamiento de máquinas recibe mensajes en función de los eventos y los estados de aprovisionamiento, y el ciclo de vida de máquina recibe mensajes en función de los eventos y los estados activos. Algunos estados de aprovisionamiento incluyen BuildingMachine y Disposing. Algunos estados del ciclo de vida incluyen InstallTools y Off.

El mensaje de evento es la carga de datos del evento. A continuación se muestra la estructura de la carga de datos de los eventos.

{
  machine : {
      id                : STRING,      /* IaaS machine ID */
      name              : STRING,      /* machine name */
      externalReference : STRING,      /* machine ID on the hypervisor */
      owner             : STRING,      /* machine owner */ 
      type              : INTEGER,     /* machine type: 0 - virtual machine; 1 - physical machine; 2 - cloud machine */ 
      properties        : Properties   /* machine properties, see notes below how to expose virtual machine properties */            
  },
  blueprintName   : STRING,      /* blueprint name */
  componentId     : STRING,      /* component id */
  componentTypeId : STRING,      /* component type id */
  endpointId      : STRING,      /* endpoint id */
  requestId       : STRING,      /* request id */
  lifecycleState  : {												/* see Life Cycle State Definitions*/
      state : STRING,
      phase : STRING,
      event : STRING
  },
  virtualMachineEvent                 : STRING,     /* fire an event on that machine - only processed by Manager Service as consumer */
  workflowNextState                   : STRING,     /* force the workflow to a specific state - only processed by Manager Service as consumer */
  virtualMachineAddOrUpdateProperties : Properties, /* properties on the machine to add/update - only processed by Manager Service as consumer */
  virtualMachineDeleteProperties      : Properties  /* properties to remove from the machine - only processed by Manager Service as consumer */
}

Los parámetros de vRealize Orchestrator se asignan a la carga del evento por nombre y tipo.

Cuando utiliza virtualMachineEvent y workflowNextState como parámetros de salida, los valores que proporcione deben representar un estado o evento desde el flujo de trabajo que desencadenó e inició el flujo de trabajo de vRealize Orchestrator actual. Para revisar los posibles estados del ciclo de vida y los eventos, consulte Estados de ciclo de vida de flujo de trabajo principal de VMPS y Aprovisionamiento de estados del ciclo de vida por tipo de máquina.

Trabajar con propiedades personalizadas de extensibilidad

Las propiedades personalizadas de la máquina virtual no se incluyen en la carga del evento, a menos que se especifiquen como una propiedad personalizada de extensibilidad para el estado del ciclo de vida. Puede agregar estas propiedades a los endpoints, las reservas, los blueprints, las solicitudes y otros objetos de IaaS que admiten propiedades personalizadas.

El formato de la propiedad personalizada que se añade a un objeto es Extensibility.Lifecycle.Properties.{workflowName}.{stateName}.

Por ejemplo, si desea incluir propiedades ocultas y todas las propiedades que comienzan con "Virtual" cuando el estado de la máquina virtual es BuildingMachine, añada las propiedades personalizadas a la máquina en el blueprint. El nombre de la propiedad personalizada para este ejemplo es Extensibility.Lifecycle.Properties.VMPSMasterWorkflow32.BuildingMachine y los valores son __* y Virtual*, separados por una coma.

El carácter de subrayado doble (__*) incluye las propiedades ocultas. El valor Virtual* incluye todas las propiedades que comienzan con virtual. El asterisco (*) es un carácter comodín y puede usarse como el único valor, pero el uso del carácter comodín de esta forma deriva en la transferencia de grandes cantidades de datos.

Si tiene varias suscripciones de flujo de trabajo que se han activado posteriormente y que contienen propiedades personalizadas, deberá incluir las entradas adecuadas en esos flujos de trabajo para que la comprobación de la carga útil conserve esas propiedades personalizadas.

Tabla 1. Entradas de tarea para conservar propiedades personalizadas

Estado

Entradas de tarea

Propiedades personalizadas añadidas o actualizadas

virtualMachineAddOrUpdateProperties = payload.virtualMachineAddOrUpdateProperties || new Properties();

Propiedades personalizadas eliminadas

virtualMachineDeleteProperties = payload.virtualMachineDeleteProperties || new Properties();

Crear un flujo de trabajo de vRealize Orchestratorbasado en el ciclo de vida o el esquema de aprovisionamiento

El flujo de trabajo personalizado que cree debe tener un parámetro de entrada que sea payload con el tipo Properties. La carga de los datos de eventos del ciclo de vida o de aprovisionamiento se coloca en este parámetro cuando se ejecuta el flujo de trabajo en vRealize Orchestrator. También puede incluir parámetros de entrada separados que coincidan con el nombre y el tipo de los campos en la carga del evento.