python-libmaas icon indicating copy to clipboard operation
python-libmaas copied to clipboard

origin.Machine.get_details fails due to bson decoding

Open maruthisi opened this issue 6 years ago • 0 comments

The following code fails to work.

Package versions: maas 2.6 and python3-libmaas 0.6.4-0ubuntu1~18.04.1. python3-bson 3.6.1+dfsg1-1

maas_client = client.connect(SERVER, apikey=API_KEY)
mach_list = maas_client.machines.list()
for idx, mach in enumerate(mach_list):
   print(mach.get_details())

Issue: There is no decode_all function in bson.

Traceback (most recent call last):
  File "src/util/classify_utilization.py", line 54, in <module>
    print(mach.get_details())
  File "/usr/lib/python3/dist-packages/maas/client/utils/maas_async.py", line 49, in wrapper
    result = eventloop.run_until_complete(result)
  File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete
    return future.result()
  File "/usr/lib/python3/dist-packages/maas/client/viscera/machines.py", line 608, in get_details
    return bson.decode_all(data)[0]
AttributeError: module 'bson' has no attribute 'decode_all'

maruthisi avatar Aug 21 '19 10:08 maruthisi