Cisco ACI Integration

micush

Renowned Member
Jul 18, 2015
77
4
73
We are in the process of deploying Cisco ACI at my company.

ACI supports virtual network integration with VMware, Hyper-V, KVM, and OpenStack via API calls.

Since PVE provides an API for cluster management, it sure would be nice to also have PVE support in ACI.

I realize that this request may not necessarily be primarily a Proxmox or even a Cisco initiative, but it sure would be nice to be able to integrate Proxmox network functionality with ACI management oversight.

Are there any plans for this type of integration? If not, it would be nice to have an open conversation about maybe having it in the future.

Regards,

micush
 
Hi,

Cisco ACi is supported by openvswitch.
OpenStack and KVM has no extra implementation for it they also use openvswitch.
Install openvswitch what is in the PVE reposetory and you have your ACI support.
 
Wolfgang, you probably misunderstood micush... He's talking about "integration", which is different from "support".
Of course will PVE work fine with ACI, no matter if ovs or linux-bridge is used. Still ACI and PVE do not communicate on a control-plane and thus have no notion of each other.

There are two ways for such an integration to work:

BASIC:
For this to happen API-calls have to be passed between PVE and APIC (The ACI controller).
- ACI exports a list of networks (EPGs / VLANs) to PVE
- PVE notifies ACI about new VM being connected
- By MAC-learning / LLDP, ACI is aware of new endpoints joining EPGs and will ask PVE for details.
With this information exchange ACI will deploy the required SDN-Overlay to the Leaf-Switches to match-up with PVE.
This will work with ovs and linux-bridge.

ADVANCED:
This would require on top of the basics features that PVE uses ovs with the opflex-extension and that the ovs uplinks are configured for vxlan .
In this way, the ovs in PVE will act as an extension of the Cisco SDN. The ovs will be fully controlled by ACI and will act as VTEP.
The OpenStack integration with ML2 or unified-plugin is a good example of this use case.