canonical / canonical/python-libmaas

Please support creating openvswitch bridges

Open
#295 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
65
Forks
71
PR merge metrics
No merged PRs in 30d

Description

From the MaaS UI, we can create openvswitch bridges. However, we can not from python-libmaas.

I am using python-libmaas from master of this git repo, dated 2023-10-23, commit `fec3b5023f9d618ba61e9d9108a345300216d8c3`.

Example:

```
>>> machine.interfaces.create(maas.client.enum.InterfaceType.BRIDGE, name='br0', parent=interface, bridge_type='ovs')
Traceback (most recent call last):
File "", line 1, in
File "/Users/nu/venvs/maas-api/lib/python3.11/site-packages/maas/client/utils/maas_async.py", line 43, in wrapper
result = eventloop.run_until_complete(result)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/Users/nu/venvs/maas-api/lib/python3.11/site-packages/maas/client/viscera/__init__.py", line 498, in _create
new_obj = await super_cls.create(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nu/venvs/maas-api/lib/python3.11/site-packages/maas/client/utils/maas_async.py", line 40, in wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
TypeError: InterfacesType.create() got an unexpected keyword argument 'bridge_type'
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the machine.interfaces.create entry point and InterfacesType.create named in the traceback; trace how interface-creation arguments are handled and compare the supported bridge options. Done means the example call accepts bridge_type='ovs' without the reported TypeError and can create an Open vSwitch bridge.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, networking
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.