[RFE] Add interface attach API
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
Wishlist
|
Vasyl Saienko |
Bug Description
We are adding pluggable network interfaces to Ironic, these interfaces will be configurable per Ironic node, this means that different nodes might have different ways of handling their network interfaces.
Currently we use an Ironic port update to assign neutron ports to Ironic ports using their extra field, doing the mapping this way may not work for a third party network interface implementation. This also ties the ironic nova virt driver to a particular network interface mapping implementation.
To solve this problem I propose to add 2 two new API endpoints interface-attach and interface-detach:
POST v1/nodes/
POST v1/nodes/
These API end points will take via a POST body, a JSON representation of a generic VIF object. Making it generic allows for non-neutron based implementations to use this API. This VIF object will be passed to new functions in the pluggable network interfaces:
def interface-
...
def interface-
...
The network interface can use these functions to handle attaching the vif to the Ironic node in which ever way it needs to for its implementation, this may be adding a field to the Ironic port as with the existing implementation, or it might be different.
The ironic nova virt driver will be updated to use this new API in the plug_vifs and unplug_vifs functions, unbinding it from the underlying implementation details.
description: | updated |
tags: | added: needs-spec |
tags: |
added: rfe-approved removed: needs-spec rfe |
Changed in ironic: | |
assignee: | Sam Betts (sambetts) → Vasyl Saienko (vsaienko) |
Changed in ironic: | |
assignee: | Vasyl Saienko (vsaienko) → Sam Betts (sambetts) |
Changed in ironic: | |
assignee: | Sam Betts (sambetts) → Vasyl Saienko (vsaienko) |
Changed in ironic: | |
assignee: | Vasyl Saienko (vsaienko) → Vladyslav Drok (vdrok) |
Changed in ironic: | |
assignee: | Vladyslav Drok (vdrok) → Vasyl Saienko (vsaienko) |
+1