<div dir="ltr">So we need to create a decorator method for create(), save(), destroy() etc as following?<br>NOTIFICATION_FIELDS = ['host', 'metadata', ...]<br>
<br>
  @notify_on_save(NOTIFICATION_FIELDS)<br><div id=":1uf" class="">
  @base.remotable<br>
  def save(context):<br><br>  @notify_on_create(NOTIFICATION_FIELDS)<br><div id=":1uf" class="">
  @base.remotable<br>
  def create(context):  <br><br></div><div id=":1uf" class="">Or can we just make the decorator method as generic as possible as following:<br><br>  @notify(NOTIFICATION_FIELDS)<br>
  @base.remotable<br>
  def save(context):<br><br>  @notify(NOTIFICATION_FIELDS)<br>
  @base.remotable<br>
  def create(context):  <br><br></div><div id=":1uf" class="">For above case, the notify() method can handle all cases including create, delete, update etc<br><br></div><div id=":1uf" class="">Comments?<br></div><br></div>
<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-07-30 12:26 GMT+08:00 Dan Smith <span dir="ltr"><<a href="mailto:dms@danplanet.com" target="_blank">dms@danplanet.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">> When reviewing <a href="https://review.openstack.org/#/c/107954/" target="_blank">https://review.openstack.org/#/c/107954/</a> it occurred to<br>
> me that maybe we should consider having some kind of generic object<br>
> wrapper that could do notifications for objects. Any thoughts on this?<br>
<br>
</div>I think it might be good to do this in a repeatable, but perhaps not<br>
totally automatic way. I can see that any time instance gets changed in<br>
certain ways, that we'd want a notification about it. However, there are<br>
probably some cases that don't fit that. For example,<br>
instance.system_metadata is mostly private to nova I think, so I'm not<br>
sure we'd want to emit a notification for that. Plus, we'd probably end<br>
up with some serious duplication if we just do it implicitly.<br>
<br>
What if we provided a way to declare the fields of an object that we<br>
want to trigger a notification? Something like:<br>
<br>
  NOTIFICATION_FIELDS = ['host', 'metadata', ...]<br>
<br>
  @notify_on_save(NOTIFICATION_FIELDS)<br>
  @base.remotable<br>
  def save(context):<br>
      ...<br>
<span class="HOEnZb"><font color="#888888"><br>
--Dan<br>
<br>
</font></span><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><br clear="all"><br>-- <br><div dir="ltr"><div>Thanks,<br><br></div>Jay<br></div>
</div>