<div dir="ltr">If you go this route, taas will have to implement flow recovery logic itself as well if you want hitless restarts.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 16, 2015 at 5:28 PM, Soichi Shigeta <span dir="ltr"><<a href="mailto:shigeta.soichi@jp.fujitsu.com" target="_blank">shigeta.soichi@jp.fujitsu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
 Thank you for your helpful comments.<br>
<br>
 I'd like to update my proposal as follows:<br>
<br>
  1. Set an integer cookie value to taas flows.<br>
     Maybe all "1" for short term tentative value.<br>
  2. Modify the cleanup logic in ovs-agent not to delete flows<br>
     which have a reserved integer cookie value.<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Sorry, that I don't see this earlier. Yes, cookies have integer values, so<br>
we won't be able to set string there. May be we can have a reserved integer<br>
cookie value for a project like all "1".<br>
<br>
I won't support idea of modifying cleanup logic not to drop 0x0 cookies.<br>
During implementation of graceful restart it was not dropped at first, but<br>
I get rid of it  as having a lot of flows not related to anything was not<br>
desirable, so we should try to avoid it here, too.<br>
<br>
On Wed, Dec 16, 2015 at 7:46 AM, Soichi Shigeta <<br>
<a href="mailto:shigeta.soichi@jp.fujitsu.com" target="_blank">shigeta.soichi@jp.fujitsu.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
    o) An idea to fix:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
       1. Set "taas" stamp(*) to taas flows.<br>
       2. Modify the cleanup logic in ovs-agent not to delete entries<br>
          stamped as "taas".<br>
<br>
       * Maybe a static string.<br>
         If we need to use a string which generated dynamically<br>
         (e.g. uuid), API to interact with ovs-agent is required.<br>
<br>
<br>
</blockquote>
   Last week I proposed to set a static string (e.g. "taas") as cookie<br>
   of flows created by taas agent.<br>
<br>
   But I found that the value of a cookie should not be a string,<br>
   but an integer.<br>
<br>
   At line 187 in<br>
"neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":<br>
   self.agent_uuid_stamp = uuid.uuid4().int & UINT64_BITMASK<br>
<br>
   In case of we set an integer value to cookie, coordination<br>
   (reservation of range) is required to avoid conflict of cookies with<br>
   other neutron sub-projects.<br>
<br>
   As an alternative (*** short term ***) solution, my idea is:<br>
   Modify the clean up logic in ovs agent not to delete flows whose<br>
   "cookie = 0x0".<br>
   Because old flows created by ovs agent have an old stamp, "cookie =<br>
   0x0" means it was created by other than ovs agent.<br>
<br>
   # But, this idea has a disadvantage:<br>
     If there are flows which have been created by older version of ovs<br>
     agent, they can not be cleaned.<br>
<br>
</blockquote></blockquote>
<br>
<br>
<br></div></div><div class="HOEnZb"><div class="h5">
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div>Kevin Benton</div></div>
</div>