Manual From Previous Version

Manual From Previous Version#

This section guides you in the upgrade from Carbonio 24.12, regardless of any specific patch numbers, to the latest 25.3.0.

Requirements & Preliminaries#

The upgrade to 25.3.0 may include some additional procedure that impacts the following Roles, packages, or third-party software, which require some manual interaction before, during, or after the procedure. If you already have implemented them, please skip to the next section.

Operating system

Carbonio can be installed on Ubuntu 22.04 and RHEL 9 (BETA support) since version 24.5.0. If you plan to upgrade both the OS and Carbonio, please refer to Section OS Upgrade.

Warning

The 25.3.0 release of Carbonio is the last version supporting Ubuntu 20.04 LTS, which goes EOL in May 2025.

We strongly recommend upgrading to Ubuntu 22.04 LTS to ensure continued compatibility and support. Future versions of Carbonio will not support Ubuntu 20.04 LTS.

Support for PostgreSQL 12 dropped

Carbonio no longer supports PostgreSQL 12, which must be upgraded to version 16 before upgrading Carbonio to 25.3.0. Check section Upgrade to PostgreSQL 16 for directions.

DB Connector Role

The DB Connector Role is no longer available, therefore you need to move some of the packages to the Database Role. The procedure to carry out this task can be found in Section Pgpool Removal.

Checklist#

The new packages or packages that should be moved on different nodes, should be installed or moved during the upgrade procedure:

  1. carbonio-user-management

Upgrade Procedure#

The upgrade procedures requires that you log in to each node of your Carbonio infrastructure and execute some command, then rebooting the Node as soon as you have successfully completed the procedure. Because you need to follow the output of the commands and make sure everything proceeds flawlessly, this procedure is suggested only if you want to have the control of all the steps.

Hint

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

We can not provide any estimate on the time required by the upgrade, because various factors may impact the duration, including the number of Nodes, their load, the speed of network connection, and so on.

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 Role 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
    

    Hint

    On RHEL 9, use the new systemd commands that replace the zmcontrol command (see the dedicated box).

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

Remember to start the upgrade from the Node featuring the Directory Server, 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
Step 2. Upgrade Node

Update package list.

# apt update
# dnf check-update
Step 3. Install or move packages

The following packages needs to be moved from one Node to another or installed on the given Node.

carbonio-user-management

In release 25.3.0, this package must be installed as part of the Mesh & Directory Role, instead of the Proxy Role. To intall it on the Mesh & Directory Node, execute as the root user

# apt install carbonio-user-management
# dnf install carbonio-user-management

While the user management features works even if the package is installed installed with both Roles, we suggest that you remove it from the Node featuring the Proxy Role:

# apt remove carbonio-user-management
# dnf remove carbonio-user-management
Step 4. Upgrade Node

Install upgrades.

# apt upgrade
# dnf upgrade --best --allowerasing
Step 5. (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
Step 6. Register upgraded packages to Carbonio Mesh
# pending-setups -a
Step 7. Reboot

Once the upgrade has completed successfully, run command:

# reboot

Note

After the upgrade has successfully completed, we strongly suggest to carry out the tasks described in Troubleshooting sections: change Directory Server credentials and empty the pre-auth keys.