← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1389488] [NEW] Neutron server should raise exception when invalid timestamp from agent received

 

Public bug reported:

When neutron server receives agent state info from "report_state" rpc,
it will check if the time is later than the server start time. If not,
server will not update agent state. See the code below:

time = kwargs['time']
time = timeutils.parse_strtime(time)
if self.START_TIME > time:
    LOG.debug(_("Message with invalid timestamp received"))
    return

Here comes the problem. When OVS agent starts, it will send server a
message with "start_flag" to tell server it's up, via "report_state"
rpc. But if neutron server starts later than the agent, based on the
logic discussed above, server won't update the start time of the agent.
In the agent side, OVS agent treats it a successful rpc and won't send
"start_flag" again. As a result, the start time of OVS agent cannot be
correctly updated.

I think neutron server should raise exception when receiving invalid
timestamp, so agent can re-send the "start_flag" message.

** Affects: neutron
     Importance: Undecided
     Assignee: Xurong Yang (idopra)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Xurong Yang (idopra)

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

Title:
  Neutron server should raise exception when invalid timestamp from
  agent received

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  When neutron server receives agent state info from "report_state" rpc,
  it will check if the time is later than the server start time. If not,
  server will not update agent state. See the code below:

  time = kwargs['time']
  time = timeutils.parse_strtime(time)
  if self.START_TIME > time:
      LOG.debug(_("Message with invalid timestamp received"))
      return

  Here comes the problem. When OVS agent starts, it will send server a
  message with "start_flag" to tell server it's up, via "report_state"
  rpc. But if neutron server starts later than the agent, based on the
  logic discussed above, server won't update the start time of the
  agent. In the agent side, OVS agent treats it a successful rpc and
  won't send "start_flag" again. As a result, the start time of OVS
  agent cannot be correctly updated.

  I think neutron server should raise exception when receiving invalid
  timestamp, so agent can re-send the "start_flag" message.

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


Follow ups

References