20:02:40 #startmeeting glance 20:02:41 Meeting started Thu Oct 31 20:02:40 2013 UTC and is due to finish in 60 minutes. The chair is markwash. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:02:42 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:02:45 The meeting name has been set to 'glance' 20:02:55 we have little monsters wandering through the office pilfering sweets :-) 20:02:55 o/ 20:03:20 hehe 20:03:38 special "halloween" episode of the glance meeting 20:03:44 markwash: did you get a chance to look at eddie's pic 20:03:48 and here I haven't gorged myself on candy yet 20:03:53 markwash: haha yeah :) 20:04:07 nikhil___: no I think I must have missed that 20:04:17 here it comes 20:04:19 https://drive.google.com/file/d/0B9Ycgkgf21YCcHJDR0c2MDhPZTQ/edit?usp=sharing 20:04:41 hi 20:05:16 agenda here: https://etherpad.openstack.org/p/glance-team-meeting-agenda 20:05:53 only real items on there are: 1) glanceclient cross-version api and 2) worker checkin 20:06:04 let's talk about glanceclient first 20:06:12 #topic glanceclient v1/v2 cross version api 20:06:32 background in the following thread 20:06:35 #link http://lists.openstack.org/pipermail/openstack-dev/2013-October/016875.html 20:06:37 oh boy 20:06:43 :-) 20:07:31 some more background here as well 20:07:33 #link https://review.openstack.org/#/c/33327/ 20:07:42 an old patch we discussed before 20:08:28 I think the key question in my mind is, does it really make sense to publish client libs that 100% follow the versioning scheme of the server library? 20:09:15 yeah, I've wrestled with this a bit in my mind as well 20:09:19 or should library api versioning be independent? 20:09:46 on the one hand, I like the idea of having the api version differences hidden behind a unified interface 20:10:02 but what do you do with functional differences? 20:10:54 yeah 20:11:08 I have not reached a satisfactory conclusion in my thinking :-( 20:11:22 I think that might help define the times when you want to make a major version change in the client library as well 20:12:13 so in that scheme, we could have done things this way 20:12:26 had v1 of the glancelient keep pretty close functionality with the v1 api 20:12:40 but it could be portable to the v2 api to a certain extent, if that's feasible? 20:13:18 and then when there was v2 functionality that we could not possibly make work with the client v1 interface, we'd have to publish a v2 client as a separate major version of python-glanceclient 20:13:56 one thing I'm not sure about is how easy / acceptable it is for us to simultaneously maintain the 1.x "Head" and the 2.x "Head" of the client library 20:14:39 yeah, that could get messy 20:15:15 that might be a good question to punt up to the list 20:15:23 tho it might be the "least bad" thing 20:15:34 it might be a problem for packagers as well 20:15:59 I would hope that very soon the v1 client could be frozen with no more updates 20:16:40 so might be less of an issue, at least until we hit the flux of a v2 / v3 transition 20:16:47 heh 20:17:26 how could we freeze it? just not accept more updates to the code in that directory in the client repo? 20:19:03 I guess what I'm thinking is at some point we have a released 1.x client and there are no more updates to that release after some point 20:19:25 gotcha, I think that makes sense 20:19:32 less about freezing the code and more of "you want to use glance v1, you have to use glanceclient v1.x" 20:20:23 I kinda like the idea of glanceclient v2 being able to work with v1 as well, in some forms. . not sure if such an api is possible 20:21:43 esheffield: do you think there are any strategic moves we could take soon to help improve this situation? 20:22:44 possibly something like ghe's patch from earlier 20:22:48 and are there any other folks who feel like they have spare bandwidth to work on this v1 v2 compatibility for nova? 20:23:07 an interface that supports the most common functionality between the two at first 20:23:37 how close is Ghe's patch to that? 20:23:47 I would be interested to know how to deal with the "location" with the v1 api? 20:24:23 well, ghe's patch was mostly the imageservice pulled from nova 20:24:41 so it was still just v1, but basically represented that common functionality 20:25:04 the patch I have up for nova essentially allows switching v1 / v2 behind that interface 20:25:36 and not have both of them, that's correct? 20:26:37 what is the location issue? 20:26:47 sorry, I'm not super familiar with this 20:27:09 my understanding is that you can get the location(s) of the image with the v2 api 20:27:24 twoputt: glance only show direct url/location to client in v2 api, if admin enable it. 20:27:50 hmm, but its definitely something we'd like nova to use 20:28:08 on the consumer side its easy, nova can use the location IF its present 20:28:08 twoputt: yes, v1 always not expose location to client. 20:28:52 on the producer side (nova uploading an image directly to a store, and then passing the location off to glance) there might be some compatibility as well 20:29:03 so maybe that just works 20:29:04 so for example, in the future the vmware driver in nova will need to get this location. consequently, nova should be able to talk v1/v2 at the same time 20:29:09 of course, v1 won't show multiple locations 20:30:00 v1 won't show any locations 20:30:18 zhiyan: right, sorry 20:30:26 ok 20:30:34 I meant to say, v1 can accept a *single* location as a register action 20:30:50 but does not have semantics for adding a location 20:31:44 so if we wanted to nova to do cool stuff like upload to multiple stores on snapshot, for example to save to cinder and swift, the common client could not support that 20:32:41 sounds that way to me 20:33:08 well, I'm having a hard time wrapping my head around this now :-( 20:33:59 maybe we should revisit the issue later? 20:34:09 heh, welcome to my world of the last couple months! :-) 20:34:52 say 5 for tasks and we'r game :) 20:35:10 #topic tasks 20:35:24 markwash: so from Ghe's patch, you prefer we move the nova/cinder 's consuming code to glanceclient? but i'm confulsed is that for nova/cinder it still need choice using v1/image_service.py or v2/image_service.py , since they are just different essentially ... 20:35:49 whoops, switched too soon! 20:36:00 markwash: :) 20:36:19 zhiyan: I think that's a reasonable confusion 20:36:28 markwash: i'm ok, we can talk this later. 20:36:39 zhiyan: right now the glance functionality that nova needs is common to v1 and v2, so a single image service could work with swappable "drivers" for v1 / v2 behind it 20:36:40 one sec, I think your comment is a bit of clarity for me 20:37:18 but if nova starts to require say multiple locations, that's a v2 only thing so that becomes more problematic 20:37:25 yes 20:37:35 and I think this might come soon 20:38:03 esheffield: but IMO only some special function, like locations, can help nova do sush cool things... 20:38:05 if that's the case, then we just need to figure out how to get everyone useing v2 20:38:48 markwash: so the migration cost is high, 1->2, 2->3.. 20:39:41 so, if we could make a client API that makes the helpful parts of v2 discoverable 20:39:49 seems the cost probably can not be saved. 20:40:09 like, say if the library tells you something useful like "can we add locations?" 20:40:32 then its possible nova could be using this client API with both v1 and v2 glance 20:40:39 duck typing ftw! 20:41:00 and only try to do these new features if the library says they're available 20:41:33 that does mean client users have to be ready with a fallback 20:41:47 if an expected feature isn't there 20:42:05 esheffield: yeah, true. . there may be graceful fallbacks though. . I'm not sure 20:42:10 i'm thinking how it work if glance server disable one api version 20:42:48 if so, we need have a function list, allow consumer do the function-availibitly query 20:43:19 * markwash falls back into a bit of confusion 20:43:53 next topic? time is short, and nikhil___ i waiting :) 20:44:05 I guess let's keep stewing on this and see if we have any clearer ideas in the future 20:44:11 #topic tasks for real 20:44:14 tasks! 20:44:30 yay! 20:44:44 what's the latest update? 20:44:46 thanks all for all the prompt reviews when we needed it most :) 20:44:52 really really appreciate it!! 20:45:12 markwash: I updated the latest executor interface patch up 20:45:29 https://review.openstack.org/#/c/44355/ 20:45:48 and this completes the chain for all that has been discussed and is waiting for reviews 20:46:29 wanted to ask if we had (at least some level) of agreement of the executor interface supported atm ? 20:47:41 nikhil___: is it basically just the "run(task_details)" that I see? 20:48:28 markwash: general outline of the factory/pattern proposed atm 20:48:54 yeah and now I see that it mostly relates to run task part 20:49:21 nikhil___: not sure you noticed, i have put some comments in https://review.openstack.org/#/c/46117/ 20:49:35 would folks be available to review during the summit ? :) 20:49:40 i think they are applicable for #44355 20:49:50 nikhil___: I see a little difference there in the executor factory 20:49:54 the way it is used makes a lot of sense 20:50:08 but the way its defined, it looks like you pass in the task itself 20:50:16 * markwash might be wrong 20:50:24 nikhil___: i think/like do it in my night (really night, this time) 20:51:21 I'll definitely be able to review today and during the summit somewhat 20:51:33 markwash: def run(self, task_id, task_status, task_type, task_input): has this signature proposed 20:51:51 this would be kind of a contract, I'm guessing 20:52:15 okay cool, i'll focus on that in my review in the next few hours 20:52:22 between the scripts and glance code supporting them 20:52:29 thanks markwash zhiyan 20:52:40 does that cover tasks for now? 20:52:43 zhiyan: did not quite get your earlier comment though 20:52:56 np nikhil 20:53:12 markwash: yeah, mostly. I wanted to see how the position was of community 20:53:15 on this MP 20:53:16 okay cool 20:53:21 I think generally positive 20:53:25 from me at least 20:53:28 https://review.openstack.org/#/c/54198/6 20:53:40 last few minutes for open discussion? 20:53:43 that has some comments and will address that 20:54:15 some discussion was around the status transition checks and wanted to ensure everyone was on the same page about how status is being viewed in general 20:54:29 nikhil___: thanks 20:54:38 seems to be like status and state of tasks is kinda intermingled so that's that 20:54:50 that was the last bit, promise. markwash :) 20:55:07 no worries 20:55:10 #topic open discussion 20:56:23 is it the good time to ask for reviews? :) that's my first glance meeting *halloween* 20:56:23 as I suspected :-) 20:56:25 quick asking, can someone tell me what "atm" mean? thanks 20:56:38 twoputt: sure, any time is good for review requests! 20:56:50 zhiyan: "at the moment" I believe 20:57:14 aha, got it 20:57:38 I have this small patch https://review.openstack.org/#/c/52998/ -- any feedback would be nice ;) 20:59:36 cool 21:00:05 all right, thanks folks, happy halloween! 21:00:09 #endmeeting