Creación de un Runbook para Aplicación de Parches

Cree un runbook para aplicar parches al producto Apache Tomcat en Fleet Application Management.

  1. Cree un runbook para aplicar parches.
    Proporcione información básica, como el nombre del libro de ejecución (aplicación de parches de Apache Tomcat), seleccione el producto personalizado de Apache Tomcat, la operación del ciclo de vida (aplicación de parches) y el sistema operativo necesario (Linux).

    Agregue grupos de recursos paralelos o acumulativos en función de cómo desee que la ejecución de la tarea para la aplicación de parches se ejecute en los recursos y configúrelos.

  2. Agregue tareas para la comprobación o validación previas al estado, detenga el servicio, realice copias de seguridad del servicio, aplique el parche, inicie el servicio y realice una comprobación o validación posteriores al estado en el libro de ejecución creado en el paso 1.
    Cada una de las tareas requiere que cargue un script asociado que tenga la lógica necesaria para realizar la tarea específica y llevar a un resultado. Consulte JSON de ejemplo para la aplicación de parches. La respuesta de una tarea se puede alimentar como entrada a otra tarea en forma de variables a través de la asignación de variables de salida.

    Al agregar la tarea de aplicación de parches, seleccione la casilla de control Esta tarea necesita que se ejecuten los parches para indicar que se trata de un paso de aplicación de parches y que necesita que se le proporcione información de parches cuando se ejecute en el recurso.

    Por ejemplo, un script de parche de runbook puede aparecer de la siguiente forma:

    • Aplicación de parches y rollback:

      Object Storage > Compartment: mycompartment > my_bucket > apache_tomcat_scripts.zip
    • Comando de tarea de comprobación de estado previo con valor:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_precheck.sh; sh apache_tomcat_precheck.sh
    • Aplicar comando de tarea de parche con valor:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_patching.sh; sh apache_tomcat_patching.sh
    • Comando de tarea de comprobación posterior al estado con valor:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_postcheck.sh; sh apache_tomcat_postcheck.sh
    • Tarea de rollback con comando, si es necesario:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_rollback.sh; sh apache_tomcat_rollback.sh
Ahora tiene el runbook con tareas que aplican parches al producto Apache Tomcat.

JSON de ejemplo para aplicación de parches

A continuación, se muestra un ejemplo de representación JSON que Fleet Application Management analiza para aplicar parches de 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 de ejemplo para aplicación de parches

A continuación, se muestra una representación de YAML de ejemplo que Fleet Application Management analiza para aplicar parches 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