How are DHIS2 patch versions managed with dhis2-server-tools?

Hi everyone,

I’m trying to understand how DHIS2 patch versions are managed with dhis2-server-tools.

The running instances in our server report the following versions in the DHIS2 UI:

  • Viva: 2.41.9
  • App: 2.41.8.2

However, the Ansible inventory only specifies the 2.41 release line:

[instances]

dhis ansible_host=172.x.x.11 database_host=postgres dhis2_version=2.40 proxy_rewrite=True

viva ansible_host=172.x.x.12 database_host=postgres dhis2_version=2.41 proxy_rewrite=True

app ansible_host=172.x.x.13 database_host=postgres dhis2_version=2.41 proxy_rewrite=True

treino ansible_host=172.x.x.14 database_host=postgres dhis2_version=2.41 proxy_rewrite=True

[instances:vars]

database_host=postgres

create_db=yes

JAVA_VERSION=17

dhis2_version=2.41

dhis2_auto_upgrade=false

unattended_upgrades=yes

There is no explicit 2.41.9 or 2.41.8.2 in the inventory.

My questions are:

  1. How were the patch versions 2.41.9 and 2.41.8.2 applied to these instances?
  2. Does dhis2-server-tools resolve the latest available patch version automatically from dhis2_version=2.41, or is there another configuration file/variable that controls the patch level?
  3. Is there a separate upgrade/deployment mechanism that can update the running DHIS2 version without changing the inventory?
  4. Given that dhis2_auto_upgrade=false, what mechanism would explain the instances running different patch versions while the inventory still specifies only dhis2_version=2.41?

I’m trying to understand the relationship between the version declared in the inventory (2.41) and the actual patch version installed on each DHIS2 instance.

Thanks in advance!