6189cbe4f5
Previously when starting the dhcp agent the sync_state() process would be extremely expensive as it would query quantum server for each network. In order to improve performance a get_active_networks_info() was added so this information could be retrieved in one query rather than doing a query for each active network. The second part of this patch optimizes the logic to avoid calling get_dhcp_port(). Previously, this method was called once for each network which makes a call to get_subnets() and get_ports() unnecessarily as the dhcp agent can determine itself if it needs to update a port or create a port for dhcp. This patch also threads the inital sync process and maintains backwards compatibility with the previous rpc api. There was also a trivial change to the nvp_plugin where filters are assumed to be a dict. implements blueprint improve-dhcp-agent-performance Change-Id: I3b631057f595250dad76516faa9b421789f60953
47 lines
2.0 KiB
INI
47 lines
2.0 KiB
INI
[DEFAULT]
|
|
# Show debugging output in log (sets DEBUG log level output)
|
|
# debug = true
|
|
|
|
# The DHCP agent will resync its state with Neutron to recover from any
|
|
# transient notification or rpc errors. The interval is number of
|
|
# seconds between attempts.
|
|
# resync_interval = 5
|
|
|
|
# The DHCP requires that an inteface driver be set. Choose the one that best
|
|
# matches you plugin.
|
|
|
|
# OVS based plugins(OVS, Ryu, NEC, NVP, BigSwitch/Floodlight)
|
|
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
|
# OVS based plugins(Ryu, NEC, NVP, BigSwitch/Floodlight) that use OVS
|
|
# as OpenFlow switch and check port status
|
|
#ovs_use_veth = True
|
|
# LinuxBridge
|
|
#interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
|
|
|
|
# The agent can use other DHCP drivers. Dnsmasq is the simplest and requires
|
|
# no additional setup of the DHCP server.
|
|
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
|
|
|
|
# Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and
|
|
# iproute2 package that supports namespaces).
|
|
# use_namespaces = True
|
|
|
|
# The DHCP server can assist with providing metadata support on isolated
|
|
# networks. Setting this value to True will cause the DHCP server to append
|
|
# specific host routes to the DHCP request. The metadata service will only
|
|
# be activated when the subnet gateway_ip is None. The guest instance must
|
|
# be configured to request host routes via DHCP (Option 121).
|
|
# enable_isolated_metadata = False
|
|
|
|
# Allows for serving metadata requests coming from a dedicated metadata
|
|
# access network whose cidr is 169.254.169.254/16 (or larger prefix), and
|
|
# is connected to a Neutron router from which the VMs send metadata
|
|
# request. In this case DHCP Option 121 will not be injected in VMs, as
|
|
# they will be able to reach 169.254.169.254 through a router.
|
|
# This option requires enable_isolated_metadata = True
|
|
# enable_metadata_network = False
|
|
|
|
# Number of threads to use during sync process. Should not exceed connection
|
|
# pool size configured on server.
|
|
# num_sync_threads = 4
|