Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-38116

Ansible Operator is broken when OpenShift Virtualization is installed

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.17.0
    • Operator SDK
    • None
    • None
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

         There is a bug in python3-openshift that installing OpenShift Virtualization / Kubevirt exposes. This requires a small fix that the current available/installed package (python3-openshift-0.12.1-1.el8.noarch) does not contain.
      
      https://github.com/openshift/openshift-restclient-python/pull/438
      
      

      Version-Release number of selected component (if applicable):

          OpenShift 4.16

      How reproducible:

          Always

      Steps to Reproduce:

          1. Install OpenShift Virtualization
          2. Try to use an ansible operator
          

      Actual results:

      An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ValueError: too many values to unpack (expected 2)\u001b[0m\r\n\u001b[0;31mfatal: [localhost]: FAILED! => {\"changed\": false, \"module_stderr\": \"Traceback (most recent call last):\\n  File \\\"/opt/ansible/.ansible/tmp/ansible-tmp-1723048120.5446734-7264-89489744366246/AnsiballZ_k8s.py\\\", line 102, in <module>\\n    _ansiballz_main()\\n  File \\\"/opt/ansible/.ansible/tmp/ansible-tmp-1723048120.5446734-7264-89489744366246/AnsiballZ_k8s.py\\\", line 94, in _ansiballz_main\\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\\n  File \\\"/opt/ansible/.ansible/tmp/ansible-tmp-1723048120.5446734-7264-89489744366246/AnsiballZ_k8s.py\\\", line 40, in invoke_module\\n    runpy.run_module(mod_name='ansible.modules.clustering.k8s.k8s', 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_payload_jtvohmre/ansible_k8s_payload.zip/ansible/modules/clustering/k8s/k8s.py\\\", line 281, in <module>\\n  File \\\"/tmp/ansible_k8s_payload_jtvohmre/ansible_k8s_payload.zip/ansible/modules/clustering/k8s/k8s.py\\\", line 277, in main\\n  File \\\"/tmp/ansible_k8s_payload_jtvohmre/ansible_k8s_payload.zip/ansible/module_utils/k8s/raw.py\\\", line 181, in execute_module\\n  File \\\"/tmp/ansible_k8s_payload_jtvohmre/ansible_k8s_payload.zip/ansible/module_utils/k8s/common.py\\\", line 210, in find_resource\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 230, in get\\n    results = self.search(**kwargs)\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 275, in search\\n    results = self.__search(self.__build_search(**kwargs), self.__resources, [])\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 317, in __search\\n    matches.extend(self.__search([key] + parts[1:], resources, reqParams))\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 303, in __search\\n    return self.__search(parts[1:], resourcePart, reqParams + [part] )\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 317, in __search\\n    matches.extend(self.__search([key] + parts[1:], resources, reqParams))\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 303, in __search\\n    return self.__search(parts[1:], resourcePart, reqParams + [part] )\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 296, in __search\\n    group, part, resourcePart.preferred)\\n  File \\\"/usr/lib/python3.6/site-packages/openshift/dynamic/discovery.py\\\", line 193, in get_resources_for_api_version\\n    resource, name = subresource['name'].split('/')\\nValueError: too many values to unpack (expected 2)\\n\", \"module_stdout\": \"\", \"msg\": \"MODULE FAILURE\\nSee stdout/stderr for the exact error\", \"rc\": 1}\u001b[0m\n\r\nPLAY RECAP *********************************************************************\r\n\u001b[0;31mlocalhost\u001b[0m                  : \u001b[0;32mok=1   \u001b[0m changed=0    unreachable=0    \u001b[0;31mfailed=1   \u001b[0m skipped=0    rescued=0    ignored=0   \r\n\n","job":"7602616962496266134","name":"migration-controller","namespace":"openshift-migration","error":"exit status 2","stacktrace":"github.com/operator-framework/operator-sdk/internal/ansible/runner.(*runner).Run.func1\n\toperator-sdk/internal/ansible/runner/runner.go:269"}
          

      Expected results:

          The operator works

      Additional info:

          

            rh-ee-cchantse Catherine Chan-Tse
            rhn-engineering-jmontleo Jason Montleon
            Jia Fan Jia Fan
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: