Créer un classeur pour l'application de patches

Créez un runbook pour appliquer des patches au produit Apache Tomcat dans Fleet Application Management.

  1. Créez un guide d'exploitation pour l'application de patches.
    Fournissez des informations de base telles que le nom du runbook (application de patches Apache Tomcat), sélectionnez le produit personnalisé Apache Tomcat, l'opération de cycle de vie (patch) et le système d'exploitation requis (Linux).

    Ajoutez des groupes de ressources parallèles ou non simultanés en fonction de la façon dont vous souhaitez que l'exécution de la tâche pour l'application de patches soit exécutée sur les ressources et configurez-les.

  2. Ajoutez des tâches pour la vérification ou la validation de l'état préalable, l'arrêt du service, la sauvegarde du service, l'application du patch, le démarrage du service et la vérification ou validation de l'état postérieur au dossier d'exploitation créé à l'étape 1.
    Pour chaque tâche, vous devez charger un script associé qui dispose de la logique requise pour effectuer la tâche spécifique et aboutir à un résultat. Reportez-vous à Exemple de fichier JSON pour l'application de patches. La réponse d'une tâche peut être transmise en entrée à une autre tâche sous la forme de variables via la mise en correspondance de variables de sortie.

    Lors de l'ajout de la tâche d'application de patches, cochez la case Cette tâche nécessite l'exécution de patches pour indiquer qu'il s'agit d'une étape d'application de patches et que des informations de patch doivent lui être fournies lors de son exécution sur la ressource.

    Par exemple, un script de patch de classeur peut apparaître comme suit :

    • Appliquer des patches et annuler :

      Object Storage > Compartment: mycompartment > my_bucket > apache_tomcat_scripts.zip
    • Commande de tâche de vérification de l'état préalable avec valeur :

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_precheck.sh; sh apache_tomcat_precheck.sh
    • Commande Apply patch task avec la valeur :

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_patching.sh; sh apache_tomcat_patching.sh
    • Commande de tâche après vérification de l'état avec valeur :

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_postcheck.sh; sh apache_tomcat_postcheck.sh
    • Annuler la tâche avec la commande, si nécessaire :

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_rollback.sh; sh apache_tomcat_rollback.sh
Vous disposez désormais du dossier d'exécution avec des tâches qui appliquent des patches au produit Apache Tomcat.

Exemple JSON pour l'application de patches

Voici un exemple de représentation JSON analysée par Fleet Application Management pour l'application de patches logiciels à 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"
            }
          ]
        }
      ]
    }
  }
}

Exemple YAML pour l'application de patches

Voici un exemple de représentation YAML analysée par Fleet Application Management pour l'application de patches à 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