- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
01-Text | 69.86 KB |
About super controller OpenStack plug-ins
Super controller Neutron plug-ins
Obtaining the super controller OpenStack package
Installing the super controller Neutron plug-ins
Removing the super controller Neutron plug-ins
Upgrading the super controller Neutron plug-ins
About super controller OpenStack plug-ins
The super controller OpenStack plugins include super controller Neutron plug-ins.
Super controller Neutron plug-ins
Neutron (OpenStack Networking) manages all networking facets for the Virtual Networking Infrastructure (VNI) and provides virtual networking services for the devices in your OpenStack environment. It allows tenants to create advanced services such as firewalls, load balancers, and virtual private networks (VPNs).
Developed based on the OpenStack framework, super controller Neutron plug-ins include the following types:
· Super controller Neutron Core plug-in—Provides networking services for tenants.
· Super controller Neutron L3_Routing plug-in—Implements intra-tenant Layer 3 forwarding.
In addition to the preceding functionality, super controller Neutron plug-ins can synchronize networking settings such as networks, subnets, routers, and ports obtained from OpenStack through REST APIs to the super controller.
Preparing for installation
Hardware requirements
Table 1 shows the hardware requirements for installing the super controller Neutron plug-ins on a server or virtual machine.
CPU |
Memory size |
Disk space |
Single or multiple cores |
2 GB or above |
5 GB or above |
Software requirements
Table 2 shows the software requirements for installing the super controller Neutron plug-ins.
Item |
Supported versions |
OpenStack |
OpenStack Ocata on Ubuntu 16.04 |
|
IMPORTANT: Before you install the OpenStack plug-ins, make sure the following requirements are met: · Your system has Internet access. The system must first access the Internet to set up the installation environment. · The OpenStack environment is deployed correctly. For example, the /etc/hosts file on all nodes has the host name-IP address mappings. For information about the OpenStack environment deployment, see the installation guide for the specific OpenStack version on the official website. |
Installing the Python tools
1. Update the software source list.
sdn@ubuntu:~$ sudo apt-get update
2. Download the Python tools online and install them. Press Y when prompted to confirm whether to continue.
sdn@ubuntu:~$ sudo apt-get install python-pip python-setuptools
Obtaining the super controller OpenStack package
|
CAUTION: To avoid damaging the super controller OpenStack package, use the binary code when uploading the package through FTP or TFTP. |
To obtain the super controller OpenStack package:
1. Download the super controller OpenStack package of the required version.
2. Copy the super controller OpenStack package to the installation directory on the server or virtual machine, or upload it to the installation directory through FTP, TFTP, or SCP.
Installing OpenStack plug-ins
Only Ocata among OpenStack releases support installation of Neutron plug-ins.
Install the super controller Neutron plug-ins on an OpenStack controller node. Before installation, you must install the Python tools on the controller node. For the installation procedure, see "Installing the Python tools."
Installing the super controller Neutron plug-ins
Procedure
1. Access the directory where the super controller OpenStack package (an .egg file) is saved, and install the package on the OpenStack controller node.
The name of the super controller OpenStack package is SUPER_CONTROLLER_PLUGIN-version1_version2-py2.7. version1 represents the version of the package. version2 represents the version of OpenStack.
In the following example, the super controller OpenStack package is saved to the /home/sdn path.
sdn@ubuntu:~$ cd /home/sdn
sdn@ubuntu:~$ sudo easy_install SUPER_CONTROLLER_PLUGIN-E3000_ocata_2017.1-py2.7.egg
Processing SUPER_CONTROLLER_PLUGIN-E3000_ocata_2017.1-py2.7.egg
creating /usr/local/lib/python2.7/dist-packages/SUPER_CONTROLLER_PLUGIN-E3000_ocata_2017.1-py2.7.egg
Extracting SUPER_CONTROLLER_PLUGIN-E3000_ocata_2017.1-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding SUPER-CONTROLLER-PLUGIN-E3000-ocata-2017.1 to easy-install.pth file
Installing h3c-sucplugin script to /usr/local/bin
Installing h3c-agent script to /usr/local/bin
Installed /usr/local/lib/python2.7/dist-packages/SUPER_CONTROLLER_PLUGIN-E3000_ocata_2017.1-py2.7.egg
Processing dependencies for SUPER-CONTROLLER-PLUGIN==E3000-ocata-2017.1
Finished processing dependencies for SUPER-CONTROLLER-PLUGIN==E3000-ocata-2017.1
2. Install the super controller Neutron plug-ins.
sdn@ubuntu:~$ sudo h3c-sucplugin controller install
Install the neutron plugin
modifying:
/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/managers.py
modify success, backuped at:
/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/managers.py.h3c_bak
|
NOTE: The contents below the modifying: line indicate the modified open source Neutron file and the backup path of the file before modification. |
3. Modify the neutron.conf configuration file.
a. Use the vi editor to open the neutron.conf configuration file.
sdn@ubuntu:~$ sudo vi /etc/neutron/neutron.conf
b. Press I to enter insert mode, and modify the configuration file. For information about the parameters, see "neutron.conf."
[DEFAULT]
core_plugin = ml2
service_plugins = supercontroller.h3c_sc_l3.h3c_l3_router_plugin.H3CL3RouterPlugin
|
IMPORTANT: QoS malfunctions when the database connection configuration is as follows: This is an open source bug in OpenStack. To prevent this problem, configure the database connection as follows: |
c. Press Esc to quit insert mode, and enter :wq to exit the vi editor and save the neutron.conf file.
4. Modify the ml2_conf.ini configuration file.
a. Use the vi editor to open the ml2_conf.ini configuration file.
sdn@ubuntu:~$ sudo vi /etc/neutron/plugins/ml2/ml2_conf.ini
b. Press I to enter insert mode, and set the parameters in the ml2_conf.ini configuration file. For information about the parameters, see "ml2_conf.ini."
[ml2]
type_drivers = vxlan,vlan
tenant_network_types = vxlan,vlan
mechanism_drivers = ml2_h3c
extension_drivers = ml2_extension_h3c
[ml2_type_vlan]
network_vlan_ranges = physicnet1:1000:2999
[ml2_type_vxlan]
vni_ranges = 1:500
c. Press Esc to quit insert mode, and enter :wq to exit the vi editor and save the ml2_conf.ini file.
5. Modify the ml2_conf_h3c.ini configuration file.
a. Use the vi editor to open the ml2_conf_h3c.ini configuration file.
sdn@ubuntu:~$ sudo vi /etc/neutron/plugins/ml2/ml2_conf_h3c.ini
b. Press I to enter insert mode, and set the following parameters in the ml2_conf_h3c.ini configuration file. For information about the parameters, see "ml2_conf_h3c.ini."
[SUPERCONTROLLER]
url = https://192.168.1.100
username=admin
password=123456
domain = sdn
timeout = 1800
retry = 10
hybrid_vnic = True
auto_create_tenant_to_sc = True
enable_subnet_dhcp = True
auto_delete_tenant_to_sc = True
output_json_log = True
enable_l3_vxlan = False
l3_vni_ranges = 10000:10100
c. Press Esc to quit insert mode, and enter :wq to exit the vi editor and save the ml2_conf_h3c.ini file.
6. Restart the neutron-server service.
sdn@ubuntu:~$ sudo service neutron-server restart
neutron-server stop/waiting
neutron-server start/running, process 4583
7. Restart the h3c-agent service.
sdn@ubuntu:~$ sudo service h3c-agent restart
h3c-agent stop/waiting
h3c-agent start/running, process 4678
Verifying the installation
# Verify that the super controller OpenStack package is correctly installed. If the correct software and OpenStack versions are displayed, the package is successfully installed.
sdn@ubuntu:~$ sudo pip freeze | grep SUPER
SUPER-CONTROLLER-PLUGIN==E3000-ocata-2017.1
# Verify that the neutron-server service is enabled. The service is enabled if its state is running.
sdn@ubuntu:~$ sudo service neutron-server status
neutron-server start/running, process 1849
# Verify that the h3c-agent service is enabled. The service is enabled if its state is running.
sdn@ubuntu:~$ sudo service h3c-agent status
h3c-agent start/running, process 4678
Parameters
This section describes parameters in the configuration files.
neutron.conf
Parameter |
Required value |
Description |
core_plugin |
ml2 |
Core plug-in for loading to OpenStack. |
service_plugins |
supercontroller.h3c_sc_l3.h3c_l3_router_plugin.H3CL3RouterPlugin |
Extension plug-ins for loading to OpenStack. |
ml2_conf.ini
Parameter |
Required value |
Description |
type_drivers |
vxlan,vlan |
Driver type. vxlan must be specified as the first driver type. |
tenant_network_types |
vxlan,vlan |
Type of the networks to which the tenants belong. vxlan must be specified as the first driver type. For an intranet, only vxlan is available. For an extranet, only vlan is available. |
mechanism_drivers |
ml2_h3c |
Name of the ml2 driver. |
extension_drivers |
ml2_extension_h3c |
Name of the ml2 extension driver |
network_vlan_ranges |
N/A |
Value range for the VLAN ID of the extranet, physicnet1:1000:2999 for example. |
vni_ranges |
N/A |
Value range for the VXLAN ID of the intranet, 1:500 for example. |
ml2_conf_h3c.ini
Parameter |
Description |
url |
URL address of the super controller, https://192.168.1.100 for example. |
username |
Username for logging in to the super controller, admin for example. |
password |
Password for logging in to the super controller, 123456 for example. |
domain |
Name of the domain where the super controller resides, sdn for example. |
timeout |
The amount of time that the Neutron server waits for a response from the super controller in seconds, 1800 seconds for example. As a best practice, set the waiting time greater than or equal to 1800 seconds. |
retry |
Maximum times for sending connection requests from the Neutron server to the super controller, 10 for example. |
hybrid_vnic |
Whether to enable mapping of OpenStack VLANs to super controller VXLANs. · True—Enable. · False—Disable. |
auto_create_tenant_to_sc |
Whether to enable or disable the feature of automatically creating tenants on the super controller. · True—Enable. · False—Disable. |
enable_subnet_dhcp |
Whether to enable or disable DHCP for creating a vSubnet. · True—Enable. · False—Disable. |
auto_delete_tenant_to_sc |
Whether to enable or disable the feature of automatically removing tenants from the super controller. · True—Enable. · False—Disable. |
output_json_log |
Whether to output REST API messages to the OpenStack operating logs in JSON format for communication between the super controller Neutron plugins and super controller. · True—Enable. · False—Disable. |
enable_l3_vxlan |
Whether to enable or disable the feature of using Layer 3 VXLAN IDs (L3VNIs) to mark Layer 3 flows between vRouters on the super controller. · True—Enable. · False—Disable. By default, this feature is disabled. |
l3_vni_ranges |
Set the value range for the L3VNI, 10000:10100 for example. |
Removing the super controller Neutron plug-ins
You must remove the super controller Neutron plug-ins before removing the super controller OpenStack package.
To remove the super controller Neutron plug-ins:
1. Remove the super controller Neutron plug-ins by using either of the following methods:
¡ Enter y to remove the database for the super controller Neutron plug-ins at the same time.
¡ Enter n to retain the database. When you install new super controller Neutron plug-ins, the plug-ins automatically read the configuration file from the database.
sdn@ubuntu:~$ sudo h3c-sucplugin controller uninstall
Uninstall the neutron plugin
whether to drop database tables:(y/n):
2. Remove the super controller OpenStack package.
sdn@ubuntu:~$ sudo pip uninstall SUPER-CONTROLLER-PLUGIN
Uninstalling SUPER-CONTROLLER-PLUGIN:
/usr/local/lib/python2.7/dist-packages/ SUPER_CONTROLLER_PLUGIN-E3000_ocata_2017.1-py2.7.egg
Proceed (y/n)? y
Successfully uninstalled SUPER_CONTROLLER_PLUGIN-E3000_ocata_2017.1
Upgrading the super controller Neutron plug-ins
|
CAUTION: Services might be interrupted during the super controller Neutron plug-ins upgrade procedure. |
To upgrade the super controller Neutron plug-ins, you must first remove the current version, and then install the new version. For information about removing the super controller Neutron plug-ins, see "Removing the super controller Neutron plug-ins." For information about installing the super controller Neutron plug-ins, see "Installing the super controller Neutron plug-ins."
FAQ
The Python tools cannot be installed using the apt-get command when a proxy server is used for Internet access. What should I do?
Configure HTTP proxy by performing the following steps:
1. Make sure the server or the virtual machine can access the HTTP proxy server.
2. Use the vi editor to open the apt.conf configuration file. If the apt.conf configuration file does not exist, this step creates the file.
dn@ubuntu:~$ sudo vi /etc/apt/apt.conf
3. Press I to enter insert mode, and provide HTTP proxy information as follows:
¡ If
the server does not require authentication, enter HTTP proxy information in the following format:
Acquire::http::proxy http://yourproxyaddress:proxyport
¡ If the server requires authentication,
enter HTTP proxy information in the following format:
Acquire::http::proxy http://username:password@address:proxyport
Table 3 describes the arguments in HTTP proxy information.
Table 3 Arguments in HTTP proxy information
Field |
Description |
username |
Username for logging in to the proxy server, sdn for example. |
password |
Password for logging in to the proxy server, 123456 for example. |
yourproxyaddress |
IP address of the proxy server, 172.25.1.1 for example. |
proxyport |
Port number of the proxy server, 8080 for example. |
Acquire::http::proxy "http://sdn:[email protected]:8080";
~
~
4. Press Esc to quit insert mode, and enter :wq to exit the vi editor and save the apt.conf file.