Runbook für Patching erstellen

Erstellen Sie ein Runbook, um Patches auf das Apache Tomcat-Produkt in Fleet Application Management anzuwenden.

  1. Runbook für Patching erstellen.
    Geben Sie grundlegende Informationen an, wie den Runbook-Namen (Apache Tomcat-Patching), wählen Sie das benutzerdefinierte Apache Tomcat-Produkt, den Lebenszyklusvorgang (Patch) und das erforderliche Betriebssystem (Linux).

    Fügen Sie parallele oder rollierende Ressourcengruppen hinzu, je nachdem, wie die Aufgabenausführung für das Patching ressourcenübergreifend ausgeführt und konfiguriert werden soll.

  2. Fügen Sie Aufgaben für die Pre-Health-Prüfung oder -Validierung, das Stoppen des Service, das Sichern des Service, das Einspielen des Patches, das Starten des Service sowie die Post-Health-Prüfung oder -Validierung für das in Schritt 1 erstellte Runbook hinzu.
    Für jede Aufgabe müssen Sie ein zugeordnetes Skript hochladen, das die erforderliche Logik aufweist, um die spezifische Aufgabe auszuführen und zu einem Resultat zu führen. Siehe JSON-Beispiel für Patching. Die Antwort einer Aufgabe kann durch Ausgabevariablenzuordnung als Eingabe einer anderen Aufgabe in Form von Variablen zugeführt werden.

    Wenn Sie die Patchanwendungsaufgabe hinzufügen, aktivieren Sie das Kontrollkästchen Diese Aufgabe muss von Patches ausgeführt werden, um anzugeben, dass es sich um einen Patchanwendungsschritt handelt und bei der Ausführung auf der Ressource Patchinformationen angegeben werden müssen.

    Beispiel: Ein Runbook-Patchskript kann wie folgt angezeigt werden:

    • Patching und Rollback:

      Object Storage > Compartment: mycompartment > my_bucket > apache_tomcat_scripts.zip
    • Task-Befehl vor Integritätsprüfung mit Wert:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_precheck.sh; sh apache_tomcat_precheck.sh
    • Patch-Task-Befehl mit Wert einspielen:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_patching.sh; sh apache_tomcat_patching.sh
    • Task-Befehl nach Integritätsprüfung mit Wert:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_postcheck.sh; sh apache_tomcat_postcheck.sh
    • Rollback-Task mit Befehl, falls erforderlich:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_rollback.sh; sh apache_tomcat_rollback.sh
Sie haben nun das Runbook mit Aufgaben, die Patches auf das Apache Tomcat-Produkt einspielen.

Beispiel-JSON für das Patching

Im Folgenden finden Sie eine JSON-Beispieldarstellung, die Fleet Application Management für das Einspielen von Softwarepatches in Apache Tomcat parst.

{
  "compartmentId": "<your_root_compartment_ocid>",
  "displayName": "Apache Tomcat Patching",
  "description": Runbook to patch Apache Tomcat Product Homes on an instance,
  "operation": "PATCH",
  "runbookRelevance": "PRODUCT",
  "platform": "Apache Tomcat",
  "isDefault": false,
  "osType": "LINUX",
  "estimatedTime": "1",
  "associations": {
    "groups": [
      {
        "name": "Parallel_resource_group",
        "type": "PARALLEL_RESOURCE_GROUP",
        "properties": {
          "actionOnFailure": "ABORT",
          "condition": null
        }
      }
    ],
    "tasks": [
      {
        "stepName": "Apache_Tomcat_patching_task",
        "associationType": "TASK",
        "taskRecordDetails": {
          "scope": "LOCAL",
          "executionDetails": {
            "executionType": "SCRIPT",
            "variables": null,
            "content": {
              "sourceType": "OBJECT_STORAGE_BUCKET",
              "namespaceName": "mytenancynamespace",
              "bucketName": "demo_bucket",
              "objectName": "apache_tomcat_scripts.zip",
              "checksum": "PTCQgxnWZ7Oh/VVTbIrGdudMA=="
            },
            "command": "unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_patching.sh ; sh apache_tomcat_patching.sh",
            "credentials": []
          },
          "description": "Apache_Tomcat_patching_task",
          "platform": "Apache Tomcat",
          "isCopyToLibraryEnabled": false,
          "osType": "LINUX",
          "properties": {
            "numRetries": 0,
            "timeoutInSeconds": 3000
          },
          "isDiscoveryOutputTask": false,
          "isApplySubjectTask": true,
          "name": "Apache_Tomcat_patching_task"
        },
        "stepProperties": {
          "actionOnFailure": "ABORT",
          "condition": null
        },
        "outputVariableMappings": []
      }
    ],
    "executionWorkflowDetails": {
      "workflow": [
        {
          "groupName": "Parallel_resource_group",
          "type": "PARALLEL_RESOURCE_GROUP",
          "steps": [
            {
              "type": "TASK",
              "stepName": "Apache_Tomcat_patching_task"
            }
          ]
        }
      ]
    }
  }
}

Beispiel-YAML für Patching

Im Folgenden finden Sie eine YAML-Beispieldarstellung, die Fleet Application Management für das Einspielen von Patches in Apache Tomcat parst.

compartmentId: <your_root_compartment_ocid>
displayName: Apache Tomcat Patching
description: Runbook to patch Apache Tomcat Product Homes on an instance
operation: PATCH
runbookRelevance: PRODUCT
platform: Apache Tomcat
isDefault: false
osType: LINUX
estimatedTime: "1"
associations:
  groups:
    - name: Parallel_resource_group
      type: PARALLEL_RESOURCE_GROUP
      properties:
        actionOnFailure: ABORT
        condition: null
  tasks:
    - stepName: Apache_Tomcat_patching_task
      associationType: TASK
      taskRecordDetails:
        scope: LOCAL
        executionDetails:
          executionType: SCRIPT
          variables: null
          content:
            sourceType: OBJECT_STORAGE_BUCKET
            namespaceName: mytenancynamespace
            bucketName: demo_bucket
            objectName: apache_tomcat_scripts.zip
            checksum: PTCQgxnWZ7Oh/VVTbIrGdudMA==
          command: unzip -q -o apache_tomcat_scripts.zip; chmod +x
            apache_tomcat_patching.sh ; sh apache_tomcat_patching.sh
          credentials: []
        description: Apache_Tomcat_patching_task
        platform: Apache Tomcat
        isCopyToLibraryEnabled: false
        osType: LINUX
        properties:
          numRetries: 0
          timeoutInSeconds: 3000
        isDiscoveryOutputTask: false
        isApplySubjectTask: true
        name: Apache_Tomcat_patching_task
      stepProperties:
        actionOnFailure: ABORT
        condition: null
      outputVariableMappings: []
  executionWorkflowDetails:
    workflow:
      - groupName: Parallel_resource_group
        type: PARALLEL_RESOURCE_GROUP
        steps:
          - type: TASK
            stepName: Apache_Tomcat_patching_task