Support SRIOV bond

Registered by Yan Songming

Now sriov don't have the function of bond. In NFV, we need to add a bond port using sriov. Using two sriov nics as a bond port. But in logic, it's just one port. When create a vm with the bond logic port, we use two sriov vfs in two different pfs.

https://etherpad.openstack.org/p/sriov-bond

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Yan Songming
Direction:
Needs approval
Assignee:
Hongbin Lu
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(luogangyi): This is really useful in our NFV scenario. But I have some questions about the implementation details.
You said 'deliver the bond mode to the Guest through metadata' but you use configuration in compute node to distinguish whether the VM need bond. Since we have to pass information to metadata when we boot the VM and we cannot know bond information before VM scheduled to compute node, it seems impossible to use metadata to deliver bond information.
Can you explain more?

Yes that is a problem about bond in guest OS.
But in fact which computer node is use for bond and which type of bond they use should be fixed at the beginning of the cloud planing. Host aggregate should be used to let different VM which have bond request or not in different host aggregate. So when boot
VM in certain host aggregate, bond info is fixed. So when boot vm we should know the host aggregate and the bond info.

(mriedem 20170505) How does this compare to the proposal set forth in this spec? https://review.openstack.org/#/c/182242/ Please provide comments in that spec if it solves your use case and if not, what is missing? There was also some related prior attempts here: https://review.openstack.org/#/c/213644/

Generally https://review.openstack.org/#/c/182242/ have the same purpose as we are, but we don't think this bp consider the sriov in VXLAN or sdn network environment. So we propose another way.

 https://review.openstack.org/#/c/213644/ is totally a different thing, it is about vlan -trunk, not sriov-bond.

Addressed by: https://review.openstack.org/463526
    Sriov bond spec

Gerrit topic: https://review.openstack.org/#q,topic:bp/sriov-bond,n,z

Addressed by: https://review.openstack.org/612500
    Sriov-bond

Addressed by: https://review.openstack.org/626055
    [WIP] Support scheduling VM's NICs to different PFs

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.