Overview
The Fabric Services System integrates with OpenStack to provide fabric level application networks for OpenStack Virtual Machines. The Connect integration leverages the OpenStack Neutron architecture to support managing the fabric directly from OpenStack and make the fabric dynamically respond to the networking needs of the application.
It provides the following advantages and capabilities:
- Direct integration into the network management workflow of OpenStack.
- The use of the common ML2 Plugins used by Enterprise applications and VNFs like OVS, OVS-DPDK and SR-IOV.
- Automatic provisioning of the fabric based on where the Virtual Machines need the connectivity.
- Support advanced workflows through the Fabric Service System Managed solution. Including for VNF use cases with features like QoS, ACLs, BGP PE-CE, ...
- Interconnectivity between different cloud environments, allowing for flexible network configurations.
Architecture
The Fabric Services System introduces a few new components in an OpenStack environment to allow the management of the SR Linux based fabric through OpenStack. Below is an overview of these components.
![](graphics/openstack_architecture.png)
The Connect ML2 Plugin
The Connect ML2 Plugin is the heart of the integration between OpenStack and the Fabric Services System. This plugin integrates with OpenStack Neutron and will react to the creation of projects (tenants), Networks (and Subnets) and VM ports.
Whenever a project is created, a matching Workload VPN Intent is created in the Fabric Services System. This Workload VPN Intent will then be used for each of the Subnets created for that project, which will become Subnets inside the Workload VPN Intent.
When a VM port is created inside a Neutron Subnet and the VM is started on a OpenStack compute node, the ML2 Plugin will learn on which compute node the VM is deployed and through the internal topology will make sure the necessary sub-interfaces are configured as part of the Subnet in the fabric.
This information is learned from the L2 Agent extension which stores the Neutron Network to physical interfaces topology in the Neutron database. This information is then provided to the Connect service and together with the LLDP information of the fabric, the Connect service knows which edge-links in the fabrics need to be configured as sub-interfaces.
The Connect L2 Agent Extensions
The Connect L2 Agent Extensions extend the already existing L2 Agent that is present on every OpenStack compute. These extensions are responsible of mapping the relation between the physical NICs and the different networking constructs setup for the Neutron networks.
Supported versions
The Fabric Services System Connect plugin supports the integration with OpenStack Train. Official support is provided for Red Hat OSPd 16.2. The full certification of this platform is ongoing.