Skip to main content

Ansible Networking ML2 Driver

Project description


Networking-Ansible is a python library that abstracts management and interaction with switching hardware to Ansible Networking. This library is not tested with all the modules included with Ansible Networking. In theory it should work with any switch that has compatible modules included with Ansible Networking if the provider tasks are added to this library’s Ansible role. See the contributor documentation for more information about adding support for an Ansible Networking driver to the openstack-ml2 Ansible role.


The Networking-Ansible library consists of the following components:

ML2 Mechanism Driver
Invoked by neutron to configure L2 networking for OpenStack tenant networks.
Python API
Imported directly by python.

Use Cases

OpenStack Ironic Baremetal Guest Deployment

Ironic uses Networking-Ansible to configure the switch ports for the baremetal guests. Ironic needs to swap the port a baremetal guest is connected to between the Ironic provisioning network and the tenant VLAN that the guest is assigned.

Python API

Any python application could need the ability to communicate with a switch to perform a task that networking-ansible is able to complete. The interaction with ansible is designed in a library style that will allow direct import and invocation in python independant of a running OpenStack deployment.

API Features

The following matrix indicates which features have been implmented.

  openvswitch junos nxos eos cumulus dellos10
Create VLAN N/A Y Y Y Y Y
Delete VLAN N/A Y Y Y Y Y
Delete Port Y Y Y Y Y Y
Config Access Port Y Y Y Y Y Y
Config Trunk Port N Y N N N N

ML2 Implimentation Mapping

  • create_network_postcommit: Creates a VLAN
  • delete_network_postcommit: Deletes a VLAN
  • update_port_postcommit: Deletes the old port if bound
  • delete_port_postcommit: Deletes a port
  • bind_port: Configures an access port

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for networking-ansible, version 5.0.0
Filename, size File type Python version Upload date Hashes
Filename, size networking_ansible-5.0.0-py3-none-any.whl (28.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size networking-ansible-5.0.0.tar.gz (80.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page