Purity//FA Self-Service Upgrade via REST API on a Darksite Array

Dark Site Support

Audience
Public
Source Type
Documentation

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

Attention: Everpure Restricted Content - Do Not Distribute or Replicate
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 a local server or have the bundle already present on the array on a local directory via a mounted USB drive.

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 in darksite deployments.

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. Note: This utility currently cannot process bundles larger than the array's /reset partition. If the bundle gets stuck in a downloading or failed state, please check if the /reset partition has enough space for the entire bundle. If it does not, you may need to break up the upgrade into 1 hop per bundle and do them individually.
    Download the Purity bundle:
    1. Contact Everpure Technical Services to obtain the Purity bundle and copy it to a local server that the array can access via supported file transfer protocols (e.g., http, https, ftp, or ftps). Then, use puresw to download the bundle from the server to the array (e.g., https://<server>/upgrade_bundle.sh).
      Important:
      • Make sure to replace upgrade_bundle.sh with the actual name of the Purity bundle.

      • For USB usage, contact Everpure Technical Services to help transfer the bundle from the USB drive to the array.

      Example:

      POST /api/2.11/software-bundle
      {
      "source": "https://local/upgrade_bundle.sh"
      }
      
    2. Check the status of the Purity bundle download:
      GET /api/2.11/software-bundle
      Note: The bundle can be several gigabytes and may take time to download.
  2. Run the upgrade checks:
    1. Before upgrading, confirm there are no issues by running pre-upgrade checks for your target Purity version (in this example: Purity//FA 6.8.2):
      POST /api/2.11//api/2.11/software-check?software_versions=6.8.2&software_names=Purity//FA
      
    2. Check the status of the upgrade checks using the following API call:
      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. Initiate the upgrade:
    1. Once the download completes, determine the ID of the software you would like to install:
      GET /api/2.11/software
    2. With the ID in hand, proceed with the Purity upgrade using the following API call:
      POST /api/2.11/software-installations?software_ids=12345
      {
        "mode": "interactive"
      }
      

      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.

    3. Check the status and the progress of the Purity upgrade:
      GET /api/2.11/software-installations
      Important: The response will include IDs that will be used in the following steps.
  4. 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 with the following PATCH example API 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 API call:

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

    Continue monitoring the upgrade progress using the following API 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