<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>So, we could build on this. No reason to reinvent, but we might want to expand the number of events.  I'm concerned about things like what happens when flavors change over time.  Maybe the answer is, always append to the flavor/instance-type table.  The code I remember and the admin interface that Ken wrote allowed you to modify flavors.  That would break billing unless you also track flavor modifications.</div><div><br><div apple-content-edited="true">
<div><div style="font-size: 12px; ">-------------------------------------------------</div><div style="font-size: 12px; ">Brian Schott, CTO</div><div style="font-size: 12px; ">Nimbis Services, Inc.</div><div style="font-size: 12px; "><a href="mailto:brian.schott@nimbisservices.com">brian.schott@nimbisservices.com</a></div><div style="font-size: 12px; ">ph: 443-274-6064  fx: 443-274-6060</div></div><div><br></div><br class="Apple-interchange-newline">
</div>
<br><div><div>On Apr 23, 2012, at 1:40 PM, Luis Gervaso wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_extra">I have been looking at : <a href="http://wiki.openstack.org/SystemUsageData">http://wiki.openstack.org/SystemUsageData</a><br><br><div class="gmail_quote">On Mon, Apr 23, 2012 at 7:35 PM, Brian Schott <span dir="ltr"><<a href="mailto:brian.schott@nimbisservices.com" target="_blank">brian.schott@nimbisservices.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "><div style="word-wrap:break-word">Is there a document somewhere on what events the services emit?  <div><div class="im">
<br><div>
<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><div>
<div style="font-size:12px">-------------------------------------------------</div><div style="font-size:12px">Brian Schott, CTO</div><div style="font-size:12px">Nimbis Services, Inc.</div><div style="font-size:12px"><a href="mailto:brian.schott@nimbisservices.com" target="_blank">brian.schott@nimbisservices.com</a></div>
<div style="font-size:12px">ph: <a href="tel:443-274-6064" value="+14432746064" target="_blank">443-274-6064</a>  fx: <a href="tel:443-274-6060" value="+14432746060" target="_blank">443-274-6060</a></div></div><div><br></div>
</span><br>
</div>
<br></div><div><div class="h5"><div><div>On Apr 23, 2012, at 12:39 PM, Monsyne Dragon wrote:</div><br><blockquote type="cite">



<div style="word-wrap:break-word">
<div>This already exists in trunk.  The Notification system was designed specifically to feed billing and monitoring systems. </div>
<div><br>
</div>
<div>Basically, we don't want Nova/Glance/etc to be in the business of trying to determine billing logic, since it is different for pretty much everyone,  so we just emit notifications to a queue and the interested pull what they want, and aggregate according
 to their own rules. </div>
<br>
<div>
<div>On Apr 22, 2012, at 1:50 PM, Luis Gervaso wrote:</div>
<br>
<blockquote type="cite">Hi,
<div><br>
</div>
<div>I want to share the architecture i am developing in order to perform the monitorig / billing OpenStack support:</div>
<div><br>
</div>
<div>1. AMQP Client which listen to RabbitMQ / QPid (this should be interchangeable) (Own Stuff or ServiceMix / Camel)</div>
</blockquote>
<div> </div>
<blockquote type="cite">
<div>2. Events should be stored on a NoSQL document oriented database (I think mongodb is perfect, since we can query in a super easy fashion)</div>
</blockquote>
<div><br>
</div>
<div>We have an existing system called Yagi (<a href="https://github.com/Cerberus98/yagi/" target="_blank">https://github.com/Cerberus98/yagi/</a>) that listens to the notification queues and persists events to a Redis database.  It then provides feeds as ATOM formatted documents
 that a billing system can pull to aggregate data, It also can support PubSub notification of clients thru the pubsubhubub protocol, and push events to a long-term archiving store thru the AtomPub protocol. </div>
<div><br>
</div>
<div>That said, the notification system outputs its events as JSON, so it should be easy to pipe into a json document-oriented db if that's what you need. (we only use ATOM because we have a atom-based archiving/search/aggregation engine (it's open source: <a href="http://atomhopper.org/" target="_blank">http://atomhopper.org/</a>
 ) our in-house systems already plug into. )</div>
<div><br>
</div>
<div><br>
</div>
<br>
<blockquote type="cite">
<div><br>
</div>
<div>3a. The monitoring system can pull/push MongoDB</div>
<div><br>
</div>
<div>3b. The billing system can pull to create invoices </div>
<div><br>
</div>
<div>4. A mediation EIP should be necessary to integrate a billing/monitoring product. (ServiceMix / Camel)</div>
<div><br>
</div>
<div>This is to receive your feedback. So please, critics are welcome!</div>
<div><br>
</div>
<div>Cheers!<br clear="all">
<div><br>
</div>
-- <br>
-------------------------------------------<br>
Luis Alberto Gervaso Martin
<div>Woorea Solutions, S.L<br>
CEO & CTO<br>
mobile: <a href="tel:%28%2B34%29%20627983344" value="+34627983344" target="_blank">(+34) 627983344</a><br>
<a href="mailto:luis.gervaso@gmail.com" target="_blank">luis@</a><a href="http://woorea.es/" target="_blank">woorea.es</a></div>
<br>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</blockquote>
</div>
<br>
<div><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium">
<div style="word-wrap:break-word">
<div>
<div>--</div>
<div><span style="white-space:pre-wrap"></span>Monsyne M. Dragon</div>
<div><span style="white-space:pre-wrap"></span>OpenStack/Nova </div>
<div><span style="white-space:pre-wrap"></span>cell <a href="tel:210-441-0965" value="+12104410965" target="_blank">210-441-0965</a></div>
<div><span style="white-space:pre-wrap"></span>work x 5014190</div>
</div>
</div>
</span></span></div>
<br>
</div>

_______________________________________________<br>Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</blockquote></div><br></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>-------------------------------------------<br>Luis Alberto Gervaso Martin<div>Woorea Solutions, S.L<br>CEO & CTO<br>
mobile: (+34) 627983344<br><a href="mailto:luis.gervaso@gmail.com" target="_blank">luis@</a><a href="http://woorea.es/" target="_blank">woorea.es</a></div><br>
</div>
</blockquote></div><br></div></body></html>