Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    Juniper Networks DMI Plug-In for OpenStack Quantum

    Plug-In Overview

    The Juniper Networks plug-in for OpenStack Quantum enables you to use the DMI/NETCONF interfaces on Juniper Networks switches to orchestrate virtual networks. The plug-in uses Open vSwitch (OVS) as the virtual switch.

    OpenStack release supported: Folsom

    To orchestrate virtual networks, the plug-in requires you to specify the Juniper Networks switch port to node (compute and Quantum server) NIC mapping information. See Configuring Nodes for information about specifying this mapping information.

    The plug-in supports the following Juniper Networks switching platforms running Junos OS Release 11.4R1.6 or later. For more information about these platforms, see https://www.juniper.net/us/en/products-services/switching/.

    • All EX Series switches
    • QFX3500 and QFX3600 standalone switches
    • QFX3000-G QFabric system
    • QFX3000-M QFabric system

    Plug-In Directory Structure

    The directory structure for the plug-in is described below:

    Directory

    Description

    quantum/plugins/juniper/dmi/

    Main plug-in directory

    quantum/plugins/juniper/dmi/bin

    Contains CLI commands for the plug-in

    quantum/plugins/juniper/dmi/cli

    Contains the code for binaries

    quantum/plugins/juniper/dmi/test

    Contains scripts for testing the plug-in installation

    Pre-requisites for Using the Plug-In

    Before you use the plug-in:

    1. Install and configure OpenStack Quantum with the Open vSwitch (OVS) plug-in.
    2. Install the following on the Quantum server:
    3. Configure the same login name and password on all the Juniper Networks switches you want to use with the plug-in.

      This is a requirement for the plug-in settings in the [DEVICE] section of the ovs_quantum_plugin.ini file. For more information, see Configuring the Plug-In on the Quantum Server.

    Installing the Plug-In

    To install the plug-in:

    1. Download the tar.gz file for the plug-in to a directory.
    2. Extract the tar.gz file.

      For example:

      tar zxvf quantum-juniper-dmi-plugin-version.tar.gz

      A quantum-juniper-dmi-plugin-version directory is created in your current working directory.

    3. Copy the contents of the quantum-juniper-dmi-plugin-version directory to the Quantum plugins directory.

      For example:

      cp -rp quantum-juniper-dmi-plugin-version/quantum/plugins/juniper quantum-plugins-directory

      The Quantum plugins directory is usually located at /usr/lib/python2.7/dist-packages/quantum/plugins in a package-based Quantum installation or at /opt/stack/quantum/quantum/plugins in a DevStack-based Quantum installation.

    Configuring the Plug-In on the Quantum Server

    To configure the plug-in on the Quantum Server:

    1. Make a backup copy of the /etc/quantum/quantum.conf file.
    2. Edit the quantum.conf file to specify the Juniper Networks OpenStack Quantum plug-in in the core_plugin section.

      core_plugin = quantum.plugins.juniper.dmi.dmi_plugin.JuniperDmi

    3. Make a backup copy of the /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini file.
    4. Specify the following settings in the ovs_quantum_plugin.ini file.
      • In the [DATABASE] section, replace <mysql-host> with the actual MySQL hostname for your setup.
      • In the [OS] section, replace <keystone_host> with the actual hostname for your setup.
      • In this example, physnet1 is used as the bridge_mappings alias name in the [OVS] section. You can specify any other alias name instead. However, ensure that the same alias name is specified for other settings in the ovs_quantum_plugin.ini file and for specifying port mapping information using the jnpr_switchport_mapping command.
          [DATABASE]
          sql_connection = mysql://root:password@<mysql_host>/ovs_quantum?charset=utf8
          reconnect_interval = 2
      
          [OVS]
          tenant_network_type = vlan
          network_vlan_ranges = physnet1:1000:2999
          bridge_mappings = physnet1:br-eth1
      
          [AGENT]
          polling_interval = 2
          root_helper = sudo /usr/local/bin/quantum-rootwrap /etc/quantum/rootwrap.conf
      
          ## Juniper Networks plug-in specific configuration
      
          # OpenStack Tenant configuration
          [OS]
          USERNAME=quantum
          PASSWORD=password
          TENANT=service
          AUTH_URL=http://<keystone-host>:5000/v2.0
      
          # Juniper Networks switch configuration
          # The same login name and password must be configured on all the switches you want to use with the plug-in.
          [DEVICE]
          LOGIN=root
          PASSWORD=password
          PORT=22
          TIMEOUT=600
      

    Configuring Nodes

    To configure the nodes:

    1. Ensure that the Open vSwitch (OVS) agent is configured on every node.
    2. Log in into the Quantum server and issue the jnpr_switchport_mapping command to specify the Juniper Networks switch port to node (compute and Quantum server) NIC mapping information.

      The port mapping information can be specified one at a time or read from a comma separated value (CSV) file.

      • To specify port mapping information one at a time, issue the following command:

        quantum/plugins/juniper/dmi/bin/jnpr_switchport_mapping add -H host-name -n network-name -s switch-name -p switch-port-name

        For example:

        quantum/plugins/juniper/dmi/bin/jnpr_switchport_mapping add -H compute-node47 -n physnet1 -s qfx3500-a -p ge-0/0/34

        Where:

        -H

        Specifies the DNS name of the host that is connected to the switch

        -n

        Specifies the name of the physical network on the host

        -s

        Specifies the DNS name of the switch to which the physical network on the host is connected

        -p

        Specifies the switch port name to which the physical network on the host is connected

      • To read port mapping information from a comma separated value (CSV) file:
        1. Enter the port mapping information using the following syntax in a file:

          host-name,node-name,switch-name,switch-port-name

          For example:

          compute-node47,physnet1,qfx3500-a,ge-0/0/34

          compute-node48,physnet1,qfx3500-a,ge-0/0/30

        2. Issue the following command to read the port mapping information in the CSV file.

          quantum/plugins/juniper/dmi/bin/jnpr_switchport_mapping update -f map-file-name.csv

          Where map-file-name.csv is the path to the CSV file in which the port mapping information exists.

      For more information about the jnpr_switchport_mapping command, issue the jnpr_switchport_mapping -h command.

    3. After you complete the above steps, restart the Quantum server and the Quantum agent for Open vSwitch.

    Configuring Juniper Networks Switches for the Plug-In

    To use Juniper Networks switches with the plug-in, you must configure the NETCONF management protocol on the switches.

    To configure the NETCONF management protocol on a switch:

    1. Configure SSH and NETCONF on the switch.
      [edit]user@switch# set system services sshuser@switch# set system services netconf ssh
    2. Review your configuration and issue the commit command.
      [edit]user@switch# commitcommit complete

    Additional Information

    For more information about the plug-in, write to quantum-plugin-support@juniper.net.

    Published: 2013-06-28