パッチ適用用のランブックの作成

フリート・アプリケーション管理のApache Tomcat製品にパッチを適用するランブックを作成します。

  1. パッチを適用するためのrunbookを作成します
    ランブック名(Apache Tomcatパッチ適用)、Apache Tomcatカスタム製品、ライフサイクル操作(パッチ)、必要なオペレーティング・システム(Linux)などの基本情報を指定します。

    リソース間でパッチを適用するためのタスク実行を実行する方法に応じて、パラレル・リソース・グループまたはローリング・リソース・グループを追加し、それらを構成します。

  2. 事前ヘルス・チェックまたは検証、サービスの停止、サービスのバックアップ、パッチの適用、サービスの開始、およびヘルス後のチェックまたは検証のタスクの追加を、ステップ1で作成したランブックに対して行います。
    各タスクでは、特定のタスクを実行し、結果につながるために必要なロジックを持つ関連スクリプトをアップロードする必要があります。パッチ適用用のYAMLのサンプルまたはパッチ適用用のJSONのサンプルを参照してください。出力変数マッピングによって、あるタスクからの応答を変数の形式で別のタスクへの入力としてフィードできます。

    パッチ・アプリケーション・タスクを追加する場合は、「このタスクを実行するにはパッチが必要です」チェック・ボックスを選択して、パッチ・アプリケーション・ステップであり、リソースで実行するときにパッチ情報を提供する必要があることを示します。

    たとえば、runbookパッチ・スクリプトは次のようになります。

    • パッチとロールバック:

      Object Storage > Compartment: mycompartment > my_bucket > apache_tomcat_scripts.zip
    • 値を指定した事前ヘルス・チェック・タスク・コマンド:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_precheck.sh; sh apache_tomcat_precheck.sh
    • 次の値を指定してパッチ・タスク・コマンドを適用します。

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_patching.sh; sh apache_tomcat_patching.sh
    • ヘルス・チェック後のタスク・コマンドの値:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_postcheck.sh; sh apache_tomcat_postcheck.sh
    • 必要に応じて、コマンドを使用したロールバック・タスク:

      unzip -q -o apache_tomcat_scripts.zip; chmod +x apache_tomcat_rollback.sh; sh apache_tomcat_rollback.sh
これで、Apache Tomcat製品にパッチを適用するタスクを含むrunbookが完成しました。

パッチ適用用のサンプルJSON

Apache Tomcatにソフトウェア・パッチを適用するためのサンプルJSONを次に示します。

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

Apache Tomcatにパッチを適用するためのサンプルYAMLを次に示します。

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