Tenant networking support for Ironic driver
This blueprint covers changes needed for tenant network support for Ironic.
Currently, Ironic only works on a flat network shared between control plane and tenants. There's an ongoing effort to allow for arbitrary networks to be connected to Ironic nodes in various configurations:
https:/
https:/
There are changes that need to be made to Nova to support this. Specifically:
* The port-create calls to Neutron need to be made with a null binding:host_id. This signals to Neutron that it shouldn't bind the port yet. To keep the provisioning process away from the tenant network, we need to wait for the deployment to complete before binding the port, which only Ironic can control. After completing the deployment, Ironic will make a port-update call with: 1) a binding:host_id value of "baremetal:
* The ironic driver will need updates to be able to handle Ironic's "port groups" as well as "ports". A port group is a single logical connection comprised of multiple physical NICs; used in LAG and MLAG configurations.
* A BAREMETAL vnic type will be added to support the BAREMETAL vnic type that was previously added in Neutron.
This will support the basic tenant networking support we've built out in Ironic; some thought should be put into the future of this integration. For example, in the future we'll want to support multiple networks via VLAN or VXLAN over a pair of bonded NICs (currently Nova enforces a 1:1 mapping of NICs to networks, as in the virtual world NICs can be created on the fly).
Blueprint information
- Status:
- Complete
- Approver:
- John Garbutt
- Priority:
- Medium
- Drafter:
- Jim Rollenhagen
- Direction:
- Approved
- Assignee:
- Jim Rollenhagen
- Definition:
- Approved
- Series goal:
- Accepted for newton
- Implementation:
- Implemented
- Milestone target:
- newton-3
- Started by
- Matt Riedemann
- Completed by
- Matt Riedemann
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Tenant networking support for Ironic driver.
Addressed by: https:/
Adding a new vnic_type for Ironic/Neutron/Nova integration
Gerrit topic: https:/
Addressed by: https:/
Allow virt driver to define binding:host_id
Addressed by: https:/
Update ironic virt driver to use portgroups
This was really incomplete for mitaka, I don't think we should probably consider this partially complete since the functionality isn't there. It would seem odd to have a new newton blueprint for it unless the spec is going to be re-proposed. -- mriedem 20160322
Addressed by: https:/
Re-propose ironic-
Addressed by: https:/
Ironic: change flat network provider to 'flat'
The nova changes are dependent on python-ironicclient changes that are stalled since May, so it looks like this is dead for Newton (our non-priority feature freeze is 6/30) so I'm going to defer this from Newton. -- mriedem 20160629
Per: http://
Gerrit topic: https:/