Sie können abgelaufene Bereitstellungen und deren Ressourcen verwalten, indem Sie die Aktion Expire gemeinsam mit vorhandenen Ereignisthemen verwenden.

Nach Ablauf einer Bereitstellungs-Lease in Ihrer Umgebung können Sie Erweiterbarkeitsereignisthemen verwenden, um Aufgaben wie das Beenden der Sicherung oder die Überwachung von Bereitstellungsressourcen durchzuführen. Zur Durchführung dieser Tag-2-Vorgänge verwendet die VMware Aria Automation-API eine Expire-Aktion auf Systemebene. Diese Aktion wird automatisch vom System ausgelöst, wenn eine Bereitstellungs-Lease in Ihrer Organisation abläuft. Die Expire-Aktion wird vor dem Ausschaltereignis für alle Ressourcen ausgelöst, die dieser Bereitstellung zugeordnet sind.
Hinweis: In früheren Produktversionen wurde das Ausschaltereignis auf der Bereitstellungsebene nach Ablauf der Lease ausgelöst. Jetzt wird das Ausschaltereignis auf der Ressourcenebene für jede eingeschaltete Bereitstellungsressource ausgelöst.
Die Expire-Aktion ist in der Nutzlast vorhandener Ereignisthemen enthalten, wie z. B. Bereitstellungsaktion angefordert und Bereitstellungsaktion abgeschlossen, und verwendet den Parameter deploymentid, um mit den Bereitstellungsressourcen verknüpfte Aufgaben vor und nach dem Ablauf durchzuführen.
Hinweis: Die Aktion Expire wird etwa 10 bis 15 Minuten nach Ablauf der Bereitstellungs-Lease ausgelöst. Das System löst keine Lease-Ablaufereignisse vor dem tatsächlichen Lease-Ablauf aus. Bei der Expire-Aktion handelt es sich um eine Aktion auf Systemebene, und Benutzer können dieser Aktion zugeordnete Ereignisse nicht manuell auslösen.

Für den aktuellen Anwendungsfall verwenden Sie das Ereignisthema Bereitstellungsaktion angefordert zusammen mit der Expire-Aktion, um eine virtuelle Maschine in Ihrer Bereitstellung als Vorlage zu sichern. In diesem Fall wird die Sicherung mithilfe eines Automation Orchestrator-Workflows durchgeführt. Dieselbe Aufgabe kann jedoch auch mithilfe einer Erweiterbarkeitsaktion als ausführbares Element des Abonnements ausgeführt werden.

Prozedur

  1. Navigieren Sie zu Erweiterbarkeit > Abonnements und klicken Sie auf Neues Abonnement.
  2. Geben Sie den Namen für das Abonnement ein.
  3. Stellen Sie unter Status sicher, dass das Abonnement aktiviert ist.
  4. Wählen Sie unter Ereignisthema das Ereignisthema Bereitstellungsaktion angefordert aus.
  5. Aktivieren Sie die Option Bedingung und fügen Sie einen Filter für die Ablaufaktion hinzu:
    event.data.actionName == 'Expire'
    Hinweis: Das Ereignisthema Bereitstellungsaktion angefordert kann durch verschiedene Tag-2-Vorgänge der Bereitstellung ausgelöst werden, wie z. B. durch Ändern der Lease-Dauer der Bereitstellung. Durch Hinzufügen des Aktionsfilters für den Lease-Ablauf wird sichergestellt, dass das Abonnement nur für Ablaufereignisse ausgelöst wird.
  6. Fügen Sie unter Aktion/Workflow den Workflow Automation Orchestrator hinzu.
    Das Schema dieses Beispielworkflows enthält eine skriptfähige Aufgabe und ein Workflow-Element mit dem Workflow Virtuelle Maschine ohne Anpassung klonen, der in Automation Orchestrator vorkonfiguriert ist. Das skriptfähige Aufgabenelement enthält das folgende Beispielskript:
    System.log("Lease expiry action triggered to clone a VM...")
    
    System.log("Deployment Id is: " + inputProperties.deploymentId);
    inputHeaders = new Properties();
    deploymentId = inputProperties.deploymentId;
    pathUriVariable = "/deployment/api/deployments/" +deploymentId +"/resources"; 
    var restClient = vRAHost.createRestClient();
    var request = restClient.createRequest("GET", pathUriVariable, null);
    var keys = inputHeaders.keys;
    for(var key in keys){
        request.setHeader(keys[key], inputHeaders.get(keys[key]));
    }
    var response = restClient.execute(request);
    System.log("Content as string: " + response.contentAsString);
    var content = response.contentAsString;
    var obj = JSON.parse(content);
    
    var object = new Properties(obj);
    var contentJson = object.content;
    for (var i = 0; i < contentJson.length; i++) {
        var resources = contentJson[i];
        
        var resourceProperties = resources.properties;
        System.log("Resource name is: " + resourceProperties.resourceName)
        resourceName = resourceProperties.resourceName;
    }
    
    var query = "xpath:name='" + resourceName + "'"; 
          var vms=Server.findAllForType("VC:VirtualMachine", query); 
          vcVM=vms[0]; 
         
          System.log("VM input is: " + vcVM);
          dataStoreOutput = datastore
          template= true;
          name="test-vm-name"
    
  7. Geben Sie an, ob das Abonnement als blockierend oder nicht blockierend festgelegt werden soll.
    Hinweis: Ein blockierendes Abonnement hat zur Folge, dass das Ausschaltereignis für die Bereitstellungsressourcen erst ausgelöst wird, nachdem das ausführbare Element, in diesem Fall der Workflow zum Ablauf der Lease, erfolgreich ausgeführt wurde. Bei einem nicht blockierenden Abonnement wird das Ausschaltereignis für die Bereitstellungsressourcen unabhängig vom Status der Workflow-Ausführung ausgelöst.
  8. Klicken Sie auf Speichern, um die Bearbeitung des Abonnements abzuschließen.

Nächste Maßnahme

Nach dem Auslösen des Erweiterbarkeitsabonnements durch das Lease-Ablaufereignis und der erfolgreichen Ausführung des Workflows navigieren Sie zu vSphere Web Client und stellen sicher, dass Ihre virtuelle Maschine in eine Vorlage konvertiert wurde.