Enabling multiple BOM async patches in a single Async Patch Tool run
search cancel

Enabling multiple BOM async patches in a single Async Patch Tool run

book

Article ID: 313206

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

Symptoms:

This is an improvement, not a fix, in order to execute multiple standard Async patch tool workflows in one. Therefore, there are no symptoms for this issue.


Cause

To apply multiple BOM async patches in a single AP tool run instead of serialized multiple AP tool runs. This can save time and complexity by running the flows in one go instead of calling them for each patch to be applied.

To perform this functionality, run AP tool using input spec mode, or "-i", which provides an input JSON that the tool will read all of the desired patches from. 

Resolution

The issue has been resolved in the Async patch tool version 1.0.1.1.

Workaround:

To workaround the issue, please follow the steps to optimize reduce the flows into one execution:

An input spec typically looks like this for a single async patch:
sample AP tool spec - single patch
{
  "actions": [
    {
      "action": "enable_sddc_service_patch",
      "configuration": {
        "services": [
          {
            "sddc_manager_version": "4.4.0.0-19312029",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              }
            ]
          },
          {
            "sddc_manager_version": "4.4.1.1-19948546",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              }
            ]
          },
          {
            "sddc_manager_version": "4.3.1.1-19235535",
            "sddc_services_info": [
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.3.1-19793746.pak",
                "base_version": "4.3.1-vcf4311RELEASE-19235255",
                "aliases": [
                  "4.3.1.0-19793746"
                ],
                "bundle_name": "bundle-57619"
              }
            ]
          }
        ]
      }
    },
    {
      "action": "enable_bom_patch",
      "configuration": {
        "bundles": [
          {
            "name": "bundle-61453"
          }
        ]
      }
    }
  ],
  "ap_tool_configs": null
}


This input spec contains two sections: enable_sddc_service_patch and enable_bom_patch. AP tool reads the input spec in order, and therefore first applies the SDDC manager service upgrade associated with the BOM patch in the "enable_bom_patch" section (in this case, bundle-61453). Then, it enables the BOM patch in the next section under "enable_bom_patch".

To run the workflow with multiple async patches in one, the input spec will have multiple sections similar to the example above. Let's take an example where a user wants to apply:

  • NSX-T manager patch

version 3.1.3.8.0-20532384,
bundle-63129,
input spec URL: https://depot.vmware.com/PROD2/evo/vmw/asyncPatchSpecs/v1/bundle-63129.spec)

  • ESX patch

version 7.0.3-20328353
bundle-60929
input spec URL: https://depot.vmware.com/PROD2/evo/vmw/asyncPatchSpecs/v1/bundle-60929.spec)

When constructing the input spec combine the input specs to enable_bom_patch for both patches in the order they want the patches to be applied on the environment. For example, if they want NSX-T to go before ESX, then the input spec should have that ordering of the enable_bom_patch sections. If you put NSX-T first in the spec, that will become available as a bundle while ESX will be in pending. Once NSX-T is applied, then ESX will become available.

Individual input spec for NSX-T manager patch described above:

sample AP tool spec - NSX-T single patch

{
  "actions": [
    {
      "action": "enable_sddc_service_patch",
      "configuration": {
        "services": [
          {
            "sddc_manager_version": "4.4.0.0-19312029",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              }
            ]
          },
          {
            "sddc_manager_version": "4.4.1.1-19948546",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              }
            ]
          },
          {
            "sddc_manager_version": "4.3.1.1-19235535",
            "sddc_services_info": [
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.3.1-19793746.pak",
                "base_version": "4.3.1-vcf4311RELEASE-19235255",
                "aliases": [
                  "4.3.1.0-19793746"
                ],
                "bundle_name": "bundle-57619"
              }
            ]
          }
        ]
      }
    },
    {
      "action": "enable_bom_patch",
      "configuration": {
        "bundles": [
          {
            "name": "bundle-63129"
          }
        ]
      }
    }
  ],
  "ap_tool_configs": null
}


Individual input spec for ESX patch described above:

sample AP tool spec - ESX single patch

{
  "actions": [
    {
      "action": "enable_sddc_service_patch",
      "configuration": {
        "services": [
          {
            "sddc_manager_version": "4.4.0.0-19312029",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              }
            ]
          },
          {
            "sddc_manager_version": "4.4.1.1-19948546",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              }
            ]
          },
          {
            "sddc_manager_version": "4.3.1.1-19235535",
            "sddc_services_info": [
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.3.1-19793746.pak",
                "base_version": "4.3.1-vcf4311RELEASE-19235255",
                "aliases": [
                  "4.3.1.0-19793746"
                ],
                "bundle_name": "bundle-57619"
              }
            ]
          }
        ]
      }
    },
    {
      "action": "enable_bom_patch",
      "configuration": {
        "bundles": [
          {
            "name": "bundle-60929"
          }
        ]
      }
    }
  ],
  "ap_tool_configs": null
}


Combined input spec for NSX-T manager patch + ESX patch (in that order)

sample AP tool spec - combined, NSX-T + ESX

{
  "actions": [
    {
      "action": "enable_sddc_service_patch",
      "configuration": {
        "services": [
          {
            "sddc_manager_version": "4.4.0.0-19312029",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              }
            ]
          },
          {
            "sddc_manager_version": "4.4.1.1-19948546",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              }
            ]
          },
          {
            "sddc_manager_version": "4.3.1.1-19235535",
            "sddc_services_info": [
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.3.1-19793746.pak",
                "base_version": "4.3.1-vcf4311RELEASE-19235255",
                "aliases": [
                  "4.3.1.0-19793746"
                ],
                "bundle_name": "bundle-57619"
              }
            ]
          }
        ]
      }
    },
    {
      "action": "enable_bom_patch",
      "configuration": {
        "bundles": [
          {
            "name": "bundle-63129"
          }
        ]
      }
    },
    {
      "action": "enable_bom_patch",
      "configuration": {
        "bundles": [
          {
            "name": "bundle-60929"
          }
        ]
      }
    }
  ],
  "ap_tool_configs": null
}


Combined input spec for ESX patch + NSX-T manager patch (in that order)

sample AP tool spec - combined ESX + NSX-T

{
  "actions": [
    {
      "action": "enable_sddc_service_patch",
      "configuration": {
        "services": [
          {
            "sddc_manager_version": "4.4.0.0-19312029",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.0-20509500.pak",
                "base_version": "4.4.0-vcf4400RELEASE-19311902",
                "aliases": [
                  "4.4.0-vcf4400RELEASE-20509500"
                ],
                "bundle_name": "bundle-62671"
              }
            ]
          },
          {
            "sddc_manager_version": "4.4.1.1-19948546",
            "sddc_services_info": [
              {
                "name": "commonsvcs",
                "upgrade_file": "vcf-commonsvcs-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "domainmanager",
                "upgrade_file": "vcf-domain-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              },
              {
                "name": "operationsmanager",
                "upgrade_file": "vcf-operations-manager-4.4.1-20546243.pak",
                "base_version": "4.4.1-vcf4411RELEASE-19948368",
                "aliases": [
                  "4.4.1-vcf4411RELEASE-20546243"
                ],
                "bundle_name": "bundle-62832"
              }
            ]
          },
          {
            "sddc_manager_version": "4.3.1.1-19235535",
            "sddc_services_info": [
              {
                "name": "lcm",
                "upgrade_file": "vcf-lcm-4.3.1-19793746.pak",
                "base_version": "4.3.1-vcf4311RELEASE-19235255",
                "aliases": [
                  "4.3.1.0-19793746"
                ],
                "bundle_name": "bundle-57619"
              }
            ]
          }
        ]
      }
    },
    {
      "action": "enable_bom_patch",
      "configuration": {
        "bundles": [
          {
            "name": "bundle-60929"
          }
        ]
      }

    },
    {
      "action": "enable_bom_patch",
      "configuration": {
        "bundles": [
          {
            "name": "bundle-63129"
          }
        ]
      }
    }
  ],
  "ap_tool_configs": null
}


Once the input spec is combined, label the input spec as input_json and pass it in using the -i option. See AP tool options for the full CLI argument.