15:00:24 #startmeeting ceilometer 15:00:25 Meeting started Thu Aug 8 15:00:24 2013 UTC and is due to finish in 60 minutes. The chair is jd__. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:26 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:28 The meeting name has been set to 'ceilometer' 15:01:07 o/ 15:01:11 o/ 15:01:12 o/ 15:01:13 #link https://wiki.openstack.org/wiki/Meetings/MeteringAgenda 15:01:15 o/ 15:01:18 o/ 15:01:20 o/ 15:01:45 o/ 15:01:49 o/ 15:01:49 o/ 15:01:51 0/ 15:01:56 hello everyone 15:02:38 o/ 15:02:42 I realize I have forgotten to send the agenda to the list 15:02:55 sorry about that 15:03:05 #topic Review Havana-3 milestone 15:03:13 #link https://launchpad.net/ceilometer/+milestone/havana-3 15:03:28 so we are really getting late 15:03:38 Alarm history API patches coming soon 15:03:43 to the point that ttx will remove blueprints next Tuesday if we don't start merging things 15:03:53 (making good progress on this) 15:03:56 o/ 15:04:15 you know that guy is scary and not kidding, so we should hurry up 15:04:21 yep, understood 15:04:36 jd__, removing 'not started' blueprints? 15:04:38 https://blueprints.launchpad.net/ceilometer/+spec/double-entry-accounting was moved to the stacktach-integration-pt2 BP, which is targeted for icehouse 15:05:00 gordc: yeah, and likely only high/medium things since we don't care about low ones 15:05:08 sandywalsh: ack 15:05:21 I think I have all our other stuff moved 15:05:32 jd__: we have one that's been superseded, I think....perhaps others do too. Should everyone be cleaning house? 15:05:45 nealph: which one? 15:05:58 always a good idea to clean anyway 15:06:17 herndon, is going to do a double somersault from the high dive to get https://blueprints.launchpad.net/ceilometer/+spec/extended-client-operations in H3 :) 15:06:29 what happens if I don't get my blueprint done? (worried) 15:06:41 API extensions...I need to look at it a little closer before taking it off. perhaps it's just postpone to Icehouse (it's low anyways) 15:06:43 jd__, i think there's some overlap on this bp: https://blueprints.launchpad.net/ceilometer/+spec/count-api-requests 15:06:53 maybe you want to sync up on that. 15:06:55 * terriyu 's blueprint: https://blueprints.launchpad.net/ceilometer/+spec/api-group-by 15:07:33 terriyu: well, that shouldn't happen because we need it so I'll step in I think on this one 15:07:47 nealph: ack 15:08:07 gordc: yes, there's overlap with what you're doing we shall discuss this at some point 15:08:20 jd__, cool cool 15:08:23 gordc: I have a plan, didn't have time to expose yet 15:08:49 jd__, Toni said he didn't have much time to merge https://blueprints.launchpad.net/ceilometer/+spec/monitoring-physical-devices, and asked me to do it. 15:09:03 llu-laptop: what will you do? 15:09:06 jd__: I'll try to start merge it next week. 15:09:24 my big concern is oslo-common reviews taking a really long time 15:09:25 jd__: got stuck by other things in 2 weeks. :-( 15:09:54 sandywalsh: feel free to add me as reviewer on that, I do it once in a while but I can hurry on some 15:10:02 llu-laptop: ack 15:10:08 jd__, will do 15:10:16 o/ (didn't notice meeting was on a different channel) 15:10:50 anything else on that topic? 15:11:15 #topic Release python-ceilometerclient? 15:11:41 we need to release it after https://review.openstack.org/#/c/40450/ lands to please mordred 15:11:54 yes! please! 15:12:01 it will make bunny rabbits smile 15:12:03 also just proposed https://review.openstack.org/#/c/40888 15:12:14 mordred: btw did you notice my comment about the huge amount of Change-Id in that? 15:12:20 (add support for new alarm repeat_actions attribute) 15:12:30 eglynn: ah so cool 15:12:37 jd__: I will fix - (there was a bug in my script) 15:12:53 mordred: ack 15:12:57 but other than that, defo should release soon to pick up fix to the auth_token logic 15:13:23 I seem to remember only me or eglynn can release 15:13:36 jd__: fixed and uploaded 15:13:38 jd__: yep, I think that's correct 15:13:44 eglynn, that auth_token fix is already merged? 15:13:47 so I think I'll take the action for this time? 15:13:58 gordc: yep https://bugs.launchpad.net/python-ceilometerclient/+bug/1207441 15:14:00 Launchpad bug 1207441 in python-ceilometerclient "keystoneclient.auth_token property is prematurely evaluated, misses refresh on token expiry" [High,Fix committed] 15:14:08 #action jd__ Release python-ceilometerclient 15:14:28 gordc: sorry, wrong link ... https://review.openstack.org/39754 15:14:34 eglynn, cool cool. just checking to see if i needed to review 15:14:47 gordc: cool 15:15:07 #topic Event API Blueprint Modification 15:15:29 #link https://blueprints.launchpad.net/ceilometer/+spec/specify-event-api 15:15:29 https://wiki.openstack.org/wiki/Ceilometer/blueprints/Ceilometer-specify-event-api 15:16:37 In a code review yesterday, jd_ suggested a modification to the event api. As this was reviewed by a number of people, I wanted to get some feedback. I think sandywalsh and dhellman were involved substantially? 15:17:08 dhellmann_ is away today 15:17:10 me as well 15:17:16 basically, should the traits api be moved under /event_types? 15:18:01 hmm 15:18:10 this call was confusing: /v2/events/(event_type)/traits/ - should we change it to /v2/event_types/(event_type)traits 15:18:43 if 'traits' is about listing the traits for an event type, yes 15:18:46 yeah, I think that's a good suggestion 15:18:54 unless I misunderstood the /traits meaning :) 15:19:19 event_types is generic and /events is specific (like a class vs an instance) 15:19:40 yeah that makes sense to me 15:19:53 allright. I think /v2/events/(event_type)/traits/(trait)/ makes sense still. agree? 15:19:53 you could have /v2/events/(event_id)/traits/ too 15:20:07 herndon: no 15:20:18 you can't have an event_type a key in /events/ 15:20:22 you can't have an event_type as key in /events/ 15:20:31 I tend to lean towards /event_types//traits I think 15:20:51 herndon: don't mix keys under a path 15:21:00 ok :) 15:21:24 I will update the BP and submitted a new patch with this change. 15:21:25 jd__, so how would you suggest "give me all events of this type"? 15:21:51 oh, I see your point 15:21:53 sandywalsh: /v2/events?filter= 15:21:59 yes, absolutely 15:22:17 the meter API is crap in this regard btw, I hope we'll fix this in v3 :( 15:22:36 (and in a lot of other things anyway) 15:22:56 If we added /v2/events/(event_type), it could return all events of a type without having to use query filters. 15:23:15 then traits may make more sense as /v2/events/(event_type)/traits and /v2/events/(event_type)/traits/(trait_name) 15:23:17 herndon: Why do we not want to use query filters? 15:23:41 herndon: but if I have an event id of 'foobar' and a message type of 'foobar' you /events/foobar is going to fail; don't mix keys! 15:24:05 ok. so ignore my suggestion :p 15:24:49 yeah, sorry herndon I should have picked up on that before. I think jd__'s suggestion makes sense. The filter approach is cleaner. 15:24:50 and earlier discussion with sandywalsh seems to indicate having message_id as primary key is really good idea :) 15:25:02 so everything's going to connect 15:25:13 okey dokey, I'm satisfied. 15:25:17 is there a reason we can't use path params? 15:25:35 /v2/events/;event_type=x/traits? 15:25:39 apmelton: doesn't make sense because things aren't hiearchical 15:25:45 the path param should be related to the parent resource 15:26:01 so /events/ 15:26:13 but other things should be filter params 15:26:33 agreed 15:27:06 #topic Open discussion 15:28:04 lovely day 15:28:08 :-) 15:28:19 sandywalsh, agreed :) 15:28:35 it's finally not sweltering 15:28:50 40 degrees C here :( 15:29:17 me too :( 15:29:21 ouch 15:29:24 * gordc wonders how long weather talk can continue for.lol 15:29:41 I just wish they didn't spread manure in the field near the garden 15:29:42 high is 104F here. 15:29:42 gordc: indefinitely if necessary ;) 15:29:50 So, I was digging into the resource metadata bug. 15:29:55 we still have this place for 31 minutes, enjoy 15:29:55 eglynn, we got 30mins. 15:30:13 Why do we use the Meter table instead of the Resource table when querying for resources? 15:30:29 thomasm: in which driver? 15:30:50 well actually my question doesn't really matters 15:31:02 the resource table is pretty useless 15:31:17 when you want to know which resources where sampled during a certain time 15:31:23 you HAVE to check the meter table 15:31:28 Well I was looking in SQLAlchemy, but the resource table is just a rollup of the current resource state. 15:31:36 YEah, that's what I figured 15:31:43 anyway, the reason we're getting old metadata is because of the group_by 15:31:44 it's a bad rollup 15:31:46 in get_resources 15:32:00 I'm pretty sure these tables should go away… I'm going in that direction in the MongoDB driver 15:32:06 So any objection to adding resource_metadata to Meter? 15:32:10 IT's already there 15:32:16 Each meter has resource metadata associated 15:32:24 thomasm: feel free to rewrite without using the resource table yeah 15:32:43 thomasm: I just have a patch that went in for that in MongoDB using aggregate() 15:33:05 s/in MongoDB/in our MongoDB driver/ 15:33:28 same applies to user and projects, which are not even connected to the v2 api I *think* 15:33:38 thomasm: Is the doc not up to date on Meter, because I don't see it there 15:33:56 epende_: we're talking about storage, not what the API exposes 15:34:29 Ok to add an implementation to allow metadata to be exposed and used for filtering? 15:34:35 on Meter 15:35:02 along with an update to the API 15:35:58 jd__: I'm not as familiar with Mongo. What're you aggregating there? The group_by is used to return a list of resources, but when you want the latest on a single resource, you have to just query on that and get the last one - that's where the Resource table would come in handy, but yes we lose the timestamp functionality - which isn't really useful unless we're trying to get resource latest state within a specific time peri 15:35:58 od; seems odd. 15:36:02 we already have that, I don't think we're talking about the same thing epende_ 15:36:42 thomas: well aggregate in MongoDB is what you would call group by I guess in SQL :) 15:36:45 epende_, metadata is exposed through Sample 15:37:08 jd__: ah, okay. The current SQLAlchemy driver uses the meter table, but that group_by screws it up when it's looking for the latest resource state. 15:37:11 thomasm: I consider the general case as having a timestamp range, and that just is useless in the end 15:37:25 s/that/the resource table/ 15:37:38 gordc: Yes, but that requires getting sample(s) in order to select meters based on metadata 15:37:41 possibly many samples 15:38:09 It would be nice to have a way to get certain Meters without getting all the Samples 15:38:09 jd__: Fair. The API spec shows that it returns last updated timestamp (I think) with the resource_id query. 15:38:29 jd__ I'll patch it up and see what we get :) 15:38:33 thomasm: that's just went in a few hours ago 15:38:43 Getting a sample requires the client to know what the meter id is 15:38:57 Which means the client must have foreknowledge of the meter id list 15:39:12 Which prevents an ignorant client from traversing the API 15:39:26 jd__: What went in a few hours ago? 15:39:40 epende_, i believe it's because metadata isn't necessarily the same everytime a meter is captured... the same reason meter dpesm 15:39:41 thomasm: the change that returns first and last timestamp of a resource 15:39:49 jd__: Ohhhhh 15:39:59 jd__: I'll have to pull 15:39:59 s/meter dpesm/meter doesn't have a volume/ 15:40:02 Thanks 15:40:07 thomasm: sure thing! :-) 15:40:12 gordc, does it have to be the same each time? 15:41:04 epende_, the way i see it, Meters are just a roundup/overview of Samples. 15:41:07 A similar discussion was had here: https://bugs.launchpad.net/ceilometer/+bug/1194593 15:41:09 Launchpad bug 1194593 in ceilometer "Meter object in reporting API does not allow resource_metadata attribute" [Wishlist,Triaged] 15:42:08 epende_, whoa, a lot of discussion there. i'll need to read up on that. ignore my comments :) 15:42:19 NP, should have thrown that out there first :) 15:42:47 Thanks for the feedback 15:43:52 #endmeeting