Sie müssen Ihre vRealize Orchestrator-Workflows zur Unterstützung der IaaS-Servicemeldung konfigurieren.

Schema für Bereitstellungs- und Lebenszyklus-Ereignisthemen

Die Maschinenbgereitstellungs- und Maschinenlebenszyklus-Ereignisthemen verwenden das gleiche Lebenszyklusschema. Die Unterschiede liegen in den auslösenden Zuständen. Die Maschinenbereitstellung empfängt Meldungen, die auf Bereitstellungszuständen und -ereignissen basieren, und der Maschinenlebenszyklus empfängt Meldungen, die auf aktiven Zuständen und Ereignissen basieren. Bereitstellungszustände sind z. B. „BuildingMachine“ und „Disposing“. Lebenszykluszustände sind z. B. „InstallTools“ und „Off“.

Die Ereignismeldung ist die Ereignisdatennutzlast. Die Ereignisdatennutzlast weist folgende Struktur auf.

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

Die vRealize Orchestrator-Parameter werden der Ereignisnutzlast nach Name und Typ zugewiesen.

Bei der Verwendung von virtualMachineEvent und workflowNextState als Ausgabeparameter müssen die eingegebenen Werte einen Zustand oder ein Ereignis aus dem Workflow repräsentieren, der/das das Ereignis ausgelöst und den aktuellen vRealize Orchestrator-Workflow gestartet hat. Um die möglichen Zustände und Ereignisse des Lebenszyklus zu prüfen, siehe Lebenszykluszustände des VMPS Master Workflow und Bereitstellungslebenszykluszustände nach Maschinentyp.

Arbeiten mit benutzerdefinierten Erweiterbarkeitseigenschaften

Die benutzerdefinierten Eigenschaften der virtuellen Maschine sind nicht in der Ereignisnutzlast enthalten, es sei denn, sie sind als benutzerdefinierte Erweiterbarkeitseigenschaft für den Lebenszykluszustand angegeben. Sie können diese Eigenschaften zu IaaS-Endpoints, Reservierungen, Blueprints, Anforderungen und anderen Objekten hinzufügen, die benutzerdefinierte Eigenschaften unterstützen.

Die benutzerdefinierte Eigenschaft, die Sie zu einem Objekt hinzufügen, hat folgendes Format: Extensibility.Lifecycle.Properties.{workflowName}.{stateName}.

Angenommen, Sie möchten ausgeblendete Eigenschaften und alle Eigenschaften, die mit „Virtual“ beginnen, hinzufügen, wenn der Zustand der virtuellen Maschine „BuildingMachine“ lautet. In diesem Fall fügen Sie die benutzerdefinierten Eigenschaften im Blueprint zur Maschine hinzu. Der Name der benutzerdefinierten Eigenschaft in diesem Beispiel lautet Extensibility.Lifecycle.Properties.VMPSMasterWorkflow32.BuildingMachine, und die Werte sind __* und Virtual* (durch ein Komma getrennt).

Der doppelte Unterstrich (__*) umfasst die ausgeblendeten Eigenschaften. Der Wert Virtual* umfasst alle Eigenschaften, die mit „Virtual“ beginnen. Das Sternchen (*) ist ein Platzhalter und kann als einziger Wert verwendet werden, aber diese Verwendung des Platzhalterzeichens führt zur Übertragung großer Datenmengen.

Wenn mehrere, nacheinander ausgelöste Workflow-Abonnements mit benutzerdefinierten Eigenschaften vorhanden sind, müssen die entsprechenden Einträge in die Workflows aufgenommen werden, um sicherzustellen, dass die Nutzlastprüfung die benutzerdefinierten Eigenschaften beibehält.

Tabelle 1. Aufgabeneinträge zum Beibehalten von benutzerdefinierten Eigenschaften

Zustand

Aufgabeneinträge

Hinzugefügte oder aktualisierte benutzerdefinierte Eigenschaften

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

Gelöschte benutzerdefinierte Eigenschaften

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

Erstellen eines vRealize Orchestrator-Workflows basierend auf dem Lebenszyklus oder Bereitstellungschema

Der benutzerdefinierte Workflow, den Sie erstellen, benötigt einen Eingabeparameter payload des Typs Properties. Die Bereitstellungs- oder Lebenszyklus-Ereignisdatennutzlast wird in diesem Parameter abgelegt, wenn der Workflow in vRealize Orchestrator ausgeführt wird. Sie können auch separate Eingabeparameter einschließen, die mit dem Namen und dem Typ der Felder in der Ereignisnutzlast übereinstimmen.