Updating Applications
---------------------

.. index:: cluster;cluster upgrade
.. index:: backup;backup add

The entire cluster can be upgraded from a single node with the command:

**cluster upgrade <ISO>|<URL>**

Some issues to note:

* By default, the cluster upgrade is carried in parallel on all nodes and without any
  backup in order to provide a fast upgrade. For backwards compatibility, this command
  is the same as for example **cluster upgrade <ISO> backup none fast**.

* Use the **cluster upgrade <ISO>|<URL> serial** command if the VMware host is under load.

* If a backup is required, use the **backup <location>** parameter with a location as
  it was added with the **backup add** command.
  The command parameter can for example be:

  **cluster upgrade <ISO>|<URL> backup <location>**

  A downloadable URL can be specified using **cluster upgrade <URL>** which will first be downloaded
  before upgrading. For example:

  **cluster upgrade http://myserver/path/myfile.iso**

  If a downloadable URL is not available, use the instructions detailed under the Download section
  to copy the application upgrade package to the local server.  Once complete, use 
  **cluster upgrade <ISO path>** to upgrade the application, or for example: **cluster upgrade myfile.iso**.

A single, cluster-of-one node can be upgraded using the local variant:

**cluster upgrade <ISO>|<URL>**

By default, the **upgrade** will upgrade the system using the latest ISO upgrade package in
the ``platform`` user's directory.

The system will automatically reprovision itself after upgrading if necessary.

Note that the system will automatically perform a full backup before the upgrade so that the system
can be rolled back if necessary.  The destination for this backup can be specified using the following
syntax:

**cluster upgrade <URL>|<path> backup <backup-destination>**

Valid backup destinations can be listed with **backup list**.  If necessary, it is also possible to instruct
the system not to perform a backup by specifying the backup destination as ``None``.

See the backup restore section on how to restore a system to a former snapshot in order to revert to the
snapshot prior to upgrade.


