<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi,<br>
      <br>
      2017. 03. 30. 2:10 keltezéssel, Sterdnot Shaken írta:<br>
    </div>
    <blockquote
cite="mid:CALkHJzFSpKeF_Z-FGGKUiRJwG3LMNavP+ZLAZ4=sWPezr+fbfA@mail.gmail.com"
      type="cite">b) why are they different times?<br>
    </blockquote>
    Just an idea, but it used to happen because of the underlaying
    switches CAM table expiration (it can be set on indrustrial devices,
    in our brocade, it's 300 sec by default).<br>
    <br>
    For this problem to solve, vrrp routers has to broadcast gratuitous
    ARPs with _only_ the virtual MAC and the IP (kind of force to the
    switch, to learn the new state).<br>
    Check out this: <a class="moz-txt-link-freetext" href="https://tools.ietf.org/html/rfc3768#section-8.2">https://tools.ietf.org/html/rfc3768#section-8.2</a><br>
    <br>
    In neutron side, there is a config option in neutron.conf [DEFAULT]
    section, which is "send_arp_for_ha". This is an integer, which used
    to send as many ARPs, that you have configured.<br>
    <br>
    BTW, we have this corrected, but sometimes it takes a while for
    neutron to came up, and make things works (we use Mitaka) because if
    i understand right, the l3 agent, which handle the state changes on
    a single thread now, and they introduced a  <code class="docutils
      literal" style="color: rgb(62, 67, 73); font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: left; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);"><span class="pre">ha_keepalived_state_change_server_threads</span></code><span
      style="color: rgb(62, 67, 73); font-family: Arial, sans-serif;
      font-size: 14.4px; font-style: normal; font-variant-ligatures:
      normal; font-variant-caps: normal; font-weight: normal;
      letter-spacing: normal; orphans: 2; text-align: left; text-indent:
      0px; text-transform: none; white-space: normal; widows: 2;
      word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(255, 255, 255); display: inline !important;
      float: none;"><span class="Apple-converted-space"> </span></span>
    option in Newton, which is: <br>
    <br>
    "A new option ha_keepalived_state_change_server_threads has been
    added to configure the number of concurrent threads spawned for
    keepalived server connection requests. Higher values increase the
    CPU load on the agent nodes. The default value is half of the number
    of CPUs present on the node. This allows operators to tune the
    number of threads to suit their environment. With more threads,
    simultaneous requests for multiple HA routers state change can be
    handled faster."<br>
    <br>
    Source:
<a class="moz-txt-link-freetext" href="https://docs.openstack.org/releasenotes/neutron/newton.html#upgrade-notes">https://docs.openstack.org/releasenotes/neutron/newton.html#upgrade-notes</a><br>
    <br>
    My another (and last) guess is the reboot/boot process of your
    network node... how did you do it? (I mean, gracefull, or a pure
    reset?) It may can add a few seconds too, since gracefull shutdown
    service stopping dependecies could create a few secs, where some of
    the required services not running... (just an example from our boot
    process, as i saw after a bit debugging: <br>
     - Start OVS (without any dynamic data)<br>
     - Start L3 agent (and it's start keepalived)<br>
     - New keepalived instance connect to OVS HA network (and L3 agent
    start to push the dynamic config to OVS)<br>
     - Until they HA network are up and running on both network side
    (keepalived daemons can talk to each other) the 2 neutron has
    master-master state on the same subnet<br>
     - When they can talk, one of them goes to backup (and the
    gratuitous ARP came in again, but maybe just mix things up, since
    the few secs of master-master state mix things up on the CAM table
    of your switch(es))<br>
    <br>
    Hope that gives you some clue, where to start debugging :)<br>
    <br>
    Regards: <br>
     Peter<br>
  </body>
</html>