Bonding of NICs

Registered by Mike Scherbakov

Here: https://blueprints.launchpad.net/fuel/+spec/doc-nic-bonding-via-api we have documentation on how to enable bonding from Fuel CLI. We need full support of bonding from the UI.

Blueprint information

Status:
Complete
Approver:
Dmitry Pyzhov
Priority:
High
Drafter:
Andrey Danin
Direction:
Approved
Assignee:
Andrey Danin
Definition:
Approved
Series goal:
Accepted for 4.1.x
Implementation:
Implemented
Milestone target:
milestone icon 4.1
Started by
Dmitry Pyzhov
Completed by
Andrey Danin

Related branches

Sprints

Whiteboard

UI prototype
(Alpha ver.) https://drive.google.com/file/d/0B2iuEqmr4C0ub3JCZWd1THNHVDg/edit?usp=sharing
(Beta ver.) https://drive.google.com/file/d/0Bw6txZ1qvn9CaDdJS0ZUcW1DeDg/edit?usp=sharing

The issue we were faced with:
https://etherpad.openstack.org/p/LACP_issue

Main design doc is here https://etherpad.openstack.org/p/fuel-bonding-design
Here are the open questions form the design doc:
  * Do we want to support bonding in NovaNetwork deployment?
     - [A]: No.
  * Can the L23network module provide a custom MAC address to the bonded interface?
    - [A]: It can but we don't need it so.
  * Should a user be able to change the bond name via WebUI?
    - [A]: Yes, but this is an optional feature. Anyway a user can fix a name via CLI.
  * Let's discuss bond interface statuses.
    - [A]: Let postpone it to the next release.
  * We need to describe a step-by-step UX of the WebUI.
  * Does the current REST API fit to our needs or it should be extended?
    - [A]: It does mostly. No new handlers is needed.
  * Lets discuss what types of network check we want to support.
    - [A]: Neither of topology checks. Just basic validation of slave-interfaces and assigned networks.

Gerrit topic: https://review.openstack.org/#q,topic:bp/nics-bonding-enabled-from-ui,n,z

Addressed by: https://review.openstack.org/71290
    Add NIC bonding support in Nailgun

Addressed by: https://review.openstack.org/73354
    Added validation for NICs bonding

(?)

Work Items

Work items:
Use custom MACs for OVS ports and Linux bridges (Serge Vasilenko): DONE
Add a bond management to the UI (Vitaliy Kramskikh): DONE
Add a bond support to Nailgun (Andrey Danin): DONE
Extend a validation of data on the Nailgun side (Aleksey Kasatkin): INPROGRESS
Check an efficiency of avalible bond modes on a hardware cluster: TODO
Allow to bond interfaces via CLI: TODO
Add a documentation about bonding: TODO
Final tests and polishing: POSTPONED

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.