916d97b5d6
Unifies haproxy reference implementation to make common agent based plugin driver which is suitable for all vendors who wants to use async mechanism. - Agent API as well as device driver API changed to handle loadbalancer objects individually; - Agent loads device drivers according to config; - LogicalDeviceCache class was removed from agent as it was used only as a list - to put and remove entries ant check whether entry is in or not. It was replaced with instance_mapping dict in agent to store known instances and corresponding device_drivers; - Agent reports which device drivers are supported (needs for scheduling on plugin side); - Agent-to-plugin API was extended to provide an ability for agent to update statuses of pools/vips/members/health_monitors; - Vendor should only implement device driver; plugin driver just needs to inherit AgentBasedPluginDriver and override device_driver member; - This patch doesn't move files to make review easier; all rename/replace will be done in a subsequent patch; DocImpact NOTE: Since the change in the agent RPC API is backward-incompatible (major RPC version change), LBaaS server-agent communications will be completely broken until both sides are upgraded so users will be unable to create new or update existing HAProxy loadbalancer instances during upgrade Implements blueprint lbaas-common-agent-driver Change-Id: I9fd90a1321611d202ef838681273081fa6c1686a
39 lines
1.4 KiB
INI
39 lines
1.4 KiB
INI
[DEFAULT]
|
|
# Show debugging output in log (sets DEBUG log level output).
|
|
# debug = False
|
|
|
|
# The LBaaS agent will resync its state with Neutron to recover from any
|
|
# transient notification or rpc errors. The interval is number of
|
|
# seconds between attempts.
|
|
# periodic_interval = 10
|
|
|
|
# LBaas requires an interface driver be set. Choose the one that best
|
|
# matches your plugin.
|
|
# interface_driver =
|
|
|
|
# Example of interface_driver option for OVS based plugins (OVS, Ryu, NEC, NVP,
|
|
# BigSwitch/Floodlight)
|
|
# interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
|
|
|
# Use veth for an OVS interface or not.
|
|
# Support kernels with limited namespace support
|
|
# (e.g. RHEL 6.5) so long as ovs_use_veth is set to True.
|
|
# ovs_use_veth = False
|
|
|
|
# Example of interface_driver option for LinuxBridge
|
|
# interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
|
|
|
|
# The agent requires drivers to manage the loadbalancer. HAProxy is the opensource version.
|
|
# Multiple device drivers reflecting different service providers could be specified:
|
|
# device_driver = path.to.provider1.driver.Driver
|
|
# device_driver = path.to.provider2.driver.Driver
|
|
# Default is:
|
|
# device_driver = neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver
|
|
|
|
[haproxy]
|
|
# Location to store config and state files
|
|
# loadbalancer_state_path = $state_path/lbaas
|
|
|
|
# The user group
|
|
# user_group = nogroup
|