Enable the Networking NW-ODL ML2 plugin

Enable the Networking NW-ODL ML2 plugin

This section explains how to enable the Networking OpenDaylight (NW-ODL) Modular Layer 2 (ML2) plugin for Neutron in your deployment using the Neutron Salt formula, which can install the networking-odl package and enables Neutron to connect to the OpenDaylight controller.

Note

The procedure assumes that the OpenDaylight controller is already up and running.

To enable the NW-ODL ML2 plugin:

  1. Log in to the Salt Master node.

  2. Define the OpenDaylight plugin options in the cluster/<cluster_name>/openstack/init.yml file as follows:

    _param:
      opendaylight_service_host: <ODL_controller_IP>
      opendaylight_router: odl-router_v2 # default
      opendaylight_driver: opendaylight_v2 # default
      provider_mappings: physnet1:br-floating # default
    
  3. In the cluster/<cluster_name>/openstack/control.yml file of your Reclass model, configure the Neutron server by including the system.neutron.control.opendaylight.cluster class and setting credentials and port of OpenDaylight REST API. For example:

    classes
    - system.neutron.control.opendaylight.cluster
    parameters:
      neutron:
        server:
          backend:
            rest_api_port: 8282
            user: admin
            password: admin
    
  4. In the cluster/<cluster_name>/openstack/gateway.yml file of your Reclass model, include the following class:

    classes
    - service.neutron.gateway.opendaylight.single
    
  5. In the classes/cluster/<cluster_name>/openstack/compute.yml file of your Reclass model, include the following class:

    classes
    - service.neutron.compute.opendaylight.single
    
  6. Apply the configuration changes by executing the neutron state on all nodes with neutron:server, neutron:gateway, and neutron:compute roles:

    salt -I 'neutron:server' state.sls neutron
    salt -I 'neutron:gateway' state.sls neutron
    salt -I 'neutron:compute' state.sls neutron