Skip to content

How SolusVM update works

About PHP 5.6 and PHP 7.3

On 5.02.2020 SolusVM released version 1.24.01 that runs under PHP 7.3. Upgrade to PHP 7.3 should be performed manually, see the following link for the details: https://support.solus.io/hc/en-us/articles/360011297219 

If you are using SolusVM 1.23.07 or lower, any update attempt will result in SolusVM having version 1.23.07 (latest version for PHP 5.6).

Via SolusVM Interface

There are three branches of SolusVM: stable, mainline, beta. 

  • Stable branch in general is updated every 3 months. It contains version that proves itself on the production. Last stable version in the branch is supported.

  • Mainline branch is updated on demand. All features, improvements and fixes are delivered to this branch at first. Last mainline version in the branch is supported.

  • Beta branch is published on demand when some features require additional external testing. Last beta version in the branch is supported.

In order to update SolusVM to new version in the current branch or change the branch, Navigate to SolusVM Admin Area > Tools > Update

Updates

Update triggered from the interface is performed on master node at first and on all slave nodes afterwards.

Via the command line

Command line provides flexible and neat tool to manage updates. It can be invoked like this:

/usr/bin/upcp

Executing script on SolusVM master node

When this script is used on a master node, it affects master node and all slave nodes.

Script has four options.

  1. When executed with option '1', whole infrastructure is updated to the latest Stable version.
    # /usr/bin/upcp 1
    
  2. When executed with option '1', whole infrastructure is updated to the latest Mainline version.
    # /usr/bin/upcp 2
    
  3. When executed with option '3', whole infrastructure is updated to the latest Beta version.
    # /usr/bin/upcp 3
    
  4. This option exists starting from 1.23.05 only. When executed with option '4', master node is updated to the latest version and stays on the current branch. All slave nodes are updated to PHP 7.3 and latest SolusVM version depending on current branch.
    # /usr/bin/upcp 4
    
    Example: SolusVM master is running on 1.24.05 and on the mainline branch. Now we need to update all slave nodes to PHP 7.3. Slave nodes are on 1.23.07 and on the mainline branch. On /usr/bin/upcp 4 execution, master node will be updated to the latest mainline version, all slave nodes will be updated to PHP 7.3 (see https://support.solus.io/hc/en-us/articles/360011297219 for details) and then to the latest mainline version for PHP 7.3.

When executed without any option, the option is taken from /usr/local/solusvm/data/.installed_branch file.

# cat /usr/local/solusvm/data/.installed_branch
2
# /usr/bin/upcp 

In this example, the outcome is similar to /usr/bin/upcp 2

Executing script on SolusVM slave node

When this script is used on a slave node, it affects only this particular slave node.

  1. When executed with option '1', this slave node is updated to the latest Stable version.
    # /usr/bin/upcp 1
    
  2. When executed with option '1', this slave node is updated to the latest Mainline version.
    # /usr/bin/upcp 2
    
  3. When executed with option '3', this slave node is updated to the latest Beta version.
    # /usr/bin/upcp 3
    
  4. When executed with option '4', the outcome is similar to the execution without any argument: the argument is taken from /usr/local/solusvm/data/.installed_branch file.
    # cat /usr/local/solusvm/data/.installed_branch
    1
    
    # /usr/bin/upcp 4
    
    # /usr/bin/upcp
    

In both cases this slave node is updated to the current stable version.

Comparison for different versions

For SolusVM 1.23.07 and below

What is executed **To what version update is performed **
/usr/bin/upcp 1 1.23.07
/usr/bin/upcp 2 1.23.07
/usr/bin/upcp 3 1.23.04
/usr/bin/upcp 1.23.04 or 1.23.07 (depending on the content of /usr/local/solusvm/data/.installed_branch file)

For SolusVM 1.24.01 and above

What is executed **To what version update is performed **
/usr/bin/upcp 1 Latest stable version: Stable Branch
/usr/bin/upcp 2 Latest mainline version: Mainline Branch
/usr/bin/upcp 3 Latest beta version: Beta Branch
/usr/bin/upcp 4 Slave nodes running on 1.23.07 are updated to the latest version depending on the content of /usr/local/solusvm/data/.installed_branch file
/usr/bin/upcp Latest version in the corresponding branch (depending on the content of /usr/local/solusvm/data/.installed_branch file)
Back to top