networking-fujitsu

FUJITSU plugins/drivers for OpenStack Neutron. Following mechanism driver is available in this repository:

  • (ML2) Mechanism driver for FUJITSU Converged Fabric Switch(C-Fabric)
  • (ML2) Mechanism driver for FUJITSU FOS Switch

Note

This package also includes following plugin:

(ML2) Mechanism driver for FUJITSU Software ServerView Infrastructure Manager

This plugin is under development. Therefore, PLEASE DO NOT ADD fujitsu_ism to mechanism_drivers option in /etc/neutron/plugins/ml2/ml2_conf.ini.

Mechanism driver for FUJITSU Converged Fabric Switch(C-Fabric)

How to Install

  1. Install the package:

    $ pip install networking-fujitsu
    
  2. Add fujitsu_cfab to mechanism_drivers option in /etc/neutron/plugins/ml2/ml2_conf.ini, for example:

    mechanism_drivers = openvswitch,fujitsu_cfab
    
  3. Modify ml2_conf_fujitsu_cfab.ini and make neutron-server to read it.

    For RedHat, add the following options in ExecStart in /usr/lib/systemd/system/neutron-server.service:

    --config-file /etc/neutron/plugins/ml2/ml2_conf_fujitsu_cfab.ini
    

    For Ubuntu, add the following line to /etc/default/neutron-server:

    NEUTRON_PLUGIN_ML2_CONFIG="/etc/neutron/plugins/ml2/ml2_conf_fujitsu_cfab.ini"
    

    and add the following line before ‘exec start-stop-daemon ...’ in /etc/init/neutron-server.conf:

    [ -r "$NEUTRON_PLUGIN_ML2_CONFIG" ] && CONF_ARG="${CONF_ARG} --config-file $NEUTRON_PLUGIN_ML2_CONFIG"
    

Configuration

Only VLAN network type is supported (ie. both type_drivers and tenant_network_types in [ml2] section of configuration files should include vlan).

The following parameters can be specified in [fujitsu_cfab] section of configuration files (such as ml2_conf_fujitsu_cfab.ini).

address

The IP address or the host name of the C-Fabric to connect to using telnet protocol. This is a mandatory parameter and it has no default value. Only one address can be specified.

Example:

address = 192.168.0.1
username

The C-Fabric username to use. Please note that the user must have administrator rights to configure C-Fabric. The default value is admin.

Example:

username = admin
password

The C-Fabric password to use. The default value is admin.

Example:

password = admin
physical_networks

List of <physical_network>:<vfab_id> tuples specifying physical network names and corresponding VFAB IDs. All possible physical network names must be specified in this parameter. If a physical network name not specified in this parameter is used, a runtime exception will be raised. It is valid to use same VFAB ID for different physical networks as long as VLAN IDs are exclusive. Please note that VFABs must be created and configured in C-Fabric beforehand.

Example:

physical_networks = physnet1:1,physnet2:2
share_pprofile

Whether to share a C-Fabric pprofile among Neutron ports using the same VLAN ID. If it is true, the pprofile name will be based on the VLAN ID, and the pprofile will be used for all Neutron ports using the same VLAN ID. If it is false, the pprofile name will be based on the MAC address, and each Neutron port will use dedicated pprofile. The default value is False.

Example:

share_pprofile = True
pprofile_prefix

The prefix string for pprofile names. The pprofile name will be “<pprofile_prefix> + <vlan_id>” or “<pprofile_prefix> + <MAC_address>” according to the share_pprofile parameter. If pprofile_prefix is specified, the mechanism driver will not use the existing pprofiles which do not have the prefix. If pprofile_prefix is not specified, the mechanism driver will use the existing pprofile if it corresponds to the VLAN ID when share_pprofile is true, or if the name ends with the MAC address when share_pprofile is false.

Example:

pprofile_prefix = neutron-
save_config

Whether to save configuration. If it is true, C-Fabric’s configuration will be saved every time the configuration is committed. The default value is True.

Example:

save_config = False

C-Fabric Configuration

Common

As well as the standard configuration of C-Fabric, the following configurations are needed for the mechanism driver.

  1. Enable AMPP using ARP/DHCP.

    By default, only RARP packets are examined for AMPP. It is possible to add ARP/DHCP packets to be examined for AMPP.

    Example:

    evb ampp arp on
    evb ampp dhcp on
    

    Please note that evb ampp dhcp is not supported in earlier versions of C-Fabric firmware. Therefore, please create the subnet with enable_dhcp is FALSE before ampp dhcp function is supported.

  2. Create and configure VFABs.

    It is necessary to create and configure the VFAB beforehand. It is recommended that the ports connected to the network nodes are configured as VLAN through mode.

    Example:

    ifgroup 0 ether 1/1/0/1-1/1/0/18
    ifgroup 1 ether 1/1/0/19-1/1/0/26
    ifgroup 2 ether 1/2/0/1
    vfab 1 cir-ports ifgroup 1
    vfab 1 ampp-area 0
    vfab 1 through ifgroup 2
    interface 1/2/0/1
        vfab through mode on
    

    Please note that vfab through commands are only available on C-Fabric firmware V02.30 and later.

Baremetal provisioning

C-Fabric plugin also supports baremetal tenant network isolation. This feature is available on firmware V02.40 and later. In order to use this feature, the following pre-configuration is necessary:

  1. Configure network mode for VFAB which is specified as physical_networks.

    Example:

    vfab 1 mode network
    

Note

While baremetal provisioning is running, PLEASE DO NOT EDIT C-Fabric configuration directory.

Mechanism driver for FUJITSU FOS Switch

How to Install

  1. Install the package:

    $ pip install networking-fujitsu
    
  2. Add fujitsu_fossw to mechanism_drivers option in /etc/neutron/plugins/ml2/ml2_conf.ini, for example:

    mechanism_drivers = openvswitch,fujitsu_fossw
    
  3. Modify ml2_conf_fujitsu_fossw.ini and make neutron-server to read it.

    For RedHat, add the following options in ExecStart in /usr/lib/systemd/system/neutron-server.service:

    --config-file /etc/neutron/plugins/ml2/ml2_conf_fujitsu_fossw.ini
    

    For Ubuntu, add the following line to /etc/default/neutron-server:

    NEUTRON_PLUGIN_ML2_CONFIG="/etc/neutron/plugins/ml2/ml2_conf_fujitsu_fossw.ini"
    

    and add the following line before ‘exec start-stop-daemon ...’ in /etc/init/neutron-server.conf:

    [ -r "$NEUTRON_PLUGIN_ML2_CONFIG" ] && CONF_ARG="${CONF_ARG} --config-file $NEUTRON_PLUGIN_ML2_CONFIG"
    

Configuration

Both VLAN and VXLAN network type are supported (ie. both type_drivers and tenant_network_types in [ml2] section of configuration files should include vlan or vxlan).

The following parameters can be specified in [fujitsu_fossw] section of configuration files (such as ml2_conf_fujitsu_fossw.ini).

fossw_ips (Mandatory)

The List of IP addresses of all FOS switches. This is a mandatory parameter.

Example:

fossw_ips = 192.168.0.1,192.168.0.2,...

Note

Following configurations are common to all FOS switches in fossw_ips.

username (Mandatory)

The FOS switches username to use. Please note that the user must have administrator rights to configure FOS switches. This is a mandatory parameter.

Example:

username = admin
password (Mandatory)

The FOS switches password to use. It has no default value. This is a mandatory parameter.

Example:

password = admin
port (Optional)

The port number which is used for SSH connection. The default value is 22.

Example:

port = 22
timeout (Optional)

The timeout of SSH connection. The default value is 30.

Example:

timeout = 30
udp_dest_port (Optional)

The port number of VXLAN UDP destination on the FOS switches. All VXLANs on the switches use this UDP port as the UDP destination port in the UDP header when encapsulating. The default value is 4789.

Example:

udp_dest_port = 4789
ovsdb_vlanid_range_min (Optional)

The minimum VLAN ID in the range that is used for binding VNI and physical port. The range of 78 VLAN IDs (starts from this value) will be reserved. The default value is 2 (VLAN ID from 2 to 79 will be reserved).

Example:

ovsdb_vlanid_range_min = 2

Note

DO NOT include VLAN IDs specified by ovsdb_vlanid_range_min into “network_vlan_ranges” in ml2_conf.ini.

ovsdb_port (Optional)

The port number which OVSDB server on the FOS switches listen. The default value is 6640.

Example:

ovsdb_port = 6640

FOS Switch Configuration

The following configurations are needed for all FOS switches. These are needed only for VXLAN. In the case of VLAN, any configurations is not needed.

  1. Log in to FOS switch.

  2. Enter configuration mode.

    Example:

    (ET-7648BRA-FOS) #configure
    
  3. Set VTEP IP address for switch side.

    Example:

    (ET-7648BRA-FOS) (Config)#vxlan vtep source-ip 192.167.3.111
    
  4. Set port number of VXLAN UDP destination, which is specified as udp_dest_port in the configuration file.

    Example:

    (ET-7648BRA-FOS) (Config)#vxlan udp-dst-port 4789
    
  5. Exit configuration mode and start ovsdb setup.

    Example:

    (ET-7648BRA-FOS) (Config)#exit
    (ET-7648BRA-FOS) #ovsdb
    
  6. Set port number of OVSDB server in the FOS switch, which is specified as ovsdb_port in the configuration file.

    Example:

    (ET-7648BRA-FOS) #ovsdb tcp port 6640
    
  7. Check ovsdb_vlanid_range_min value in configuration file, and confirm that the VLAN ID within the range from ovsdb_vlanid_range_min to ovsdb_vlanid_range_min + 77 are not used.

    Example:

    (ET-7648BRA-FOS) #show vlan 3
    VLAN does not exist.
    
  8. Log out of FOS switch.