In order to compare version numbers, the univention.ucs_modules.univention_app performs some kind of sanitation to get the human readable version numbers of Univention Apps into something machine readable:
This version number gets sanitized to 5.0..3, which then gets split into ['5', '0', '', '3'] and each item cast to an int. This fails at the empty string:
Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-tmp-1689780655.570871-2321566-4997488254274/AnsiballZ_univention_app.py", line 107, in <module>
_ansiballz_main()
File "/root/.ansible/tmp/ansible-tmp-1689780655.570871-2321566-4997488254274/AnsiballZ_univention_app.py", line 99, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/root/.ansible/tmp/ansible-tmp-1689780655.570871-2321566-4997488254274/AnsiballZ_univention_app.py", line 48, in invoke_module
run_name='__main__', alter_sys=True)
File "/usr/lib/python3.7/runpy.py", line 205, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib/python3.7/runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/tmp/ansible_univention.ucs_modules.univention_app_payload_lyn9mkzw/ansible_univention.ucs_modules.univention_app_payload.zip/ansible_collections/univention/ucs_modules/plugins/modules/univention_app.py", line 568, in <module>
File "/tmp/ansible_univention.ucs_modules.univention_app_payload_lyn9mkzw/ansible_univention.ucs_modules.univention_app_payload.zip/ansible_collections/univention/ucs_modules/plugins/modules/univention_app.py", line 420, in main
File "/tmp/ansible_univention.ucs_modules.univention_app_payload_lyn9mkzw/ansible_univention.ucs_modules.univention_app_payload.zip/ansible_collections/univention/ucs_modules/plugins/modules/univention_app.py", line 220, in check_target_app_version
File "/tmp/ansible_univention.ucs_modules.univention_app_payload_lyn9mkzw/ansible_univention.ucs_modules.univention_app_payload.zip/ansible_collections/univention/ucs_modules/plugins/modules/univention_app.py", line 208, in get_and_sort_versions
File "/tmp/ansible_univention.ucs_modules.univention_app_payload_lyn9mkzw/ansible_univention.ucs_modules.univention_app_payload.zip/ansible_collections/univention/ucs_modules/plugins/modules/univention_app.py", line 208, in <lambda>
ValueError: invalid literal for int() with base 10: ''
In order to compare version numbers, the
univention.ucs_modules.univention_app
performs some kind of sanitation to get the human readable version numbers of Univention Apps into something machine readable:https://github.com/univention/ansible-modules/blob/f7cd078c14f0e515324d889c7efa9dfe760d8f71/plugins/modules/univention_app.py#L206-L208
However, this fails for the current release of UCS@school:
This version number gets sanitized to
5.0..3
, which then gets split into['5', '0', '', '3']
and each item cast to anint
. This fails at the empty string: