This is the Quantum service that runs the Quantum API Web Server. It is responsible for loading a plugin and passing the API calls to the plugin for processing. The quantum-server should receive one of more configuration files as it its input, for example:
quantum-server --config-file <quantum config> --config-file <plugin config>
The quantum config contains the common quantum configuration parameters. The plugin config contains the plugin specific flags. The plugin that is run on the service is loaded via the configuration parameter ‘core_plugin’. In some cases a plugin may have an agent that performs the actual networking. Specific configuration details can be seen in the Appendix - Configuration File Options.
Most plugins require a SQL database. After installing and starting 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 plugin:
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 plugin configuration files. The plugin specific configuration files can be found at $QUANTUM_CONF_DIR/plugins.
Some plugins have a L2 agent that performs the actual networking. That is, the agent will attach the virtual machine NIC to the Quantum network. Each node should have a Quantum agent running on it. Note that the agent receives the following input parameters:
quantum-plugin-agent --config-file <quantum config> --config-file <plugin config>
Two things need to be done prior to working with the plugin:
Ensure that the core plugin is updated.
Ensure that the database connection is correctly set.
The table below contains examples for these settings. Some linux packages may provide installation utilities that configure these.
Parameter | Value |
---|---|
Open vSwitch | |
core_plugin ($QUANTUM_CONF_DIR/quantum.conf) | quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 |
sql_connection (in the plugin configuration file) | mysql://<username>:<password>@localhost/ovs_quantum?charset=utf8 |
Plugin Configuration File | $QUANTUM_CONF_DIR/plugins/openvswitch/ovs_quantum_plugin.ini |
Agent | quantum-openvswitch-agent |
Linux Bridge | |
core_plugin ($QUANTUM_CONF_DIR/quantum.conf) | quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2 |
sql_connection (in the plugin configuration file) | mysql://<username>:<password>@localhost/quantum_linux_bridge?charset=utf8 |
Plugin Configuration File | $QUANTUM_CONF_DIR/plugins/linuxbridge/linuxbridge_conf.ini |
Agent | quantum-linuxbridge-agent |
All of the plugin configuration files options can be found in the Appendix - Configuration File Options.