← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1207014] Re: DHCP agent will continue to retry disabling bad networks in DhcpAgent sync_state

 

[Expired for neutron because there has been no activity for 60 days.]

** Changed in: neutron
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1207014

Title:
  DHCP agent will continue to retry disabling bad networks in DhcpAgent
  sync_state

Status in neutron:
  Expired

Bug description:
  In the the neutron master branch, (tip of master's SHA1 is 335f4f0366e78573b7a6f9d051248b363fdc3f9b),
  the DhcpAgent sync state code has two issues:

  1. If the disable_dhcp_helper failed on a network, it will abort and not attempt to disable
  the remaining networks (bug 1202722).
  2. If the disable_dhcp_helper is applied on a bad network, it may continue to call
  disable_dhcp_helper indefinitely.

  Issue 1 has been addressed by bugfix 1202722.  Issue 2 hasn't been
  addressed yet.

  Code for DhcpAgent.sync_state

      def sync_state(self):
          """Sync the local DHCP state with Neutron."""
          LOG.info(_('Synchronizing state'))
          pool = eventlet.GreenPool(cfg.CONF.num_sync_threads)
          known_network_ids = set(self.cache.get_network_ids())

          try:
              active_networks = self.plugin_rpc.get_active_networks_info()
              active_network_ids = set(network.id for network in active_networks)
              for deleted_id in known_network_ids - active_network_ids:
                  self.disable_dhcp_helper(deleted_id)

              for network in active_networks:
                  pool.spawn_n(self.configure_dhcp_for_network, network)

          except Exception:
              self.needs_resync = True
              LOG.exception(_('Unable to sync network state.'))

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1207014/+subscriptions