IMPORTANT This is a proof of concept, it might not even work for your deployment. I'm planning on refactoring this to use the Neutron agent framework as well as Neutron RPC.
Integrate your Cumulus Linux switch with OpenStack Neutron
Manages VLAN bridges on the switch and L2 connectivity between (compute) hosts and the VLAN bridges. Uses LLDP to perform auto-discovery of hosts and the switchports they are connected to.
Uses the same conventions as the Linux Bridge agent so that DHCP/L3 agents can theoretically be hosted on the switch.
There are two components involved in this project:
- ML2 mechanism driver (runs on hosts with Neutron server)
- HTTP API server (runs on switches)
-
Install the driver and its dependencies with the following
pip install git+git://github.com/CumulusNetworks/altocumulus.git pip install requests
-
Add
cumulus
to themechanism_drivers
field in/etc/neutron/neutron.conf
-
Configure
/etc/neutron/plugins/ml2/ml2_cumulus.ini
-
Install the API server
pip install git+git://github.com/CumulusNetworks/altocumulus.git
-
Place the included Upstart script in
/etc/init
and runstart altocumulus-api
- Authentication
- Pluggable discovery strategies
- Integration with
oslo.rootwrap
for unprivileged operation - Working upstart script