This is the web server that runs the OpenStack Networking API Web Server. It is responsible for loading a plug-in and passing the API calls to the plug-in for processing. The neutron-server should receive one of more configuration files as it its input, for example:
neutron-server --config-file <neutron config> --config-file <plugin config>
The neutron config contains the common neutron
configuration parameters. The plug-in config contains the
plug-in specific flags. The plug-in that is run on the
service is loaded through the
core_plugin
configuration
parameter. In some cases a plug-in might have an agent
that performs the actual networking.
Most plug-ins require a SQL database. After you install and start the database server, set a password for the root account and delete the anonymous accounts:
$> mysql -u root mysql> update mysql.user set password = password('iamroot') where user = 'root'; mysql> delete from mysql.user where user = '';
Create a database and user account specifically for plug-in:
mysql> create database <database-name>; mysql> create user '<user-name>'@'localhost' identified by '<user-name>'; mysql> create user '<user-name>'@'%' identified by '<user-name>'; mysql> grant all on <database-name>.* to '<user-name>'@'%';
Once the above is done you can update the settings in the relevant plug-in configuration files. The plug-in specific configuration files can be found at $NEUTRON_CONF_DIR/plugins.
Some plug-ins have a L2 agent that performs the actual networking. That is, the agent will attach the virtual machine NIC to the OpenStack Networking network. Each node should have an L2 agent running on it. Note that the agent receives the following input parameters:
neutron-plugin-agent --config-file <neutron config> --config-file <plugin config>
Two things need to be done prior to working with the plug-in:
Ensure that the core plug-in is updated.
Ensure that the database connection is correctly set.
The following table contains examples for these settings. Some Linux packages might provide installation utilities that configure these.
Parameter | Value |
---|---|
Open vSwitch | |
core_plugin ($NEUTRON_CONF_DIR/neutron.conf) | neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2 |
connection (in the plugin configuration file,
section [database] ) |
mysql://<username>:<password>@localhost/ovs_neutron?charset=utf8 |
Plug-in Configuration File | $NEUTRON_CONF_DIR/plugins/openvswitch/ovs_neutron_plugin.ini |
Agent | neutron-openvswitch-agent |
Linux Bridge | |
core_plugin ($NEUTRON_CONF_DIR/neutron.conf) | neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2 |
connection (in the plug-in configuration file,
section [database] ) |
mysql://<username>:<password>@localhost/neutron_linux_bridge?charset=utf8 |
Plug-in Configuration File | $NEUTRON_CONF_DIR/plugins/linuxbridge/linuxbridge_conf.ini |
Agent | neutron-linuxbridge-agent |
All plug-in configuration files options can be found in the Appendix - Configuration File Options.