Use physical network interfaces in fuel-devops for connecting to baremetal servers
To allow running baremetal and hybrid environments, libvirt virtual networks should be able to use already created network devices on the host server, that configured to provide connectivity to baremetal nodes.
Tagged environment networks should be accessible on the host with fuel-devops.
Libvirt supports different 'forward' modes, so it should be supported in XML builder, templates, and template validator.
Baremetal networks should be supported for the following configurations:
1. Untagged 'admin/PXE' and tagged 'public', 'management', 'storage', 'private' are configured to use the same L2 network that is connected to a network interface on the host server where fuel-devops is running. The host server is the gateway for 'admin' and 'public' networks to provide access the Internet.
2. Untagged 'admin/PXE' and tagged 'public', 'management', 'storage', 'private' are configured to use the same L2 network that is connected to a network interface on the host where fuel-devops is running. The host server is only connected to an L2 network, while gateways for 'admin' and 'private' networks are configured somewhere on a baremetal router.
3. All networks are configured to use different L2 networks that are connected to different network interfaces on the host server where fuel-devops is running. The host server is the gateway for 'admin' and 'public' networks to provide access the Internet.
4. All networks are configured to use different L2 networks that are connected to different network interfaces on the host server where fuel-devops is running. The host server is only connected to L2 networks, while gateways for 'admin' and 'private' networks are configured somewhere on a baremetal router.
5. Mixed, when some OpenStack networks are on the same L2 network, some - on other L2 network, that are connected to the host server with fuel-devops. At least 'admin', 'public' and 'management' networks should be avalable from the host server.
As the solution, there can be used libvirt networks with the following flow:
1) Create l2_network_device for each OpenStack network that should be used on the host server, using libvirt fuel-devops driver. If necessary, a separate group for the libvirt driver should be configured , even if no VMs used for the test.
2) Add necessary physical network interfaces of the host server to necessary l2_network_device (these interface names are expected to be provided with YAML templates)
3) Create necessary tagged interfaces for specified libvirt l2_network_devices
4) Add created tagged interfaces to appropriate l2_network_devices, so the tagged packets from one l2_network_devices come as untagged packets to another l2_network_device.
Blueprint information
- Status:
- Complete
- Approver:
- Nastya Urlapova
- Priority:
- Undefined
- Drafter:
- Dennis Dmitriev
- Direction:
- Needs approval
- Assignee:
- Dennis Dmitriev
- Definition:
- New
- Series goal:
- None
- Implementation:
-
Implemented
- Milestone target:
-
9.0
- Started by
- Dennis Dmitriev
- Completed by
- Dennis Dmitriev
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Use physical network interfaces in fuel-devops
Gerrit topic: https:/
Addressed by: https:/
Use physical host interfaces to connect virtual and baremetal networks
Work Items
Dependency tree

* Blueprints in grey have been implemented.