Creazione di un Runbook per l'applicazione di patch

Creare un runbook per applicare le patch al prodotto Apache Tomcat in Fleet Application Management.

  1. Creare un runbook per l'applicazione di patch.
    Fornire informazioni di base come il nome del runbook (Apache Tomcat Patching), selezionare il prodotto personalizzato Apache Tomcat, l'operazione del ciclo di vita (Patch) e il sistema operativo richiesto (Linux).

    Aggiungere gruppi di risorse paralleli o in sequenza a seconda di come si desidera che l'esecuzione dei task per l'applicazione delle patch venga eseguita tra le risorse e configurarle.

  2. Aggiungere task per il controllo o la convalida pre-integrità, l'arresto del servizio, il backup del servizio, l'applicazione della patch, l'avvio del servizio e il controllo o la convalida successivi allo stato al runbook creato al passo 1.
    Ciascun task richiede il caricamento di uno script associato con la logica richiesta per eseguire il task specifico e portare a un risultato. Vedere JSON di esempio per l'applicazione di patch. La risposta da un task può essere inserita come input in un altro task sotto forma di variabili tramite mapping di variabili di output.

    Quando si aggiunge il task dell'applicazione patch, selezionare la casella di controllo Questo task richiede l'esecuzione di patch per indicare che si tratta di un passo dell'applicazione patch e che è necessario fornire informazioni sulle patch quando viene eseguito sulla risorsa.

    Ad esempio, uno script di patch runbook può essere visualizzato come segue:

    • Applicazione di patch e rollback:

      Object Storage > Compartment: mycompartment > my_bucket > apache_tomcat_scripts.zip
    • Comando del task di controllo dello stato preliminare con valore:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_precheck.sh; sh apache_tomcat_precheck.sh
    • Applica comando task patch con valore:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_patching.sh; sh apache_tomcat_patching.sh
    • Comando del task di controllo dello stato con valore:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_postcheck.sh; sh apache_tomcat_postcheck.sh
    • Eseguire il rollback del task con il comando, se necessario:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_rollback.sh; sh apache_tomcat_rollback.sh
Ora è disponibile il runbook con attività che applicano le patch al prodotto Apache Tomcat.

JSON di esempio per l'applicazione di patch

Di seguito è riportata una rappresentazione JSON di esempio analizzata da Fleet Application Management per l'applicazione di patch software a Apache Tomcat.

{
  "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"
            }
          ]
        }
      ]
    }
  }
}

YAML di esempio per l'applicazione di patch

Di seguito è riportata una rappresentazione YAML di esempio analizzata da Fleet Application Management per l'applicazione di patch a Apache Tomcat.

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