FUJITSU plugins/drivers for OpenStack Neutron. Following mechanism driver is available in this repository:
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.
Install the package:
$ pip install networking-fujitsu
Add fujitsu_cfab to mechanism_drivers option in /etc/neutron/plugins/ml2/ml2_conf.ini, for example:
mechanism_drivers = openvswitch,fujitsu_cfab
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"
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).
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
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
The C-Fabric password to use. The default value is admin.
Example:
password = admin
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
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
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-
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
As well as the standard configuration of C-Fabric, the following configurations are needed for the mechanism driver.
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.
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.
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:
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.
Install the package:
$ pip install networking-fujitsu
Add fujitsu_fossw to mechanism_drivers option in /etc/neutron/plugins/ml2/ml2_conf.ini, for example:
mechanism_drivers = openvswitch,fujitsu_fossw
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"
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).
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.
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
The FOS switches password to use. It has no default value. This is a mandatory parameter.
Example:
password = admin
The port number which is used for SSH connection. The default value is 22.
Example:
port = 22
The timeout of SSH connection. The default value is 30.
Example:
timeout = 30
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
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.
The port number which OVSDB server on the FOS switches listen. The default value is 6640.
Example:
ovsdb_port = 6640
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.
Log in to FOS switch.
Enter configuration mode.
Example:
(ET-7648BRA-FOS) #configure
Set VTEP IP address for switch side.
Example:
(ET-7648BRA-FOS) (Config)#vxlan vtep source-ip 192.167.3.111
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
Exit configuration mode and start ovsdb setup.
Example:
(ET-7648BRA-FOS) (Config)#exit
(ET-7648BRA-FOS) #ovsdb
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
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.
Log out of FOS switch.