<div dir="ltr">Hi,<div>First want to mention that currently health monitor is not a pure DB object: upon creation the request is also send to device/driver.</div><div>Another thing is that there is no delete_health_monitor in driver API (delete_pool_health_monitor only deletes the association) which is weird because potentially health monitors will remain on device forever.<br>
<div><br></div><div>From what I saw from the thread referenced by Salvatore the main argument against health monitor templates approach was:</div><div><i style="color:rgb(83,83,83);font-family:'andale mono','lucida console',monospace;font-size:12px;line-height:18px;white-space:pre-wrap">>In NetScaler, F5 and similar products, health monitors are created</i><br>
</div><div><span style="color:rgb(83,83,83);font-family:'andale mono','lucida console',monospace;font-size:12px;line-height:18px;white-space:pre-wrap">></span><i style="color:rgb(83,83,83);font-family:'andale mono','lucida console',monospace;font-size:12px;line-height:18px;white-space:pre-wrap">beforehand just like in the API, and then they are “bound” to pools (our</i></div>
<div><span style="color:rgb(83,83,83);font-family:'andale mono','lucida console',monospace;font-size:12px;line-height:18px;white-space:pre-wrap">></span><i style="color:rgb(83,83,83);font-family:'andale mono','lucida console',monospace;font-size:12px;line-height:18px;white-space:pre-wrap">association API), so the mapping will be more natural</i></div>
<div><br></div><div>IMO this is a strong argument until we start to maintain several devices/drivers/service_providers per LB service. </div><div>With several drivers we'll need to send create/update/delete_health_monitor requests to each driver and it's a big overhead. Same for pool monitor assiciations as described in Eugene's initial mail.<br>
</div></div><div>I think it's not a big deal for drivers such as F5 to create/delete monitor object upon creating/deleting 'private' health monitor.</div><div>So I vote for monitor templates and 1:1 mapping of 'private' health monitors to pools until it's not too late and I'm ready to implement this in havana.</div>
<div>Thoughts?</div><div><br></div><div>Thanks,</div><div>Oleg</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 20, 2013 at 6:53 PM, Salvatore Orlando <span dir="ltr"><<a href="mailto:sorlando@nicira.com" target="_blank">sorlando@nicira.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The idea of health-monitor templates was first discussed here: <a href="http://lists.openstack.org/pipermail/openstack-dev/2012-November/003233.html" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2012-November/003233.html</a><div>

See follow-up on that mailing list thread to understand pro and cons of the idea.</div><div><br></div><div>I will avoid moaning about backward compatibility at the moment, but that something else we need to discuss at some point if go ahead with changes in the API.</div>

<div><br></div><div>Salvatore</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On 20 June 2013 14:54, Samuel Bercovici <span dir="ltr"><<a href="mailto:SamuelB@radware.com" target="_blank">SamuelB@radware.com</a>></span> wrote:<br>

</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I agree with this.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">We are facing challenges when the global health pool is changed to atomically modify all the groups that are linked to this health check as the groups might
 be configured in different devices.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">So if one of the group modification fails it is very difficult to revert the change back.<u></u><u></u></span></p>


<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Sam.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Eugene Nikanorov [mailto:<a href="mailto:enikanorov@mirantis.com" target="_blank">enikanorov@mirantis.com</a>]
<br>
<b>Sent:</b> Thursday, June 20, 2013 3:10 PM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Cc:</b> Avishay Balderman; Samuel Bercovici<br>
<b>Subject:</b> [Quantum][LBaaS] Feedback needed: Healthmonitor workflow.<u></u><u></u></span></p><div><div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi community,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Here's a question.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Currently Health monitors in Loadbalancer service are made in such way that health monitor itself is a global shared database object. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">If user wants to add health monitor to a pool, it adds association between pool and health monitor.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">In order to update existing health monitor (change url, for example) service will need to go over existing pool-health monitor associations notifying devices of this change.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I think it could be changed to the following workflow:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Instead of adding pool-healthmonitor association, use health monitor object as a template (probably renaming is needed) and add 'private' health monitor to the pool. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">So all further operations would result in changing health monitor on one device only.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">What do you think?<u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>

<br></div></div>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>