← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1840979] Re: [L2] update the port DB status directly in agent-side

 

We discussed that idea during drivers meeting on 25.10.2019. Sum up of
discussion is that we don't want to do such radical change in neutron's
architecture. Main reasons for that are:

1. This can make upgrades much harder as when DB schema change happens,
neutron agents cannot talk with DB until neutron agents are upgraded,

2. there is plan to converge with OVN so lets focus on that instead of
doing so radical changes to existing agents,

3. this may impact security of whole deployment.

So I'm closing this RFE as not approved.

** Tags removed: rfe-triaged
** Tags added: rfe

** Changed in: neutron
       Status: In Progress => Won't Fix

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

Title:
  [L2] update the port DB status directly in agent-side

Status in neutron:
  Won't Fix

Bug description:
  When ovs-agent done processing the port, it will call neutron-server to make some DB update.
  Especially when restart the ovs-agent, all ports in one agent will do such RPC and DB update again to make port status consistent. When a large number of concurrent agent restart happen, neutron-server may not work fine.
  So how about making the following DB updating locally in neutron agent side directly? It may have some mechanism driver notification, IMO, this can also be done in agent-side.

      def update_device_down(self, context, device, agent_id, host=None):
          cctxt = self.client.prepare()
          return cctxt.call(context, 'update_device_down', device=device,
                            agent_id=agent_id, host=host)

      def update_device_up(self, context, device, agent_id, host=None):
          cctxt = self.client.prepare()
          return cctxt.call(context, 'update_device_up', device=device,
                            agent_id=agent_id, host=host)

      def update_device_list(self, context, devices_up, devices_down,
      ret = cctxt.call(context, 'update_device_list',

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


References