Skip to content

Upgrading HyperCloud

HyperCloud version 2.2 from version 2.1

Note

If upgrading from a version of HyperCloud prior to 2.1, please follow the steps detailed in the "HyperCloud upgrade prior to 2.1" guide.

  1. Download or otherwise copy the latest multiarch bundle to the cluster in the /var/cores/ directory. The current HyperCloud version 2.2 release is here: https://git.softiron.com/jenkins/cloud/v2.2.1/hypercloud-2.2.1-multiarch_bundle.bundle

  2. Next, SSH into each static node with:

    ### Replace X with number of static node
    
    SSH_AUTH_SOCK=/tmp/ssh-dashboard/agent.sock ssh -l root 10.0.0.X
    

    On each static node, run:

    hypercloud-apply-multiarch-bundle /var/cores/<bundle_name>.bundle
    

    The full path to the bundle must be used. Relative paths will not work.

    This will install the bundle to the static node.

  3. After the bundles have been applied, ensure the static nodes are in the enabled or on state, then return to the dashboard.

    Warning

    If the cluster is nearly full, or there are not enough compute nodes to live migrate things around, it may hang on rebooting compute nodes indefinitely. Manual intervention (i.e. manually moving or shutting down a workload may be necessary.)

    Run:

    hypercloud-reboot-cluster-live -all
    

    During the cluster reboot procedure, first the static nodes will be rebooted one-by-one, then the compute nodes will be rebooted while each VM is migrated among non-rebooting compute nodes, and finally the dashboard VM itself will reboot, which will terminate your SSH connection to it.

    At this point, your cluster will now be running HyperCloud version 2.2 software. The HyperCloud firmware has not yet been upgraded.

  4. After the cluster has fully rebooted, return to the dashboard.

    Note

    This process of copying the firmware to the BMCs may take some time. Detailed information about the progress of each node's copy operation is printed during the copying. If any node fails to copy the firmware to the BMC correctly, all nodes will have their copy operation aborted to best ensure the entire cluster stays on a unified set of firmware.

    Transfer the firmware for each node to the nodes' BMCs by running:

    hypercloud-apply-firmware-bundle /var/cores/<bundle_name>.bundle
    
  5. Once copying of the firmware to the BMCs has completed, return to the dashboard.

    Note

    During this second reboot, because we have previously transferred new firmware to each node's BMC, nodes may be halted instead of rebooted so that the BMC may apply the firmware. This halt instead of reboot is seamless and after applying the firmware the BMC will start the node back up automatically so the node will appear to have only rebooted from the cluster's perspective.

    Reboot the cluster once more by running:

    hypercloud-reboot-cluster-live -all
    
  6. After this second cluster reboot, verify that the currently running firmware versions on the cluster match the firmware from the multiarch bundle you downloaded to /var/cores/ directory:

    hypercloud-check-firmware-versions -b /var/cores/<multiarch_bundle>
    

Each HyperCloud node’s hostname will be printed along with an indication of which firmware are out of date on that node. If all firmware is up to date then “none” is printed for that node.