Vous pouvez gérer les déploiements ayant expiré et leurs ressources à l'aide de l'action Expire en plus des rubriques d'événements existantes.

Après l'expiration d'un bail de déploiement dans votre environnement, vous pouvez utiliser des rubriques d'événements d'extensibilité pour effectuer des tâches, telles que l'arrêt de la sauvegarde ou la surveillance de ressources de déploiement. Pour effectuer ces opérations de jour 2, l'API vRealize Automation utilise une action Expire au niveau du système. Cette action est déclenchée automatiquement par le système chaque fois qu'un bail de déploiement expire dans votre organisation. Le déclencheur d'action Expire précède l'événement de mise hors tension pour toutes les ressources associées à ce déploiement.
Note : Dans les versions précédentes du produit, l'événement de mise hors tension était déclenché au niveau du déploiement après l'expiration du bail. Dorénavant, l'événement de mise hors tension est déclenché au niveau de la ressource pour chaque ressource de déploiement dont l'état est sous tension.
L'action Expire est incluse dans la charge utile des rubriques d'événements existantes, telles que Action de déploiement demandée et Action de déploiement terminée, et utilise le paramètre deploymentid pour effectuer les tâches antérieures à l'expiration et postérieures à l'expiration associées aux ressources de déploiement.
Note : L'action Expire est déclenchée environ 10 à 15 minutes après l'expiration du bail de déploiement. Le système ne déclenche pas d'événements d'expiration de bail avant l'expiration réelle du bail. L'action Expire est une action au niveau du système et les utilisateurs ne peuvent pas déclencher manuellement les événements qui lui sont associés.

Pour le cas d'utilisation actuel, vous utilisez la rubrique d'événement Action de déploiement demandée avec l'action Expire pour sauvegarder une machine virtuelle dans votre déploiement en tant que modèle. Dans ce cas, la sauvegarde est effectuée à l'aide d'un workflow vRealize Orchestrator. La même tâche peut également être effectuée à l'aide d'une action d'extensibilité en tant qu'élément exécutable de l'abonnement.

Procédure

  1. Accédez à Extensibilité > Abonnements et cliquez sur Nouvel abonnement.
  2. Entrez un nom pour l'abonnement.
  3. Sous État, vérifiez que l'abonnement est activé.
  4. Sous Rubrique d'événements, sélectionnez la rubrique d'événement Action de déploiement demandée.
  5. Activez l'option Condition et ajoutez un filtre pour l'action d'expiration :
    event.data.actionName == 'Expire'
    Note : La rubrique d'événement Action de déploiement demandé peut être déclenchée par différentes opérations de jour 2 du déploiement, telles que la modification de la durée du bail de déploiement. L'ajout du filtre d'action d'expiration de bail garantit que l'abonnement est déclenché uniquement pour les événements d'expiration.
  6. Sous Action/workflow, ajoutez le workflow vRealize Orchestrator.
    Le schéma de cet exemple de workflow inclut une tâche pouvant faire l'objet d'un script et un élément de workflow qui inclut le workflow Cloner la machine virtuelle, sans personnalisation, qui est préconfiguré avec vRealize Orchestrator. L'élément de la tâche faisant l'objet d'un script inclut l'exemple de script suivant :
    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. Décidez s'il convient de définir l'abonnement comme bloquant ou non bloquant.
    Note : Si l'abonnement est défini comme étant bloquant, l'événement de mise hors tension pour les ressources de déploiement est déclenché uniquement après que l'élément exécutable, dans ce cas le workflow d'expiration de bail, termine son exécution avec succès. Si l'abonnement est défini comme étant non bloquant, l'événement de mise hors tension est déclenché pour les ressources de déploiement, quel que soit l'état de l'exécution du workflow.
  8. Pour terminer la modification de l'abonnement, cliquez sur Enregistrer.

Que faire ensuite

Une fois que l'abonnement d'extensibilité est déclenché par l'événement d'expiration du bail et que l'exécution du workflow est réussie, accédez à vSphere Web Client et confirmez que votre machine virtuelle est convertie en modèle.