Enrich integration with ironic networking features
Networking in Ironic, and in neutron, has made some advances. With support for routed networks and physical network awareness triplo-common's mechanism to register nodes should be updated to enable integration with these features.
The proposed change is to the node element in node_json.
The "mac" array should be deprecated, replaced with a "ports" array containing a list of dicts holding a richer data set matching the properties of ports in the Bare Metal service api.
New additonal data is physical_network and local_link_
The mac key is replaced by address to match the Bare Metal service api.
address: (mandatory)
Replaces mac, holds the physical address of the port.
physical_network: (mandatory)
This maps to the physical_network attribuite of baremetal ports.
This is required for physical network awareness in the Bare Metal service, e.g routed networks.
local_link_
This maps to local_link_
This enables automatic configuration of switches via neutron plug-ins. e.g ML2 vendor plugins.
Example:
{
"nodes": [
{
}
],
"name": "foo-node-01"
}
]
}
Implementation is fairly straightforward in tripleo-common, something like below + updating validations and new tests.
Pseudo code: tripleo_
if node.get("ports", []):
for port in ports:
else:
for mac in node.get("mac", []):
Blueprint information
- Status:
- Complete
- Approver:
- Alex Schultz
- Priority:
- Medium
- Drafter:
- Harald Jensås
- Direction:
- Approved
- Assignee:
- Harald Jensås
- Definition:
- Approved
- Series goal:
- Accepted for rocky
- Implementation:
-
Implemented
- Milestone target:
-
rocky-2
- Started by
- Harald Jensås
- Completed by
- Emilien Macchi
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Enrich integration with ironic networking features
Addressed by: https:/
Docs: Enrich integration with ironic networking features