Upgrade for Carbonio CE

Upgrade for Carbonio CE

The Zextras repositories are updated whenever new versions are published, and packages are then made available for installation with other system updates. Carbonio CE does not have an installer. Since there are only a few commands that must be run on each Node, whether it is the (single) Node in a Single-Server installation or all the Nodes in a Multi-Server installation, the upgrading procedure is often a very rapid activity.

The technique for upgrading consists of a preparatory step followed by the correct upgrade, which is the same for each Node. The successful update will always move Carbonio CE to the most recent version available, which is presently 23.6.0, regardless of the version that is already installed.

Some manual step may be necessary, depending on the updated packages and the version you are upgrading from. Before beginning the update, please carefully read section update Checklist to see whether any further tasks are required.

Note

Only the three previous versions are supported for upgrade. If you install from an older version, you may need to execute further tasks to ensure proper functioning of Carbonio CE.

In addition, if the upgrade involves third-party software, incompatibilities might occur, necessitating the completion of certain extra manual processes. There is advice to prevent or resolve these problems in the section below under Troubleshooting.

Improvement Checklist

The following roles or packages are affected by this update, and they involve some manual work.

  • the package called  carbonio-docs-core . You could get into a library clash only on RHEL 8. Please go to the Troubleshooting section in this situation.
Backup Node(s)

For improved security, to prevent any data loss, it is suggested to make a backup or take a snapshot (if you are using an hypervisor) of each Node.

introductory tasks

The Directory Server’s LDAP data is backed up as a first step. The node having the Directory Server Role installed, in our case  SRV1  in a Multi-Server installation, should run the tasks listed below.

  • Create an LDAP database dump, particularly if the update involves the Directory Server. The command can be used to do this (as the zextras user).
zextras$ /opt/zextras/libexec/zmslapcat /tmp

Note

The dump will be saved in the /tmp/ directory, so make sure to copy it to a safe location.

  • File /opt/zextras/conf/localconfig.xml should be copied as a backup and kept in a secure location.
Upgarde Nodes

Remember to start from the node hosting the Directory Server (SRV2 in our Six Nodes Scenario), then install everything else in the same order, if you’re using a multi-server setup.

Step 1. Stop services

As the zextras user, run:

zextras$ zmcontrol stop
Step 2. Clean cached package list and information
Step 3. Update package list and install upgrades
Step 4. Bootstrap Carbonio Files database

On a Multi-Server, this step must be performed exclusively on the DB Connection node (SRV1 in our scenario).

# read -s -p "Insert Password of DB Admin:" DB_ADM_PWD

# PGPASSWORD=DB_ADM_PWD carbonio-mailbox-db-bootstrap
carbonio_adm 127.0.0.1

Hint

DB_ADM_PWD is the password of PostgreSQL’s administrative user, created during Carbonio CE’s installation.

# unset DB_ADM_PWD
Step 5. Register upgraded packages to Carbonio Mesh
# pending-setups -a
Step 6. Reboot

Once the upgrade has completed successfully, run command:

# reboot
Troubleshooting

You can run across the following problem when installing  carbonio-docs-editor  on RHEL 8-based distributions:

Error:  Problem: package carbonio-docs-core-22.05.12-1.el8.x86_64 requires harfbuzz-icu,
but none of the providers can be installed
  - package carbonio-docs-core-22.05.12-1.el8.x86_64 requires libharfbuzz-icu.so.0()(64bit), but none of the providers can be installed
  - package harfbuzz-icu-1.7.5-3.el8.x86_64 conflicts with harfbuzz
    provided by harfbuzz-1.7.5-3.el8.x86_64
  - cannot install the best candidate for the job
  - problem with installed package harfbuzz-1.7.5-3.el8.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

You must carry out the instruction and heed the counsel in the last line

# dnf install harfbuzz-icu --allowerasing

You can pick up the upgrade again when the package has been installed.

Missing carbonio-docs-editor user

On RHEL 8-based Multi-Server installations only, you may find the following error in all AppServers that do not have* the  carbonio-docs-editor  package installed.

chown: invalid spec: 'carbonio-docs-editor:'

In these cases you need to open the  /opt/zextras/libexec/zmfixperms, which is the script that fails, with a text editor and find the lines:

if [ -d /opt/zextras/docs ]; then
  printMsg "Fixing permissions and ownership on /opt/zextras/docs"
  chown carbonio-docs-editor: /opt/zextras/docs
fi

The workaround is to comment out these four lines, by prepending a # to each line, that will therefore become:

#if [ -d /opt/zextras/docs ]; then
#  printMsg "Fixing permissions and ownership on /opt/zextras/docs"
#  chown carbonio-docs-editor: /opt/zextras/docs
#fi

Then, run the script again.