Issues running the examples of client-python bindings

10 views
Skip to first unread message

Miguel Figueiredo Nunes

unread,
Jul 9, 2025, 1:56:49 PMJul 9
to kubevirt-dev
Hello!

I'm trying to get myself more familiar with the python bindings, but I'm stuck when running the example offered in the repo:

The error it's quite long, so I'll only post the most relevant part. If necessary, I can provide the whole stack:

{'api_version': 'kubevirt.io/v1',
 'items': [],
 'kind': 'VirtualMachineList',
 'metadata': {'_continue': '',
              'remaining_item_count': None,
              'resource_version': '37005',
              'self_link': None}}
Traceback (most recent call last):
  File "/home/miguelnunes/projects/personal/kubevirt/client-python/examples/example_vms.py", line 63, in <module>
    main()
    ~~~~^^
  File "/home/miguelnunes/projects/personal/kubevirt/client-python/examples/example_vms.py", line 27, in main
    pprint(api.list_namespaced_virtual_machine_instance(NAMESPACE))
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/apis/default_api.py", line 8803, in list_namespaced_virtual_machine_instance
    (data) = self.list_namespaced_virtual_machine_instance_with_http_info(namespace, **kwargs)
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/apis/default_api.py", line 8890, in list_namespaced_virtual_machine_instance_with_http_info
    return self.api_client.call_api('/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstances', 'GET',
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    path_params,
                                    ^^^^^^^^^^^^
    ...<10 lines>...
                                    _request_timeout=params.get('_request_timeout'),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    collection_formats=collection_formats)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 322, in call_api
    return self.__call_api(resource_path, method,
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
                           path_params, query_params, header_params,
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                           body, post_params, files,
                           ^^^^^^^^^^^^^^^^^^^^^^^^^
                           response_type, auth_settings, callback,
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                           _return_http_data_only, collection_formats, _preload_content, _request_timeout)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 161, in __call_api
    return_data = self.deserialize(response_data, response_type)
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 239, in deserialize
    return self.__deserialize(data, response_type)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 279, in __deserialize
    return self.__deserialize_model(data, klass)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 629, in __deserialize_model
    kwargs[attr] = self.__deserialize(value, attr_type)
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 256, in __deserialize
    return [self.__deserialize(sub_data, sub_kls)
            ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 279, in __deserialize
    return self.__deserialize_model(data, klass)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 629, in __deserialize_model
    kwargs[attr] = self.__deserialize(value, attr_type)
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 279, in __deserialize
    return self.__deserialize_model(data, klass)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 629, in __deserialize_model
    kwargs[attr] = self.__deserialize(value, attr_type)
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 279, in __deserialize
    return self.__deserialize_model(data, klass)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 629, in __deserialize_model
    kwargs[attr] = self.__deserialize(value, attr_type)
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 279, in __deserialize
    return self.__deserialize_model(data, klass)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 629, in __deserialize_model
    kwargs[attr] = self.__deserialize(value, attr_type)
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/home/miguelnunes/projects/personal/kubevirt/.venv/lib64/python3.13/site-packages/kubevirt/api_client.py", line 268, in __deserialize
    klass = getattr(models, klass)
AttributeError: module 'kubevirt.models' has no attribute 'K8sIoApimachineryPkgApiResourceQuantity'

I couldn't see this attribute in the docs or mentioned anywhere else. What I could be missing here?

Any help appreciated!

Best,

--
Miguel Nunes

Andrew Burden

unread,
Aug 8, 2025, 11:37:29 AMAug 8
to kubevirt-dev

Hi Miguel,

I can't help with the specific issue but we had previously identified this repo as largely unmaintained. We put a call out for maintainers but only one person was interested IIRC and the conversation stalled. 
It likely should have been archived but looks it escaped our process due to it's automatic updates by KubeVirt bot. I'll look at fixing that next week so as to prevent others running into issues. Apologies for any wasted time on this. 

From the previous thread I believe there was a suggestion that you could use the following wrapper, which is maintained by Red Hat for their OpenShift QE: https://github.com/RedHatQE/openshift-python-wrapper/
I believe it should be compatible with KubeVirt. Maybe someone else knows of another option?

Thanks,
Andrew

miguelfig...@gmail.com

unread,
Aug 8, 2025, 1:08:32 PMAug 8
to Andrew Burden, kubevirt-dev
Hi Andrew,

Thanks for the explanation and suggestions.

I gave a quick peek at the example code and seems quite straightforward.

Thanks for the help!

Best,

--
Miguel Nunes
--
You received this message because you are subscribed to the Google Groups "kubevirt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubevirt-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kubevirt-dev/984e6cf3-c840-4966-8e87-36972aa5c67cn%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages