From Previous Version#

This section guides you in the upgrade from Carbonio CE 25.9, regardless of any specific patch numbers, to the latest 25.12.0.

Requirements & Preliminaries#

The upgrade to 25.12.0 may include some manual interaction before, during, or after the procedure.

Checklist#

  1. 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 before upgrading.

  2. During the packages installation, you will be prompted to replace the localconfig.xml file. The correct answer is NO, which is also the default answer: you need to keep the existing file, otherwise several critical configuration parameters will be lost, causing the upgrade process to fail. Replacing the file will lead to service disruption and requires a long, manual recovery.

Upgrade Procedure#

The upgrade procedures requires that you log in to each node of your Carbonio CE infrastructure and execute some command, then rebooting the Node as soon as you have successfully completed the procedure.

Upgrade Nodes#

Preliminary Tasks

As a preliminary task, we backup the LDAP data of the Directory Server. On a Multi-Server installation, execute the following commands on the Node with the Directory Server Component installed.

  1. Make a dump of the LDAP Database, especially if the upgrade includes the Directory Server. This can be done using the command (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.

  2. Make a backup copy of file /opt/zextras/conf/localconfig.xml and store it in a safe place

  3. It is necessary that all services, especially OpenLDAP, be running during the whole procedure

    zextras$ zmcontrol status
    
    zextras$ zmcontrol status
    

    To see the status of only a service, use the new systemd commands that replace the zmcontrol commands (see Carbonio Systemd Targets).

    To see the status of only a service, use the new systemd commands that replace the zmcontrol commands (see Carbonio Systemd Targets).

    If in the output some service appears as not running, start it.

If you are on a Multi-Server, remember to start from the Node featuring the Directory Server Component, then all the other Nodes in the same order of installation.

Step 1. Clean package list

Clean cached package list, metadata, and information.

# apt clean
# dnf clean all
# apt clean
# dnf clean all
Step 2. Update list of packages

Update package list.

# apt update
# dnf check-update
# apt update
# dnf check-update
Step 3. Upgrade Node

Install upgrades.

Danger

Remember to keep the localconfig.xml file, answering NO when asked to. Selecting YES can overwrite your configuration and break the installation.

Recovery: If the upgrade breaks the system due to selecting YES, restore the backup of localconfig.xml to its original location and rerun the upgrade to recover the installation.

# apt full-upgrade
# dnf upgrade --best --allowerasing
# apt full-upgrade
# dnf upgrade --best --allowerasing
Step 4. (Optional) Remove unused packages

After the latest packages have been installed, you can remove unused packages still installed on your system. If unsure, skip this step.

# apt autoremove
# dnf autoremove
# apt autoremove
# dnf autoremove
Step 5. Register upgraded packages to Carbonio Mesh
# pending-setups -a
Step 6. Reinitialise the Message Dispatcher database

Before proceeding, ensure that the environment variable $DB_ADM_PWD is correctly set. This variable must contain the PostgreSQL administrative password that was defined during the Database component installation.

On the Node featuring the Chats Component, run:

# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration \
   carbonio_adm 127.78.0.10 20000

Note: only for single-server installations, use the loopback address:

# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration \
   carbonio_adm 127.0.0.1

Then restart the Message Dispatcher service by running the following command:

# systemctl restart carbonio-message-dispatcher
Step 7. Reboot

Once the upgrade has completed successfully, run command:

# reboot