Upgrades are supported using the SIMPL VM.

More information can be found in the pages below:

Parallel upgrades

By default, SIMPL VM upgrades one node at a time. This has the advantage of maintaining as much availability as possible during an upgrade, but means an upgrade can take a long time.

Depending on the application and the capacity of the end user’s deployment, it may be safe to upgrade multiple nodes at the same time. This is known as a parallel upgrade.

To determine whether your application supports parallel upgrade, you will need to consider all aspects of how it might function when multiple nodes quiesce or boot simultaneously, and possible impacts of multiple nodes being offline. For example:

  • What is the minimum deployment size (number of VMs) for your application? If it is common to deploy the VMs in very small numbers, parallel upgrade may not provide much benefit.

  • If the application reads from a distributed database such as Cassandra hosted on the VMs, could you fail to get a quorum of nodes if too many are down?

  • Are there intensive database or storage operations performed on startup and/or quiesce, which might impact the performance of your database, network and/or storage systems?

  • Are there any potential race conditions in your application’s quiesce logic?

node-parameters.yaml settings

Once you have decided that you do want to support parallel upgrade, and determined the number of nodes that can be safely upgraded at once, you can specify parallel upgrade settings in your node-parameters.yaml file. The factor parameter is the proportion of the entire deployment that is upgraded at once, expressed as a number between 0 and 1 (exclusive). The max parameter puts a further limit on the number of nodes for larger deployments.

You can calculate the number of nodes that are upgraded at once by multiplying the deployment size by the factor, rounding down to a whole number, then taking the smaller of the result and the configured maximum number of nodes. For example, with a factor of 0.25 and a max of 10, then a 26-node deployment is upgraded six VMs at a time (four groups of six, then the final two nodes).

If your product does not support parallel upgrade, omit the parallel-upgrade section in node-parameters.yaml.

Tip

As a rough guide, a single VM or group of VMs takes about 2-3 minutes to upgrade, outside of any time required to run initconf hook scripts.

When a product supports parallel upgrade, users of a SIMPL VM can always choose to upgrade it sequentially (one node at a time), though this would be unusual. The converse is not true, that is, a product that only supports sequential upgrade cannot be upgraded in parallel.

Previous page Next page