È necessario configurare i propri workflow di vRealize Orchestrator per il supporto del messaggio del servizio IaaS.

Schema degli argomenti di provisioning e dell'evento del ciclo di vita

Gli argomenti di provisioning e dell'evento del ciclo di vita della macchina utilizzano lo stesso schema del ciclo di vita. Le differenze riguardano gli stati di attivazione. Il provisioning della macchina riceve messaggi basati su stati ed eventi di provisioning, mentre il ciclo di vita della macchina riceve messaggi basati su stati ed eventi attivi. Alcuni stati di provisioning includono BuildingMachine e Disposing. Alcuni stati del ciclo di vita includono InstallTools e Off.

Il messaggio dell'evento è il payload dei dati dell'evento. Di seguito viene illustrata la struttura del payload dei dati dell'evento.

{
  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 */
}

I parametri di vRealize Orchestrator vengono mappati al payload dell'evento in base al nome e al tipo.

Quando si utilizzano virtualMachineEvent e workflowNextState come parametri di output, i valori forniti devono rappresentare uno stato o un evento del workflow che ha attivato l'evento e avviato il workflow di vRealize Orchestrator corrente. Per esaminare i possibili stati ed eventi del ciclo di vita, vedere Stati del ciclo di vita del workflow master VMPS e Stati del ciclo di vita del provisioning per tipo di macchina.

Utilizzare le proprietà personalizzate di estensibilità

Le proprietà personalizzate della macchina virtuale non sono incluse nel payload dell'evento a meno che non vengano specificate come una proprietà personalizzata di estensibilità per lo stato del ciclo di vita. È possibile aggiungere queste proprietà a endpoint, prenotazioni, blueprint, richieste e altri oggetti di IaaS che supportano le proprietà personalizzate.

Il formato della proprietà personalizzata che viene aggiunta a un oggetto è Extensibility.Lifecycle.Properties.{workflowName}.{stateName}.

Ad esempio, se si desidera includere proprietà nascoste e tutte le proprietà che iniziano con "Virtual" quando lo stato della macchina virtuale è BuildingMachine, è necessario aggiungere le proprietà personalizzate alla macchina nel blueprint. Il nome della proprietà personalizzata per questo esempio è Extensibility.Lifecycle.Properties.VMPSMasterWorkflow32.BuildingMachine e i valori sono __* e Virtual*, separati da una virgola.

Il doppio segno di sottolineatura (__*) include le proprietà nascoste. Il valore Virtual* include tutte le proprietà che iniziano con Virtual. L'asterisco (*) è un carattere jolly e può essere utilizzato come valore unico, ma l'uso del carattere jolly in questo modo comporta il trasferimento di grandi quantità di dati.

Se si dispone di più sottoscrizioni ai workflow attivate successivamente che includono proprietà personalizzate, è necessario includere le voci appropriate nei workflow per garantire che il controllo del payload conservi le proprietà personalizzate.

Tabella 1. Voci di attività per conservare le proprietà personalizzate

Stato

Voci di attività

Proprietà personalizzate aggiunte o personalizzate

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

Proprietà personalizzate eliminate

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

Creazione di un workflow di vRealize Orchestrator basato sullo schema del ciclo di vita o del provisioning

Il workflow personalizzato creato deve disporre di un parametro di input, ovvero payload con il tipo Properties. Il payload dei dati dell'evento del ciclo di vita o del provisioning viene inserito in questo parametro quando viene eseguito il workflow in vRealize Orchestrator. È anche possibile includere parametri di input separati che corrispondano al nome e al tipo dei campi nel payload dell'evento.