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#
-
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.
-
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.comstring with the actual FQDN of the Node on which Chats is installed, then proceed to Section Run the Upgrade below.
Carbonio was Manually Installed#
The infrastructure has no Chats Component installed. You need to compile the inventory file, then you can proceed to Section Run the Upgrade below.
-
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.comstring with the actual FQDN of the Node on which Chats is installed, then proceed to Section Run the Upgrade below.
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.
inventory_postgrespasswordmust contain the password of PostgreSQL administrative user, calledDB_ADMin the documentation.-
inventory_ldap_passwordmust contain the password that you can retrieve with the command, executed as thezextrasuser on the node featuring the Mesh & Directory Componentzextras$ zmlocalconfig -s | grep ldap_password" inventory_consulpasswordmust contain the password stored in file/var/lib/service-discover/password-
inventory_videoserver_passwordmust contain the password used by the Carbonio VideoServer, that you can retrieve with the command, executed as therootuser 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.