Purity//FA Self-Service Upgrade via REST API

Purity//FA Purity//FA Upgrades

Audience
Public
Product
FlashArray
FlashArray > Purity//FA
Content Type
Upgrade Guide
Source Type
Documentation

This section outlines how to perform a non-disruptive self-service Purity//FA upgrade on a connected array using REST API v2.x.

Attention: Everpure Restricted Content - Do Not Distribute or Replicate
Note: Everpure recommends using Pure1 as the primary method to perform Purity//FA upgrades. However, for customers who prefer performing the upgrade directly on the array using the Purity//FA REST API, follow the below procedure.

This procedure includes health checks, bundle download, upgrade initiation, and post-check response handling.

Pre-requisite: The array must be able to either download the Purity//FA bundle from Everpure Cloud or have the bundle already present on the array. Phonehome must be enabled and working to allow the array to download the Purity bundle from the cloud.

This process is part of the Everpure broader goal to simplify lifecycle operations through self-service, API-driven upgrades. As product capabilities evolve, this document should be used in conjunction with the latest Everpure FlashArray REST API Guide before starting to ensure you're using the most up-to-date API version, endpoints, and workflows.

Using this procedure, customers can ensure secure, reliable, and efficient upgrades.

Remember: Always check the latest Everpure FlashArray REST API Guide before starting. New API versions and enhancements may improve the process or add additional functionality.
  1. Determine the available Purity versions:

    Retrieve a list of Purity versions available for upgrade based on the current version and controller model using the following API call:

    GET /api/2.11/software-versions
  2. Run the upgrade checks:
    1. Before upgrading, confirm there are no issues by running upgrade checks for your target Purity version (in this example: Purity//FA 6.8.2):
      POST /api/2.11/software-check
      {
        "software_names": ["Purity//FA"],
        "software_versions": ["6.8.2"]
      }
      
    2. Check the status of the upgrade checks:
      GET /api/2.11/software-check?software_versions=6.8.2&software_names=Purity//FA

      If any checks fail, take the necessary steps to resolve them or consider upgrading to a different version.

  3. Download the Purity software:
    1. If the upgrade checks pass, initiate the download of the Purity software bundle from Pure Cloud:
      POST /api/2.11/software
      {
        "name": "Purity//FA",
        "version": "6.8.2"
      }
      
    2. Check the status of the Purity bundle download:
      GET /api/2.11/software?names=Purity//FA
      Note: The bundle can be several gigabytes and may take time to download.
  4. Initiate the upgrade:
    1. Once the download is complete, proceed with the Purity upgrade (in this example, the target software version is 6.8.2):

      There are two upgrade modes that can be used:

      • Semi-Interactive: The upgrade proceeds automatically until completion or until an upgrade check failure occurs, at which point manual intervention is required.

      • Interactive: Manual approval required for key steps.

      POST /api/2.11/software-installations?software_ids=12345
      {
        "mode": "interactive"
      }
      
    2. Check the status and the progress of the Purity upgrade:
      GET /api/2.11/software-installations
      Note: The response will include IDs that will be used in the following steps.
  5. Respond to the upgrade checks:

    In Interactive mode (or Semi-Interactive where an upgrade check failed) before each controller reboots, you will need to take an action. The response from the above GET call will display the upgrade check results and will require you to take one of three possible actions:

    • Continue: Proceed with rebooting the controller (or if an upgrade check failed but you have determined things are safe and you would like to override the check and proceed with the upgrade).

    • Abort: Cancel the ongoing upgrade.

    • Retry: Run the upgrade checks again.

    These steps can be taken as per the following PATCH example call:

    PATCH /api/2.11/software-installations?command=continue&current_step_id=YOUR_STEP_ID
    {
      "add_override_checks": [
        {
          "args": "",
          "name": "HostIOCheck",
          "persistent": true
        }
      ]
    }
    

    To retrieve more detailed step information, use the following call:

    GET /api/2.11/software-installation-steps?software_installation_ids=YOUR_INSTALL_ID
  6. Monitor the upgrade to completion:

    Continue monitoring the upgrade progress using the following call:

    GET /api/2.11/software-installations

    Use the PATCH endpoint described above as needed to advance through the upgrade.

Once both controllers complete their reboots, the upgrade will finalize.

eccinxstc76