Upgrade Using Ansible from older versions#

To upgrade with Ansible, the inventory file must accurately reflect the Carbonio infrastructure. This is particularly important if you installed Carbonio manually and are now upgrading with Ansible. In this case, you can use an inventory file from one of the Installation Scenarios and adapt it to your Carbonio infrastructure. See section Prepare Inventory for directions.

These are the alternatives to upgrade an existent Carbonio infrastructure, depending if you have installed the 24.12 version or an older one.

Upgrade From Carbonio 24.12#

If you are upgrading from the 24.12 series version (24.12.0 and 24.12.1), there are two different paths, depending on whether you previously installed with Ansible or not.

Carbonio was Installed with Ansible#

  1. The infrastructure has no Chats Component installed. In this case, add an this (empty) block at the end of the file:

    [workStreamServers]
    

    You can now proceed to Section Run the Upgrade below.

  2. The Chats Component was manually installed. In this case, edit the inventory file and add this block at the end of the file:

    [workStreamServers]
    chats.example.com
    

    Replace the chats.example.com string with the actual FQDN of the Node on which Chats is installed, then proceed to Section Run the Upgrade below.

Carbonio was Manually Installed#

  1. The infrastructure has no Chats Component installed. You need to compile the inventory file, then you can proceed to Section Run the Upgrade below.

  2. The infrastructure has the Chats Component installed. Compile the inventory file and then, like in the previous case, edit the inventory file and add this block at the end of the file:

    [workStreamServers]
    chats.example.com
    

    Replace the chats.example.com string with the actual FQDN of the Node on which Chats is installed, then proceed to Section Run the Upgrade below.

Carbonio has both Chats and Legacy Chats installed

Regardless if you installed manually or with Ansible, if both the Chats Component and the legacy Chats and Video Server Components are installed, you need to edit the inventory file like above:

[workStreamServers]
chats.example.com

Ansible will take care of upgrading all Nodes, including those installing the legacy Components. Note, however, that there are no updates to the packages providing these Components, so they will keep the same version.

In both cases, you need to save the inventory file in the data directory (see Section Run the Upgrade below`). You must also save in that directory these additional files, which contain access passwords for various services. You should have saved these password during the installation process.

  1. inventory_postgrespassword must contain the password of PostgreSQL administrative user, called DB_ADM in the documentation.

  2. inventory_ldap_password must contain the password that you can retrieve with the command, executed as the zextras user on the node featuring the Mesh & Directory Component

    zextras$ zmlocalconfig -s | grep ldap_password"
    
  3. inventory_consulpassword must contain the password stored in file /var/lib/service-discover/password

  4. inventory_videoserver_password must contain the password used by the Carbonio VideoServer, that you can retrieve with the command, executed as the root user on the Node installing the Carbonio VideoServer:

    # grep api_secret /etc/janus/janus.jcfg
    

Upgrade From Carbonio 24.9 or Older#

If you are upgrading from the 24.9 version or older, you need to make sure that you inventory file still contains the DB Connector Component:

[dbsConnectorServers]
srv3.example.com

Replace the srv3.example.com string with the actual FQDN of the Node on which the Component is installed.

While the Component was removed, its presence is necessary to allow Ansible to properly deal with the packages providing the Component: pgpool will be removed, while the *-db packages will be moved to the Node where the Database Component is installed.

After the successful upgrade, the Component can be emptied and a comment can be added to the inventory file, for example:

### Keep this Component empty and uncommented
[dbsConnectorServers]

Run the Upgrade#

To run the upgrade, you need to move to the directory where you have the inventory file of your installation (it is called data in the Ansible Setup Section), then issue the command below. Before running it, please note that:

  • The command will automatically remove all unused dependencies installed on your system. To prevent this behaviour, add to the command line the option --extra-vars skip_autoremove=1

  • Packages that were manually installed and are no longer used will not be removed from your system: you need to remove them manually.

$ ansible-playbook zxbot.carbonio_upgrade.carbonio_upgrade \
-u root -i carbonio-inventory

In case the procedure does not complete successfully, you can run the command a second time, during which the tasks that successfully run will be skipped. For details, refer to Section Troubleshooting Ansible Installation.