SSH-Workflow erstellen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 2 Minuten Lesedauer
  • Erstellen Sie den zum Herunterfahren der VM erforderlichen SSH-Workflow. Verwenden Sie die benutzerdefinierte SSH-Aktivität, die Sie bereits erstellt haben.

    Vorbereitungen

    • Sie müssen bereits eine benutzerdefinierte SSH-Aktivität erstellt haben.
    • Erforderliche Rolle: workflow designer oder admin

    Warum und wann dieser Vorgang ausgeführt wird

    Wenn Sie einen Workflow erstellen, ordnen Sie ihn einer Tabelle und einer Aktivität zu.
    • Sie können den Workflow in einer Tabelle auf globaler Ebene oder in einer Tabelle auf Anwendungsebene erstellen. Verwenden Sie die globale Tabelle, um den Workflow für alle ServiceNow-Anwendungen verfügbar zu machen. Hier verwenden wir eine Tabelle für Cloud Provisioning and Governance, sodass dieser Workflow nur für die Verwendung mit dieser Anwendung verfügbar ist.
    • Sie können den Workflow im Workflow-Editor oder im Activity Designer erstellen. Hier wird der Activity Designer verwendet.

    Prozedur

    1. Wählen Sie im Activity Designer rechts die Registerkarte Workflows aus, und klicken Sie dann auf das Pluszeichen (+), um einen neuen Workflow hinzuzufügen.
    2. Führen Sie im Fenster „Neuer Workflow“ die folgenden Schritte aus:
      1. Geben Sie einen eindeutigen Namen für den Workflow ein.
      2. Wählen Sie aus dem Dropdown-Menü Tabelle die zu verwendende Tabelle aus.
        Suchen Sie nach der VM-Instanz cmdb_ci_vm_instance, und verwenden Sie sie, da der Workflow zum Ausschalten einer VM verwendet werden soll.
      3. Klicken Sie auf Absenden.
    3. Wenn der Workflow im Canvas-Bereich angezeigt wird, führen Sie die folgenden Schritte aus:
      1. Löschen Sie die Verbindungslinie zwischen Start- und Endpunkt des Workflows.
      2. Klicken Sie mit der rechten Maustaste auf die Canvas mit weiteren Informationen, und wählen Sie Eingaben bearbeiten aus.
      3. Erstellen Sie die folgenden Eingaben:
        Hinweis:
        Übernehmen Sie die Eingabenamen aus dem Feld „Spalte“, nicht aus dem Feld „Bezeichnung“. Wenn der Workflow einer Tabelle auf globaler Ebene zugeordnet ist, wird dem Eingabenamen im Feld „Spalte“ das Präfix „u_“ vorangestellt, z. B. u_ipaddress. Hier befindet sich die Tabelle auf Anwendungsebene, daher ist kein Präfix erforderlich.
        Tabelle : 1. Workflow-Eingaben
        Typ Bezeichnung Spalte (automatisch hinzugefügt) Max. Länge
        Zeichenfolge IPAddress ipaddress 100
        Zeichenfolge CredentialTag credentialtag 100
      4. Klicken Sie auf Absenden.
    4. Klicken Sie mit der rechten Maustaste auf die Canvas, und wählen Sie Benutzerdefinierte Aktivität hinzufügen aus.
    5. Suchen Sie im Fenster „Versionen“ nach der Aktivität, die Sie vorher unter Benutzerdefinierte SSH-Aktivität erstellen erstellt haben, und wählen Sie sie aus.
    6. Führen Sie im Fenster „Neue Aktivität“ für diese Aktivität (Workflow-Aktivität „Neuer Datensatz“ [Diagrammansicht]) die folgenden Schritte aus:
      1. Geben Sie einen Namen für die Aktivität ein.
      2. Geben Sie im Feld Host die von der Aktivität erwartete Eingabezuordnung ein.

        Das heißt, die IP-Adresse des Hosts: ${workflow.inputs.u_ipaddress}.

        Diesen Ausdruck für die IP-Adresse verwenden:

        $(Script:CMPVMUtils.getReachableIp[arg=$(Stack.items[Virtual Server].attributes[sys_id])])

      3. Geben Sie im Feld „Befehl“ shutdown -h now ein.
      4. Geben Sie im Feld „Anmeldeinformations-Tag“ ${workflow.inputs.u_credentialtag} ein.

        Verwenden Sie diesen Ausdruck, um das Anmeldeinformations-Tag abzurufen:

        $(Script:CMPVMUtils.getCredentialAlias[arg=${Stack.items[Virtual Server].attributes[sys_id]}])

      5. Klicken Sie auf Absenden.
        Die Aktivität wird in der Workflow-Canvas angezeigt.
    7. Klicken Sie mit der rechten Maustaste auf die Canvas, und wählen Sie Kernaktivität hinzufügen aus, um eine Ausführungsskript-Aktivität hinzuzufügen.
    8. Suchen Sie im Fenster „Workflow-Aktivitätsdefinitionen“ nach Skript ausführen und wählen Sie die Option aus.
    9. Führen Sie im Fenster „Neue Aktivität: Skript ausführen“ die folgenden Schritte aus:
      1. Geben Sie einen Namen für die Aktivität ein.
      2. Schneiden Sie ein (für Ihre Umgebung geeignetes) Skript aus, und fügen Sie es im Feld „Skript“ ein.

        Dieses Skript aktualisiert den Status der VM nach dem Herunterfahren.

        Beispielskript:
        if ( gs.nil(data.get(3).error)) {
                            current.state = 'off';
                            current.setWorkflow(false);
                            current.update();
        }
        
      3. Klicken Sie auf Absenden.
    10. Verbinden Sie im Canvas-Bereich die Connectors zwischen dem Anfangspunkt, der Aktivität, dem Ausführungsskript und dem Endpunkt.
    11. Klicken Sie auf Veröffentlichen, um den Workflow verfügbar zu machen.
    12. Validieren Sie den Workflow mithilfe der Workflow-Validierung.
      Hinweis:
      Das System empfiehlt nicht die Verwendung von current.update(). Dies kann ignoriert werden.