← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1988382] [NEW] L3 agent(agent_mode=dvr_snat) restart, fip namespace removed rfp-port, resulting in fip not connecting

 

Public bug reported:

stable/victoria

openstack network node(agent_mode=dvr_snat) and compute node are the
same node,the VM on this node is bound to fip, but the snat_port of the
router of this VM is located in another network node,VM can access
north-south traffic via fip.But if you restart the l3-agent,The
external_gateway_removed is called during l3-agent restart, causing the
fip on that node to be unreachable

https://github.com/openstack/neutron/blob/stable/victoria/neutron/agent/l3/dvr_edge_router.py
#39

    def external_gateway_added(self, ex_gw_port, interface_name):
        elif self.snat_namespace.exists():
            # This is the case where the snat was moved manually or
            # rescheduled to a different agent when the agent was dead.
            LOG.debug("SNAT was moved or rescheduled to a different host "
                      "and does not match with the current host. This is "
                      "a stale namespace %s and will be cleared from the "
                      "current dvr_snat host.", self.snat_namespace.name)
            self.external_gateway_removed(ex_gw_port, interface_name)

** Affects: neutron
     Importance: Undecided
         Status: New

** Description changed:

  stable/victoria
  
- 
- openstack network node(agent_mode=dvr_snat) and compute node are the same node,the VM on this node is bound to fip, but the snat_port of the router of this VM is located in another network node,VM can access north-south traffic via fip.But if you restart the l3-agent,The external_gateway_removed is called during the reboot, causing the fip on that node to be unreachable
+ openstack network node(agent_mode=dvr_snat) and compute node are the
+ same node,the VM on this node is bound to fip, but the snat_port of the
+ router of this VM is located in another network node,VM can access
+ north-south traffic via fip.But if you restart the l3-agent,The
+ external_gateway_removed is called during l3-agent restart, causing the
+ fip on that node to be unreachable
  
  https://github.com/openstack/neutron/blob/stable/victoria/neutron/agent/l3/dvr_edge_router.py
  #39
  
-     def external_gateway_added(self, ex_gw_port, interface_name):
-         elif self.snat_namespace.exists():
-             # This is the case where the snat was moved manually or
-             # rescheduled to a different agent when the agent was dead.
-             LOG.debug("SNAT was moved or rescheduled to a different host "
-                       "and does not match with the current host. This is "
-                       "a stale namespace %s and will be cleared from the "
-                       "current dvr_snat host.", self.snat_namespace.name)
-             self.external_gateway_removed(ex_gw_port, interface_name)
+     def external_gateway_added(self, ex_gw_port, interface_name):
+         elif self.snat_namespace.exists():
+             # This is the case where the snat was moved manually or
+             # rescheduled to a different agent when the agent was dead.
+             LOG.debug("SNAT was moved or rescheduled to a different host "
+                       "and does not match with the current host. This is "
+                       "a stale namespace %s and will be cleared from the "
+                       "current dvr_snat host.", self.snat_namespace.name)
+             self.external_gateway_removed(ex_gw_port, interface_name)

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

Title:
  L3 agent(agent_mode=dvr_snat) restart, fip namespace removed rfp-port,
  resulting in fip not connecting

Status in neutron:
  New

Bug description:
  stable/victoria

  openstack network node(agent_mode=dvr_snat) and compute node are the
  same node,the VM on this node is bound to fip, but the snat_port of
  the router of this VM is located in another network node,VM can access
  north-south traffic via fip.But if you restart the l3-agent,The
  external_gateway_removed is called during l3-agent restart, causing
  the fip on that node to be unreachable

  https://github.com/openstack/neutron/blob/stable/victoria/neutron/agent/l3/dvr_edge_router.py
  #39

      def external_gateway_added(self, ex_gw_port, interface_name):
          elif self.snat_namespace.exists():
              # This is the case where the snat was moved manually or
              # rescheduled to a different agent when the agent was dead.
              LOG.debug("SNAT was moved or rescheduled to a different host "
                        "and does not match with the current host. This is "
                        "a stale namespace %s and will be cleared from the "
                        "current dvr_snat host.", self.snat_namespace.name)
              self.external_gateway_removed(ex_gw_port, interface_name)

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



Follow ups