fast exit dhcpbridge on 'old'

When dnsmasq sends a lease change event ('old'), we do
nothing. However we wait quite a long time before we do nothing, and
have built up rpc connections to conductor by then. We should exit
early in these cases instead to cause less backup getting dnsmasq
lease events processed.

Related-Bug: #1532809

Change-Id: I1539fb9eb8570a9efbaa95a1272ac9ac571c365a
This commit is contained in:
Sean Dague 2016-01-27 12:53:11 +00:00
parent a37590c21b
commit 34e6c0fb15
1 changed files with 9 additions and 1 deletions

View File

@ -120,6 +120,14 @@ def main():
logging.setup(CONF, "nova")
global LOG
LOG = logging.getLogger('nova.dhcpbridge')
if CONF.action.name == 'old':
# NOTE(sdague): old is the most frequent message sent, and
# it's a noop. We should just exit immediately otherwise we
# can stack up a bunch of requests in dnsmasq. A SIGHUP seems
# to dump this list, so actions queued up get lost.
return
objects.register_all()
if not CONF.conductor.use_local:
@ -130,7 +138,7 @@ def main():
LOG.warning(_LW('Conductor local mode is deprecated and will '
'be removed in a subsequent release'))
if CONF.action.name in ['add', 'del', 'old']:
if CONF.action.name in ['add', 'del']:
LOG.debug("Called '%(action)s' for mac '%(mac)s' with IP '%(ip)s'",
{"action": CONF.action.name,
"mac": CONF.action.mac,