-
Problem report
-
Resolution: Unresolved
-
Trivial
-
None
-
6.0.40
Steps to reproduce:
- Install openshift virtualization
- Install zabbix operator (version 6.0.38)
- Try to deploy zabbix instance (tried with full and server)
Result:
Nothing happens, in the operator manager log I have
TASK [zabbixfull : (MySQL) - Ensure configured MySQL deployment exists] ******** task path: /opt/ansible/roles/zabbixfull/tasks/main.yml:21 fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/opt/ansible/.ansible/tmp/ansible-tmp-1741613484.1256464-2466-118087256328451/AnsiballZ_k8s_info.py\", line 102, in <module>\n _ansiballz_main()\n File \"/opt/ansible/.ansible/tmp/ansible-tmp-1741613484.1256464-2466-118087256328451/AnsiballZ_k8s_info.py\", line 94, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/opt/ansible/.ansible/tmp/ansible-tmp-1741613484.1256464-2466-118087256328451/AnsiballZ_k8s_info.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible_collections.kubernetes.core.plugins.modules.k8s_info', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n mod_name, mod_spec, pkg_name, script_name)\n File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/modules/k8s_info.py\", line 202, in <module>\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/modules/k8s_info.py\", line 198, in main\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/modules/k8s_info.py\", line 166, in execute_module\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/module_utils/common.py\", line 250, in kubernetes_facts\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/module_utils/common.py\", line 239, in find_resource\n File \"/tmp/ansible_k8s_info_payAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: ValueError: too many values to unpack (expected 2) fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/opt/ansible/.ansible/tmp/ansible-tmp-1741613484.1256464-2466-118087256328451/AnsiballZ_k8s_info.py\", line 102, in <module>\n _ansiballz_main()\n File \"/opt/ansible/.ansible/tmp/ansible-tmp-1741613484.1256464-2466-118087256328451/AnsiballZ_k8s_info.py\", line 94, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/opt/ansible/.ansible/tmp/ansible-tmp-1741613484.1256464-2466-118087256328451/AnsiballZ_k8s_info.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible_collections.kubernetes.core.plugins.modules.k8s_info', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n mod_name, mod_spec, pkg_name, script_name)\n File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/modules/k8s_info.py\", line 202, in <module>\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/modules/k8s_info.py\", line 198, in main\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/modules/k8s_info.py\", line 166, in execute_module\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/module_utils/common.py\", line 250, in kubernetes_facts\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/module_utils/common.py\", line 239, in find_resource\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/module_utils/client/discovery.py\", line 140, in get\n File \"/usr/lib/python3.6/site-packages/kubernetes/dynamic/discovery.py\", line 242, in search\n results = self.__search(self.__build_search(**kwargs), self.__resources, [])\n File \"/usr/lib/python3.6/site-packages/kubernetes/dynamic/discovery.py\", line 290, in __search\n matches.extend(self.__search([key] + parts[1:], resources, reqParams))\n File \"/usr/lib/python3.6/site-packages/kubernetes/dynamic/discovery.py\", line 276, in __search\n return self.__search(parts[1:], resourcePart, reqParams + [part] )\n File \"/usr/lib/python3.6/site-packages/kubernetes/dynamic/discovery.py\", line 290, in __search\n matches.extend(self.__search([key] + parts[1:], resources, reqParams))\n File \"/usr/lib/python3.6/site-packages/kubernetes/dynamic/discovery.py\", line 276, in __search\n return self.__search(parts[1:], resourcePart, reqParams + [part] )\n File \"/usr/lib/python3.6/site-packages/kubernetes/dynamic/discovery.py\", line 266, in __search\n prefix, group, part, resourcePart.preferred)\n File \"/tmp/ansible_k8s_info_payload_mb08uhny/ansible_k8s_info_payload.zip/ansible_collections/kubernetes/core/plugins/module_utils/client/discovery.py\", line 104, in get_resources_for_api_version\nValueError: too many values to unpack (expected 2)\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
Expected:
Instance successfully deployedµ
After some investigation I think I found with it's going on.
The manager is using an old release of ansible (2.9) and collection which include old python module for kubernetes.
On the cluster OCPv installation include some ressources and sub-ressources which are named with a multiple / pattern. In the old kubernetes module, if a name with more than 1 / is found, that generate this error (too manue value to unpack).
To fix that, you need to update the k8s collection or at least the pip module version in the image. (of course the best could be to migrate to a more recent version of ansible).
Thanks for your help