[RFE] Change VIF list endpoint to output additional information

Bug #1657170 reported by Vladyslav Drok
This bug affects 1 person
Affects Status Importance Assigned to Milestone
In Progress
Vasyl Saienko

Bug Description

Right now, vif_list only returns a list of ids, while it would be useful to also return object type (port or portgroup), uuid, mode and properties in case of portgroup, address etc. This could be used to fully abstract the attach/detach process, as one would be able to determine the object VIF is attached to without looping through all port-like objects and looking at extra/internal_info/whatever.

Also it would be good to have ability to specify interface_type when request vif_attach to allow user strictly define to what object port or portgroup attach vif to.

Tags: needs-spec rfe
Vladyslav Drok (vdrok)
tags: added: rfe
Vasyl Saienko (vsaienko)
description: updated
Changed in ironic:
assignee: nobody → Vasyl Saienko (vsaienko)
Dmitry Tantsur (divius)
Changed in ironic:
status: New → Confirmed
importance: Undecided → Wishlist
Changed in ironic:
status: Confirmed → In Progress
Revision history for this message
Sam Betts (sambetts) wrote :

Vifs aren't attached to ports or portgroups they are attached to nodes, attaching them to ports/portgroups is a implementation detail of the neutron/flat network interfaces.

In some scenarios/on certain hardware a node doesn't have any ports/portgroups until the network interface attaches the networks as they are created on the BMC based on the VIFs attached, or in certain implementations a physical port in Ironic might have multiple vifs attached to it to represent a virtual interface card.

Both these situations break the assumption that one VIF attaches to one Port or Portgroup, so assuming this in the API will reduce the flexibility designed into the API to begin with.

Revision history for this message
Ruby Loo (rloo) wrote :

We discussed this in today's ironic meeting [1] and it needs a spec. The API changes need to be described and it should be generalized so it doesn't make assumptions about the network interface being used.

We also have to remove assumptions from nova's virt-ironic driver [2] :-(

[1] http://eavesdrop.openstack.org/meetings/ironic/2017/ironic.2017-12-04-17.00.log.html#l-275
[2] https://github.com/openstack/nova/blob/878c44f0cff4f11b2a01e60019d79ccf5e5d707a/nova/virt/ironic/driver.py#L901-L904

tags: added: needs-spec
Revision history for this message
Vasyl Saienko (vsaienko) wrote :

> The assumption 'in certain implementations a physical port in Ironic might have multiple vifs attached to it to represent a virtual interface card' is not applicable to current ironic port logic as port has only one mac address while virtual ports should have different macs, otherwise you will not able to plug them to the same network.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.