← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1663430] [NEW] [RFE] Add Ansible Networking ML2 Driver

 

Public bug reported:

An Ansible Networking driver for ML2 will make it possible to have
networking hardware automation for a wide variety of makes/models of
network switches, rather than relying on vendor-specific drivers.

This would fill a similar role to the networking-generic-switch:
1) Network switch configuration automation through SSH
2) Native support for heterogeneous networks with multiple device types

However, using Ansible Networking on the back-end instead of netmiko provides several advantages:
1) A large and fast-growing library of supported devices.
2) Hardware vendors actively involved in producing and testing modules for their hardware.
3) Built-in state awareness, for better detection of configuration errors, configuration mismatches, and rollback.
4) Potentially better separation of data model (playbook) from execution (driver).
5) Ansible Networking playbooks get extensive testing outside of OpenStack.

This driver would be implemented as an ML2 mechanism driver. As such, it
would implement the Neutron API on the front-end, and use Ansible
Networking on the back-end. Configuration would be provided with SSH
authentication credentials for each switch in the environment. Since the
Neutron API is standardized, this driver could be swapped in to replace
the networking-generic-switch driver, or any of the vendor-specific
network hardware drivers (such as the Arista driver).

The driver will implement switch port changes to match the requested
Neutron port(s). This will allow the driver to configure networking
hardware for use with Ironic baremetal instances, in TripleO
deployments, or when VMs are attached directly to network switches via
hardware passthrough.

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1663430

Title:
  [RFE] Add Ansible Networking ML2 Driver

Status in neutron:
  New

Bug description:
  An Ansible Networking driver for ML2 will make it possible to have
  networking hardware automation for a wide variety of makes/models of
  network switches, rather than relying on vendor-specific drivers.

  This would fill a similar role to the networking-generic-switch:
  1) Network switch configuration automation through SSH
  2) Native support for heterogeneous networks with multiple device types

  However, using Ansible Networking on the back-end instead of netmiko provides several advantages:
  1) A large and fast-growing library of supported devices.
  2) Hardware vendors actively involved in producing and testing modules for their hardware.
  3) Built-in state awareness, for better detection of configuration errors, configuration mismatches, and rollback.
  4) Potentially better separation of data model (playbook) from execution (driver).
  5) Ansible Networking playbooks get extensive testing outside of OpenStack.

  This driver would be implemented as an ML2 mechanism driver. As such,
  it would implement the Neutron API on the front-end, and use Ansible
  Networking on the back-end. Configuration would be provided with SSH
  authentication credentials for each switch in the environment. Since
  the Neutron API is standardized, this driver could be swapped in to
  replace the networking-generic-switch driver, or any of the vendor-
  specific network hardware drivers (such as the Arista driver).

  The driver will implement switch port changes to match the requested
  Neutron port(s). This will allow the driver to configure networking
  hardware for use with Ironic baremetal instances, in TripleO
  deployments, or when VMs are attached directly to network switches via
  hardware passthrough.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1663430/+subscriptions


Follow ups