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
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.
- When executed with option '1', whole infrastructure is updated to
the latest Stable
version.
# /usr/bin/upcp 1
- When executed with option '1', whole infrastructure is updated to
the latest Mainline
version.
# /usr/bin/upcp 2
- When executed with option '3', whole infrastructure is updated to
the latest Beta
version.
# /usr/bin/upcp 3
- 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.
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.
# /usr/bin/upcp 4
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.
- When executed with option '1', this slave node is updated to the
latest Stable
version.
# /usr/bin/upcp 1
- When executed with option '1', this slave node is updated to the
latest Mainline
version.
# /usr/bin/upcp 2
- When executed with option '3', this slave node is updated to the
latest Beta
version.
# /usr/bin/upcp 3
- 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) |