devstack/lib/neutron_plugins
Dane LeBlanc c68a8f67a7 stack.sh fails for Cisco plugin with missing cisco_plugins.ini error
When the Cisco Nexus monolithic plugin is configured in the localrc,
stack.sh fails with the error message:
     sed: can't read /etc/neutron/plugins/cisco/cisco_plugins.ini:
          No such file or directory

This failure was introduced with the merge of change set 76992
(bug #1285884). Change set 76992 removed the copying of
Q_PLUGIN_EXTRA_CONF_FILES from the neutron project area to directories
under /etc/neutron. This copy from neutron to /etc is required by the
Cisco Nexus monolithic plugin, since this plugin follows the original
model for generating extra config files based on localrc settings:
 - Copy default config file(s) from neutron project to /etc using
   a relative path (relative to neutron and relative to /)
 - Modify the copies of the config file(s) using localrc settings
 - Add a --config-file command line setting for neutron server which
   points to the modified config file(s) under /etc

The fix is to add the copying of the default versions of the extra
config files from neutron to /etc into the cisco devstack script.

Change-Id: Ifbae197ed591f7cccfd6d51eae2b21e31eb0a409
Closes-Bug: #1295411
2014-03-20 19:25:03 -04:00
..
services Merge "Enforce function declaration format in bash8" 2014-02-28 06:32:20 +00:00
bigswitch_floodlight Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
brocade Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
cisco stack.sh fails for Cisco plugin with missing cisco_plugins.ini error 2014-03-20 19:25:03 -04:00
embrane Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
ibm Adds support for IBM SDN-VE Neutron plugin 2014-03-03 09:50:03 -05:00
linuxbridge Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
linuxbridge_agent Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
midonet Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
ml2 Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
nec Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
nuage Supporting Nuage Networks' Plugin through devstack 2014-03-04 20:43:05 -08:00
ofagent_agent Add configurations for the OpenFlow Agent mechanism driver 2014-03-01 16:16:54 +09:00
oneconvergence Install script for One Convergence Neutron plugin. 2014-03-11 14:29:04 -07:00
openvswitch Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
openvswitch_agent Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
ovs_base Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
plumgrid Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
README.md update for name change to Neutron 2013-07-07 00:15:11 -04:00
ryu Enforce function declaration format in bash8 2014-02-28 07:59:03 +11:00
vmware_nsx Merge "Replace NvpPluginV2 with NsxPlugin" 2014-03-01 18:40:41 +00:00

Neutron plugin specific files

Neutron plugins require plugin specific behavior. The files under the directory, lib/neutron_plugins/, will be used when their service is enabled. Each plugin has lib/neutron_plugins/$Q_PLUGIN and define the following functions. Plugin specific configuration variables should be in this file.

  • filename: $Q_PLUGIN
    • The corresponding file name MUST be the same to plugin name $Q_PLUGIN. Plugin specific configuration variables should be in this file.

functions

lib/neutron calls the following functions when the $Q_PLUGIN is enabled

  • neutron_plugin_create_nova_conf : set NOVA_VIF_DRIVER and optionally set options in nova_conf e.g. NOVA_VIF_DRIVER=${NOVA_VIF_DRIVER:-"nova.virt.libvirt.vif.LibvirtGenericVIFDriver"}
  • neutron_plugin_install_agent_packages : install packages that is specific to plugin agent e.g. install_package bridge-utils
  • neutron_plugin_configure_common : set plugin-specific variables, Q_PLUGIN_CONF_PATH, Q_PLUGIN_CONF_FILENAME, Q_DB_NAME, Q_PLUGIN_CLASS
  • neutron_plugin_configure_debug_command
  • neutron_plugin_configure_dhcp_agent
  • neutron_plugin_configure_l3_agent
  • neutron_plugin_configure_plugin_agent
  • neutron_plugin_configure_service
  • neutron_plugin_setup_interface_driver
  • has_neutron_plugin_security_group: return 0 if the plugin support neutron security group otherwise return 1
  • neutron_plugin_check_adv_test_requirements: return 0 if requirements are satisfied otherwise return 1