16:00:13 #startmeeting 16:00:14 Meeting started Thu Apr 26 16:00:13 2012 UTC. The chair is dachary. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:15 Useful Commands: #action #agreed #help #info #idea #link #topic. 16:00:24 #link http://wiki.openstack.org/Meetings/MeteringAgenda 16:01:12 nijaba: will join later, he is held up by a last minute interview 16:01:45 #topic Agree on the project objectives 16:02:27 nijaba: proposed "The project aims to deliver a unique point of contact for billing systems to aquire all counters they need to establish customer billing, accross all current and future OpenStack components. The delivery of counters must be tracable and auditable, the counters must be easily extensible to support new projects, and agents doing data collections should be independent of the overall system" 16:02:50 That seems like a good start. 16:03:07 I'm not sure how the term "counter" is being used, though. 16:03:34 For example, I may want to list on the bill all of the floating IPs a tenant is using, and how long they have had each of them (total and since the last billing cycle). 16:03:43 So just knowing the number of floating IPs isn't enough. 16:03:56 Is that part of what you mean for how counters will work? 16:04:43 I see a counter as "something that is billable" indeed 16:04:54 maybe the floating IP counter measures hours/minutes per IP just as we do for compute for instance? 16:05:09 I'm just trying to make sure I understand the framing 16:05:11 for IPs they tend to have a fixed cost but the cost may vary 16:05:36 well, it's fixed over a period of time, right? so if I allocate one and then deallocate it later, I am only billed for the time I'm actually using it 16:05:49 yes 16:05:57 granted a tenant will tend to hold on to an IP for a long period of time 16:06:08 If you lease an IP at OVH it's not the same as if you least it from Hetzner for instance 16:06:42 sorry, are those providers? 16:06:52 yes 16:06:57 got it 16:07:14 so maybe my objection is just to the definition of that particular counter, and not to the idea of counters in general 16:07:15 I should say : "someone from whom you lease a number of IP" 16:07:42 that feels like a detail we can work out later 16:07:43 right 16:07:52 the level of detail is tricky 16:07:57 for instance regarding IPs 16:08:10 IPv6 transit is free sometimes 16:08:29 therefore, although it's transit external to the OpenStack cluster, you may want to *not* bill it 16:08:47 and the dinstinction between "extrenal" traffic and "internal" traffic may not be enough 16:09:00 that's an issue for the billing calculation, not the metering, though, right? I may still want to show the customer how much IPv6 traffic they had at $0 so they know how much value they are getting :-) 16:09:05 in which case you may want to add more counters but that may prove unpractical 16:10:00 the metering should provide dinstinctive counters at least. In the proposed table the external network traffic does not distinguish IPv6 and IPv4 16:10:17 I agree, we need to allow for separate counters for those 16:11:01 I assume we will also need to have the counter be per object (per instance, per network, per VIF, etc.) and not global 16:11:01 The database schema meeting will be very much about the granularity of these "counters" or whatever agregated value is deemed useful to keep and expose. 16:11:10 cool, I can wait for that :-) 16:11:40 I don't see anything in the objective statement that I disagree with, then 16:11:50 ok. 16:12:07 the short version is: We are collecting data for another system to use to calculate the bill for a tenant 16:12:28 we aren't going to try to do the actually billing 16:12:29 That's also my understanding. 16:12:41 good, we are on the same page, then 16:12:45 I've read carefully 16:12:47 #link https://lists.launchpad.net/openstack/msg10334.html 16:13:09 and the part about the existing system in nova 16:13:18 #link http://wiki.openstack.org/SystemUsageData 16:13:25 kept me thinking for a while. 16:13:58 I have not had a chance to review that, yet 16:14:15 It actually makes the metering implemetation easier because Dragon is apparently willing to store and account for a lot of counters. 16:15:21 So, instead of harvesting data on its own, the metering agent could query nova on the node itself. And getting the data (I/O for the root device for instance) could be done within the context of nova instead of outside nova. 16:16:19 Dragon made it clear that he wishes other OpenStack components also implement a similar metering logic. But it's not his focus and I don't think there is anything yet in swift. 16:16:23 that seems like a good approach 16:16:28 how much of that is already implemented? 16:16:29 And I did not research what Quantum plans. 16:16:40 that => http://wiki.openstack.org/SystemUsageData ? 16:16:52 yes, sorry 16:16:59 all of it. 16:17:03 oh, wow 16:17:14 It's a good source of data. 16:17:32 oh, these are events not table definitions 16:17:37 Yes. 16:17:39 yeah, so we still need to monitor the events and log them 16:17:44 * dhellmann is reading as we go 16:18:42 dachary: I think the swiftstack were talking about an integrated version for metering swift (merging syn's https://github.com/pandemicsyn/swift-informant) 16:19:20 #link https://github.com/pandemicsyn/swift-informant 16:19:24 yes, this matches what I had been expecting to need to build: something that watches for events and logs them, possibly after post-processing to get data not in the event but needed for billing (like the definition of an instance type) and then a query API on top of it for the tool that extracts the data and aggregates it 16:20:29 chmouel: ok :-) 16:20:34 Agents running on OpenStack nodes harvest data. The data from the existing agents is collected using a message queue. The data collected is made available thru APIs. 16:20:49 ^ this is my onliner to describe the metering architecture. 16:20:49 dachary: Error: "this" is not a valid command. 16:20:58 ? 16:21:08 hahaha I woke up a bot without knowing ;-) 16:21:13 :-) 16:21:38 anyone has a say about the project objectives before we move to the next topic ? 16:22:01 +1 to adopt those objectives 16:22:13 +1 16:22:29 #topic Agree on a project name 16:23:08 Metering and FillBill are proposed 16:23:24 Ceilometer 16:23:34 (an instrument for measuring cloud cover) 16:23:58 * nijaba_tab waves. sorry for being late 16:24:13 nijaba_tab: we just agreed on project objectives 16:24:21 and chosing a name 16:24:29 Ceilometer 16:24:37 was proposed by dhellmann 16:24:51 I actually like Ceilometer 16:24:55 great, thanks 16:25:07 some other ideas on: http://en.wikipedia.org/wiki/Meteorological_instrumentation 16:25:07 nipper has been proposed on the list but I still prefer Ceilometer 16:25:38 Ceilometer sounds cool 16:25:52 +1 for ceilometer 16:25:53 Radiosondes may be easier to say out loud 16:26:06 +1 for ceilometer 16:26:10 * littleidea wants something without 'meter' in the name 16:26:36 "A radiosonde (Sonde is French for probe) is a unit for use in weather balloons that measures various atmospheric parameters and transmits them to a fixed receiver." 16:26:38 +1 for ceilometer 16:26:48 littleidea: when I apt-cache search meter I'd like it to show ;-) 16:27:08 dachary: easily solved 16:27:16 I had put fillbill on the wiki.... ;) 16:28:26 unless there is another proposal shall we vote ? 16:28:32 does the name need to be decided in this meeting? 16:29:09 littleidea: yes, this is blocking us to create the project on lp, have a ml, etc... 16:29:14 littleidea: that's the idea, yes. And then it will be used to create projects, domains, lists etc. 16:29:15 I think the idea is to decide and get to work on implementation, because we need a name before the infrastructure can be set up 16:29:52 Votes for "Metering" : (say +0 or +1) 16:29:57 +0 16:30:03 +0 16:30:07 +0 16:30:10 +0 16:30:15 +0 16:30:17 +0 16:30:34 Votes for "FillBill" : (say +0 or +1) 16:30:39 +0 16:30:40 +0 16:30:44 +0 16:30:44 +0 16:30:49 +1 just because I proposed it 16:30:59 :) 16:31:05 Votes for "Nipper" : (say +0 or +1) 16:31:15 +0 16:31:22 +0 16:31:25 +0 16:31:31 +0 16:31:35 +0 16:31:55 Votes for "Ceilometer" : (say +0 or +1) 16:31:57 +1 16:32:01 +1 16:32:02 +1 16:32:07 +1 16:32:22 +1 16:32:26 +1 16:32:28 please also record a +1 for me for "radiosonde" when that comes up, I have to leave. 16:32:38 k 16:32:52 Votes for "radiosondes" : (say +0 or +1) 16:32:55 +0 16:33:07 dhellmann says : +1 16:33:18 +0 16:33:18 +1 16:33:49 +0 16:33:49 and remember kids, apt-cache search matches descriptions 16:34:01 true 16:34:07 +0 16:34:15 littleidea: yes but *many* descriptions match meter ;-) 16:34:18 +1 16:34:51 dachary: your point is searching for meter is useless anyway? 16:35:03 That's all I have. We have a winner I think : "ceilometer". 16:35:26 apologies, what is being named? 16:35:38 mnewby: http://wiki.openstack.org/Meetings/MeteringAgenda 16:35:47 a project to meter openstack services 16:35:49 danke :) 16:36:07 danke! 16:36:17 Unless someone objects, I'll move on to the next topic. 16:36:59 #topic Agree on a project decision roadmap 16:37:07 yay for ceilometer 16:37:52 so loic and I made a proposal for this on the agenda 16:38:06 loic=dachary 16:38:54 I think these decision are a bit fundamental for the project, so I think having a week to consider each one is not too much 16:39:09 what do you think? 16:39:43 * nijaba_tab blames 3G for the lag 16:39:44 where will discussion around these happens? 16:39:56 on a mailing list, or on IRC during themeeting? 16:40:08 would probably be good to discuss on a list before the meeting, no? 16:40:09 on the ml, during the week before the meeting, then validation on irc meeting? 16:40:20 It would make sense to discuss before the meeting, I think. 16:41:08 flacoste: so that the meeting is not about thinking of solutions but validating the solutions already proposed. Come to an understanding based on the work done during the week. 16:41:18 agreed 16:41:35 where would that happen? the general openstack list? or a openstack-metering list? 16:42:17 openstack-ceilometer list 16:42:18 I'd be tempted to start on the general mailing list because a *lot* of people have shown interest in the topic. 16:42:46 let's cross post at the beginning? 16:42:51 ok 16:43:05 so that it can move to the specialized list of it's too much spam. 16:43:20 +1 for me 16:43:20 However, these discussions are time boxed. 5 topics. 5 weeks. 16:43:30 yes! 16:43:45 After that all is decided. It's a fairly simple project. Which is what I like about it ;-) 16:43:50 the first one, for the next meeting, is which db to use 16:44:21 (sorry if i miss this kind of discussion on the beginnig. but..) in the decision roadmap, i would like to see a kind of requirment gathering about what to count, especially for network traffic metering. 16:44:22 simple, until you hit production 16:44:42 I think it should be on the main list 16:44:59 i agree that it should be on the main list. 16:45:07 jayahn: agree and I think that's part of the "schema choice". 16:45:16 i see. 16:45:18 s/agree/agreed/ 16:45:40 it's the most difficult part in my opinion 16:45:55 decided what to account for, what to aggregate or not. 16:46:12 does it have to be tied to a db? 16:46:17 jayahn, there is a proposal on the blueprint. Feel free to add to it 16:46:18 on of the main idea is that we do not lock on counters, but on data model 16:46:18 so that anyone can add an agent to gather another counter that was not part of the original plan 16:46:18 and each counter gathering is optional 16:47:08 the schema should be flexible enough not to prevent adding counters 16:47:46 nijaba_tab: while this is an open ended definition, metering will define counters by default (the one in the table for instance). I think the core of the discussion will be about these counters. 16:48:20 ok, let's get back on topic. We have 3 proposal for discussion to take place 16:48:23 The default list of counters should be useful to most people and make sense to most usages. It's key to have a consensus on using the metering API. 16:49:30 I propose that we modify "Schema choice" for "Schema choice and counter definitions" 16:49:40 1/On the main mailing list 16:49:40 2/ on the ceilometer one 16:49:40 3/on both using cross posting 16:49:40 Who votes for 1? 16:49:51 +1 16:49:51 1 16:49:54 1 16:50:01 3 16:50:14 1 16:50:42 I'll handle the votes because nijaba_tab lags ;-) 16:51:01 * nijaba_tab does lagg badly 16:51:08 thanks dachary 16:51:22 dachary: i like your proposal (adding counter definitions to the schema topic) 16:51:37 dachary: but i think we should do that one before commiting to a database 16:51:37 #agreed discussions are On the main mailing list 16:51:38 * nijaba_tab votes for 3 16:51:39 i also like adding counter definitions to the schema. 16:52:00 as the schema and counters we need is more likely to inform the db choice 16:52:06 then limiting our schema based on the db 16:52:17 s/then/rather than/ 16:52:17 flacoste: yes 16:52:42 So the proposal is to a/ change the order between 1 and 2, b) to add counters to shcema. works for me 16:53:10 #agreed meeting 2 is : Schema choice and counter definitions 16:53:32 meeting 3 message queue choice 16:54:19 or meeting 3 database choice? 16:54:25 it's about chosing AMQP over RabbitMQ over ... etc 16:55:08 flacoste: I'm confused ? Meeting 1 is database choice or did I miss something ? 16:55:11 dachary: RabbitMQ is an implementation of AMQP 16:55:37 dachary: we should invert 1 and 2 16:55:42 ok 16:56:17 ah, i was counting from this current meeting, but i guess we are using 0, traditional off by one error :-) 16:56:28 :-D 16:56:39 I agree that database choice should come after 16:56:48 littleidea: right ... :-D 16:57:12 so that we know th schema before choosing the db 16:57:12 c vs pascal... 16:57:21 does openstack already have 16:57:33 .. oops.. mistyping. 16:57:37 Why do we need to choose a DB? 16:58:01 littleidea: we need to chose a storage system, definitely 16:58:08 littleidea: because of the massive amount of data we are going to collect 16:58:18 seems like what we should define is a service interface and mechanisms for gathering the information 16:58:38 littleidea: maybe the storage should be pluggable, but let's save that for the DB discussion :-) 16:58:38 Current state: 1 schema and counter definitions, 2 storage system, 3 message queue choice, 4 API message format, 5, external API definition 16:58:44 nijaba_tab: then clearly the db should be cassandra 16:58:51 flacoste: ok 16:59:14 littleidea: I think that's exactly what the second meeting should be about, indeed ;-) 16:59:25 yes, but we could be limited by the type of db, so the reference implementation choice does matter 16:59:33 dachary: does it make sense to discuss 4 and 5 after 1? because again, the message queue and storage might restrict these? 16:59:34 Current state: 1 schema and counter definitions, 2 chose a plugable storage system, 3 message queue choice, 4 API message format, 5, external API definition 17:00:14 * dachary thinking 17:00:18 dachary, LinuxJed, nijaba_tab: heya, the QA meeting starts now... in this channel :) 17:00:34 we overran 17:00:43 to the extent schema is about defining the data we want to collect, that seems right, if schema is about creating tables in a relational model, I think we're going about this the wrong way 17:00:46 flacoste: no big deal :) 17:00:46 jaypipes: ?? 17:00:51 jaypipes: I thought that we have a volume meeting at 10am PST 17:00:51 jaypipes: we'll cut short sorry about that 17:01:07 #endmeeting