20:03:01 #startmeeting glance 20:03:01 +1 20:03:01 Meeting started Thu May 16 20:03:01 2013 UTC. The chair is markwash. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:03:02 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:03:03 yep 20:03:05 \o/ 20:03:05 The meeting name has been set to 'glance' 20:03:06 hey 20:03:07 \o/ 20:03:08 hi errbody 20:03:09 \o/ 20:03:20 that's a body execption 20:03:28 exception* 20:03:29 wave 20:03:36 I was out for most of last week 20:03:53 today, i don't have a really set agenda (not one that I recall, at least!) 20:04:17 markwash: async workers is an outstanding topic 20:04:22 * flaper87 raises both hands \o/ 20:04:29 my main item is to target as many blueprints in https://blueprints.launchpad.net/glance/havana 20:04:30 if there is time for a discussion that may be a good topic 20:04:33 I may have a dependency level 20:04:33 that's one I'm particularly interested in 20:04:40 and def asyn workers is most imp 20:04:51 okay, cool 20:04:52 async workers that is 20:04:57 first, does anybody have announcements? 20:05:16 who's getting married? 20:05:23 any new kids ? 20:05:35 I noticed the new xfer service work was started 20:05:37 markwash: should better test suite bp be targeted for havana? 20:05:53 flaper87: actually.... 20:06:05 flaper87: my wife is due with a new kid in < 4 weeks 20:06:12 thats awesome jbresnah 20:06:16 so if i seem panicky lately.... 20:06:31 also i may disaapear for a few weeks at that point 20:06:34 just fyi 20:06:44 cool 20:06:56 so far here are the items i see mentioned 1. async workers - updates 2. transfer service 3. test suite 20:07:07 jbresnah: congrats ;) 20:07:11 I guess lets quickly see if we can make any progress on blueprint targeting, and then discuss async workers? 20:07:17 jbresnah: gud luk 20:07:21 markwash: +1 20:07:24 markwash: +1 20:07:24 +1 20:07:26 #topic blueprint targeting 20:07:28 +1 20:07:35 #link https://blueprints.launchpad.net/glance/havana 20:07:51 everything there that is not targeted should be 20:08:13 and some of the ones with targets might be wrong, considering h1 is not very far away 20:08:42 markwash: cloning u mean? 20:08:56 I heard a rumour that it's not in havana? 20:09:08 when is h1? 20:09:31 May 30th 20:09:35 2 weeks from today 20:09:43 that is pretty soon 20:09:48 yeah that is soon 20:09:57 soon-=1 20:10:19 nikhil__: I don't know what you mean about cloning 20:10:25 its in the havana list, that's all I know 20:10:35 markwash: ohk, just wanted to make sure 20:10:43 markwash: is bcwaldon working on multiple locations? 20:10:44 looking over the list, it seems to me that we still need to sort out upload-download workflow 20:10:55 but maybe that is blocked on our async workers discussion? 20:11:01 iccha_: not that I've noticed 20:11:08 markwash: i think that is right 20:11:20 markwash: yes 20:11:21 markwash: i think up/down is largely sorted out based on the fallout of async 20:11:27 markwash: it is a dependency but we can figure out the workflow wihtout it assuming async workers will work 20:12:13 do we want to schedule a time to talk about async workers in openstack-glance sometime? is there an intial layout? 20:12:30 I wrote down some ideas and considerations 20:12:38 i am sorry i missed prev 2 meetings not sure if it was already done 20:12:39 and I wanted to share that today if possible 20:12:46 sounds good 20:12:49 please share! 20:12:53 but I'm ok with doing it in a separate meeting if time is not enough 20:13:09 I guess we're not going to make a ton of progress with bp targeting without sorting out the async stuff 20:13:19 so let's move on to that soon, but first 20:13:22 rosmaita_: that will cost a couple fo pop-tarts 20:13:35 is anyone else interested in tackling multiple image locations? 20:13:45 dafuq? 20:13:49 markwash: if no one is going to work on that 20:13:51 I can take it 20:13:53 markwash: i could do it 20:14:02 or he ^ 20:14:04 :D 20:14:08 flaper87: or we could tag team it... 20:14:14 jbresnah: +1 20:14:18 sounds like a plan 20:14:28 markwash: i am pretty interested in seeing it get done, so if it is stalled out i could get on it 20:14:32 cool, I'll assign jbresnah then 20:14:36 with your timezone separation, i think you can work on it continuously 20:14:39 haha 20:14:45 heh 20:14:48 LOL 20:14:49 24h 20:14:51 :P 20:15:18 markwash: should we make sure that is cool with bcwaldon first? 20:15:23 meh 20:15:32 * jbresnah doesn't like to step on toes 20:15:34 I'll talk to him about it tomorrow at some point 20:15:37 ok 20:15:41 don't worry in this case 20:15:56 okay, anything else before we launch into async workers? 20:16:11 * flaper87 is worried about https://blueprints.launchpad.net/python-glanceclient/+spec/glance-client-v2 20:16:26 11 am EST monday in #openstack-glance we will be discussing protected properties in anyone is interested in joining in 20:16:40 iccha_: awesome 20:16:45 flaper87: ah good point 20:16:47 https://etherpad.openstack.org/public-glance-protected-props is link iwth some notes 20:16:57 flaper87: once we get that, we can look at a major version bump in glanceclient as well 20:17:02 which is good for dropping legacy 20:17:08 markwash: exactly 20:17:24 so, I see there hasn't been any movement there 20:17:35 iccha: i will try to make that, a little bit early for me but possible 20:17:43 honestly, I'm kind of out of touch with glance client, and I'd love if there could be a sort of glanceclient lieutenant to help usher us through the process 20:17:45 and manage releases 20:17:58 I can help with that 20:18:02 well, I'd like to be consulted about managing releases, of course 20:18:04 :-) 20:18:38 sure, as for now, I'm worried about the API v2 not being fully supported 20:18:43 and people asking for it T_T 20:18:45 :P 20:18:52 cool, flaper87 let's touch base offline to see how we can move forward 20:18:57 markwash: +1 20:19:01 i do know that v2 image sharing is in glance client 20:19:22 finally got merged after 2+ months :p 20:19:40 iccha_: :D 20:19:42 * markwash is sad about dropping the ball on that merge 20:20:01 sorry to drag you through all those "restores" 20:20:36 async workers pls? 20:20:40 #topic async workers 20:20:50 * markwash passes the mic to flaper87 20:21:00 * flaper87 clears his voice 20:21:14 so, these are some of the thoughts I had related to async workers https://etherpad.openstack.org/glance-async-worker 20:21:40 I took more time to think about what could happen / should be changed if that happens 20:21:45 and how can that be implemented 20:22:27 one comment 20:22:30 inline 20:22:40 i am not sure there should be 1 way to implement the async worker... 20:22:43 looking at the two ideas for implementation (1: green threads in the api, 2: async workers across rpc), could we make 1 vs. 2 a configuration setting? 20:22:50 as shown in the pad, the 2 basic ideas are: 1) KISS and do it within glance-api 2) Use something more "complex" and keep it in a separate service (with scheduler and that kind of things) 20:23:00 i would like to see a plugin interface 20:23:27 to glance-api proper it may always look like #1 20:23:39 but the plugin may implement with #2 20:23:41 to me it feels like this may be a wheel that's getting reinvented in several places in openstack 20:23:45 jbresnah: +1 that makes sense to me a lot 20:23:48 jbresnah: markwash indeed, that could be addressed with the new oslo's messaging api 20:24:03 " For both ideas it would be nice to use the new messaging " 20:24:26 because it supports blocking executors and eventlet based executors that could be used through an in-memory queue 20:24:27 i can see cases where messaging may not be needed 20:24:47 jbresnah: agreed 20:25:02 can we discuss based on use cases 20:25:12 this looks like a wild goose chase 20:25:12 nikhil: good plan 20:25:14 well, one big use case is devstack 20:26:09 to me that's the driving use case for in-api green threads / eventlet 20:26:38 could u elaborate on the devstack use please markwash ? 20:26:49 markwash: ^ 20:27:08 well, whatever we want to do, we want it to work in super simple deployments like devstack 20:27:28 and it would be nice to have those working without adding a generally unnecessary extra process to track 20:27:42 which makes the case for making it configurable stronger 20:27:47 what is something that devstack would use async workers for? 20:28:00 QE 20:28:06 is what comes to mind 20:28:08 import and export I guess 20:28:14 QE? 20:28:15 markwash: devstack is already capable of configuring the oslo's rpc implementation 20:28:19 umm, sorry 20:28:28 I think import / export is one of the main points 20:28:32 do we really need a export? 20:28:48 followed by image introspection 20:28:51 I feel like totally out of sync then 20:28:53 yeah, i meant how would async be used as a use case 20:29:05 jbresnah: yeah 20:29:19 i mean : me too 20:29:20 not what glance use cases do we want to not disrupt 20:29:28 we're talking about different api calls that process something in the background 20:29:51 exactly 20:30:04 so devstack would have the same use cases 20:30:09 as any other deployment 20:30:19 I see that being useful in different scenarios (like those in the pad) 20:30:23 nod 20:30:24 just with the additional constraint of it being all in one box 20:30:35 i just think it may be helpful to walk through how an example async worker would work 20:30:37 I interpreted jbresnah's question as "is there a need to have it in devstack"? 20:30:43 there is also the usecase where an existing deployment upgrades and doesn't want to change their deployment layout at first 20:30:59 for example, an async worker that handles the upload 20:31:06 or an async worker that handles image conversion 20:31:17 markwash: are u driving towards why we need both types of implementation and configurable? 20:31:26 iccha_: yes I think so 20:31:48 that probably wasn't a clear as I should have made it :-) 20:31:56 s/a clear/as clear/ 20:32:19 agree 20:32:33 devstack and existing deployments might want the new asynchronous operation features without changing their deployment layout (ie, not adding another process / moving part) 20:32:39 however, for even a small production level deployment 20:32:46 I agree on the fact that both methods should be supported 20:32:59 we can vote :) 20:33:00 do we think that threads on api nodes could handle just fine? 20:33:20 i would think that both methods would be supported by way of what ever plugin was in use 20:33:34 my concern is 20:33:43 if we are waiting for both support 20:33:43 i think glance would dictate a plugin interface 20:33:48 nikhil__: I bet they would, my point is, there's already some work going on on similar code in oslo, so, why should we write it again? 20:33:55 but allow the plugins to implement that iface in wahtever way it felt best 20:34:00 flaper87: ohh 20:34:04 and if just async workers on api nodes do not work, then effort is futile to a great extent 20:34:22 flaper87: gotcha 20:34:26 does doing a async worker separately and not as a thread in api , does that necessarily mean that it becomes heavier and complex? 20:34:44 flaper87: from glance's perspective, the async processing should just be an object or group of objects 20:34:46 so, this is the current state in oslo's new messaging (RPC) api https://github.com/markmc/oslo-incubator/tree/messaging/openstack/common/messaging 20:35:01 could it be configurable to make the worker light weight with say one thread vs more complex with many threads or something like that 20:35:06 if messaging supports making the choice of local or remote really easy, we should use that 20:35:25 markwash: I think it does, I'll work on a POC for that 20:35:37 #action flaper87 work on a POC for using oslo's messaging 20:35:47 iccha: i would think that would be up to the worker 20:36:01 what I'm saying is that it doesn't make sense for async processing to have a "messaging" interface, rather messaging should be an implementation detail of what's underneath the interface 20:36:11 +1 20:36:14 as explained in the pad, I see some extra benefits moving towards that (aling glance with oslo and updating the notification stuff) 20:36:23 iccha: i would like to see glance proper have a lightweight thread to manage/start/check status/etc of all it ... what mark said 20:36:27 I think it makes sense that oslo-common messaging gets us where we want to be 20:37:05 markwash: In my head I see some higher-level API in glance that wraps oslo's calls 20:37:21 like, Async.process_this_stuff(...) 20:37:26 I guess the POC is the right first step in any case, though 20:37:36 markwash: yep 20:37:43 we can take a look at it, and offer an alternative if one seems necessary 20:37:52 sounds like a plan 20:37:58 I'm not saying that will work :P 20:38:03 if you don't see me on-line 20:38:09 I'm ok, I just ran away 20:38:11 :D 20:39:02 do we need task tracking with this approach? 20:39:07 as a sidenote, I didn't work on any POC because I first wanted to agree with everyone on some usecases and perhaps a flow 20:39:21 * markwash thinks we should ignore his task tracking comment for now 20:39:30 i am not sure what was decided 20:40:01 jbresnah: flaper87 work on a POC for using oslo's messaging 20:41:45 does marconi have influence on that? 20:41:50 flaper87: ^^ 20:42:00 nikhil__: not sure I understand 20:42:10 i dont understand why messaging is a first class design choice yet 20:42:14 https://wiki.openstack.org/wiki/Marconi 20:42:17 flaper87: ^^ 20:42:28 i would like to be free to have a custom plugin that does its work via fork 20:42:30 or via a thread 20:42:32 etc 20:42:36 i dont like forcing messaging 20:42:45 +1 20:42:50 jbresnah: well, that's basically what oslo's messaging does 20:42:55 it seems like the wrong angle of attack 20:42:59 could we have like a pro cons list in the etherpad 20:43:06 * markwash agrees 20:43:06 but with a simple queue that can be either in memory or through MB 20:43:22 flapper: that is about messaging tho 20:43:28 etherpad stopped working here 20:43:38 flaper87: but, there are some cases where you wouldn't use messaging at all, like if you say used fabric to ssh to another node to initiate processing 20:43:42 seems like the topic has the wrong focus 20:43:43 last I saw this, we'r trying to do store to store trnasfers using a asycn worker 20:44:05 flaper87: or if you wanted to kick off some processing on a node that is really "close" to the data, like a zerovm or docker worker 20:44:13 right 20:44:32 mmhh 20:44:42 i think the first bit of work is: define a async worker worlflow 20:44:58 define the state machine from glance api perpective and client persoective 20:45:14 then define an interface that async workers will implement 20:45:21 yeap, that's what I was expecting from this meeting 20:45:24 after that implementation details will make more sense 20:45:45 so we could start working on some POC after that 20:46:14 oh, and i think task #0 should be a requirements definition 20:46:23 so we know what we are solving exactly 20:46:30 i think parts of those things exist 20:46:35 jbresnah: perfect! 20:46:36 +1 20:46:50 because i was starting to get a little lost here with all the different ideas 20:46:56 :) 20:47:04 requirements, with a pro con list of basic approaches 20:47:11 I'd like to see what "import" would look like in the v2 code, using async processing 20:47:12 well... 20:47:21 i am not sure approaches whould be married with requirements 20:47:27 4 mins till open discussion? (if someone has one - just a friendly reminder) 20:47:30 requirements with a list of pros and cons for the requirement 20:47:49 but it would be good to agree on the requirements up front without mixing in impl discussion 20:48:07 markwash: i think that is the perfect use case to define around 20:48:23 +1 20:48:32 +1 20:48:34 I might not be good at "requirements" though exactly, more like "here's what I want the interface to look like" 20:48:36 +1 20:49:00 (that was to jbreshah, not markwash!) 20:49:13 #action markwash try to code up a stubbed version of import in v2, maybe it will help motivate requirements 20:49:32 :D 20:49:51 agree on the "import" 20:50:02 that's the most imp requirement in my mind 20:50:08 * markwash is trying to "first do no harm" to this discussion, not sure its working 20:50:26 markwash: i can help with requirements 20:50:41 tho... i am not sure i am in the position to know what people want exactly... 20:51:50 I'd like to help with that as well 20:51:52 someone pls create an action item for this 20:51:58 requirements gathering 20:52:06 that's software engineering 101 20:52:07 does etherpad work for you? 20:52:13 in terms of import export there are a few etherpads rosmaita_ created 20:52:14 it stopped working here 20:52:16 etherpad works 20:52:23 mmh 20:52:27 * nikhil__ feels like sync failed 20:52:30 not here, stopped working long time ago 20:52:31 not worker for me either 20:52:31 oh, sorry i thought you meant as a forum for requirement gathering 20:52:41 that is separate jbresnah :) 20:52:42 etherpad has been falky for me this entire houtr 20:52:48 ok 20:53:01 the import export stuff is just for us to look at import export work flow and req gathering is for async worker 20:53:49 agreed 20:54:19 so, what are the next steps on this topic? 20:54:36 markwash: will work on that stubbed version of import in v2 20:54:39 right? 20:54:41 someone should take point on requirements gathering 20:54:44 pros and cons list for me pls 20:55:01 i can take requirements gathering 20:55:04 flaper87: right 20:55:13 #action nikhil__ to work on requirements gathering 20:55:19 cool 20:55:24 nikhil: cool, keep in the loop please 20:55:33 nikhil__: ditto what jbresnah said for me 20:55:42 flaper87: have u added ur etherpad to async workers bp? 20:55:47 nikhil__: and me :D 20:56:08 iccha_: nope, I created it today because I took those notes offline 20:56:10 I'll do 20:56:12 think I'll just keep all posted on openstack-glance 20:56:28 nikhil__: please, have mercy with europeans :D 20:56:40 well, I should definitely sleep more but that's another story 20:56:45 you mean the timezone rt? 20:56:49 kk 20:56:50 nikhil__: yep :D 20:56:56 any time left for open discussion? 20:57:24 3 mins 20:57:26 3 mins 20:57:31 I dont have any agenda and need to go in 3 mins 20:57:34 markwash: what iccha_ said :D 20:57:38 #topic open discussion 20:58:03 I'd like to have a meeting time that is more friendly to the other hemisphere 20:58:08 at least 1/month 20:58:16 not sure if I already said that here, or in #openstack-glance 20:58:16 +1 20:58:34 this hemisphere was sleeping when you said that :P 20:58:44 15UTC works for me 20:58:53 there are people who totally can't make it b/c of the time 20:59:07 markwash: agreed 20:59:13 does 1/month sound okay? 20:59:25 +1 20:59:31 we can do a trial for the first meeting in june, maybe 20:59:36 or next week if the need is more urgent 20:59:46 i am meeting time flexible 21:00:02 jbresnah is on a beautiful beach right now anyway 21:00:07 heh 21:00:09 haha 21:00:20 its so hard to type with all this sand in my keyboard 21:00:23 haha 21:01:17 is the meeting over? 21:01:25 I guess so 21:01:27 i mean in terms of discission? 21:01:30 anything else? 21:01:40 * markwash is a little distracted today, sorry 21:01:49 markwash: did not split the upload/download BP yet 21:01:58 started 2 discussion etherpads first 21:02:07 links? 21:02:07 but, they appear to be unavailable at the moment 21:02:11 ah 21:02:12 links in BP 21:02:25 good, I'll have a look 21:02:36 * nikhil__ says bye 21:02:52 I guess that's all for us today, folks 21:02:55 thanks! 21:02:55 cool 21:02:58 thanks 21:03:03 #endmeeting