This moves the specs that were completed in Ocata from the 'approved' directory to the 'implemented' directory and updates the redirects file. This also fixes a bug in the move-implemented-specs script such that we filter out completed blueprints which are not implemented, which was the case with blueprint cold-migration-with-target-ocata which was superseded. Change-Id: I476e2e2d4bb089d901b887ce7728fc29c35a0957
3.2 KiB
Ironic virt driver: static portgroups support
https://blueprints.launchpad.net/nova/+spec/ironic-portgroups-support
To allow the utilization of NIC aggregation when instance is spawned on hardware server. Bonded NICs should be picked with higher preference than single NICs. It will allow user to increase performance or provide higher reliability of network connection.
Problem description
To guarantee high reliability/increase performance of network connection to an instance when it is spawned on a hardware server, link aggregation should be used.
Use Cases
The operators want to use different bonding strategies to increase reliability or performance of network connection to instance.
Proposed change
Nova will call into ironic to get the list of ports of each portgroup that has a VIF associated with it along with portgroup parameters, and update network metadata with the needed information.
- Bump the ironic API version to get ironic support for portgroups.
- Generate network metadata in ironic virt driver and add all the additional info there (such as bond mode, transmit hash policy, MII link monitoring interval, and of which links the bond consists). Pass it into InstanceMetadata that will be used afterwards to generate the config drive.
Alternatives
- Always use single NICs, do not care about bonding.
Data model impact
None
REST API impact
None
Security impact
None
Notifications impact
None
Other end user impact
None
Performance Impact
Instance network performance or reliability is increased, depending on bonding model that is used.
Other deployer impact
None
Developer impact
None
Implementation
Assignee(s)
- Primary assignee:
-
<vsaienko>
- Other contributors:
-
<vdrok>
Work Items
- Bump the ironic client API version to give us something that can use portgroups.
- Generate network metadata in ironic virt driver and add all the additional info there (such as bond mode, transmit hash policy, MII link monitoring interval, and of which links the bond consists). Pass it into InstanceMetadata that will be used afterwards to generate the config drive.
Dependencies
Testing
Add bonding module to cirros. The ironic team has manually tested a cirros image re-built with bonding modules enabled, and it works as expected. Update ironic CI to use portgroups to test them.
Documentation Impact
None
References
None