19:01:10 <devananda> #startmeeting ironic
19:01:11 <openstack> Meeting started Mon Jul 29 19:01:10 2013 UTC and is due to finish in 60 minutes.  The chair is devananda. Information about MeetBot at http://wiki.debian.org/MeetBot.
19:01:12 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
19:01:14 <openstack> The meeting name has been set to 'ironic'
19:01:24 <devananda> #chair NobodyCam
19:01:25 <openstack> Current chairs: NobodyCam devananda
19:01:37 <devananda> adding nobodycam to chair as I'm in Redding, tethered on my cell...
19:01:38 <NobodyCam> big aganda today
19:01:44 <jog0> o/
19:01:49 <devananda> ~600ms ping, so i might drop
19:01:51 <lucasagomes> hey
19:02:02 <anteaya> o/
19:02:12 <devananda> #link https://wiki.openstack.org/wiki/Meetings/Ironic
19:02:14 <devananda> agenda ^^
19:02:59 <devananda> so, let's run down the agenda :)
19:03:10 <devananda> #topic testing
19:03:21 <romcheg> Oh, that's for me
19:03:25 <devananda> romcheg: i think ... yep :)
19:03:28 <NobodyCam> some really nice patches around this this week
19:04:15 <romcheg> So I basically did some research and have some code that is powered by a set of dirty hacks but it deploys ironic to devstack
19:04:58 <devananda> romcheg: sweet! think it'll be ready for a review soon?
19:05:09 <romcheg> I'm going to vanish it a little bit and publish in a day or two
19:05:10 <devananda> (or even a draft so others can start to poke at it)
19:05:20 <romcheg> Yes, that will be a WIP
19:05:27 <devananda> cool :)
19:05:34 <NobodyCam> awsome
19:05:45 <devananda> also FYI for folks, yuriy add some more db tests
19:05:52 <romcheg> Currently it works exclusively on my VM so I cannot publish it :)
19:06:16 <devananda> so migrations are now tested and any new db change must have tests added
19:06:26 <lucasagomes> great
19:07:06 <devananda> NobodyCam: want to talk about your dib element now? it's related to testing ;)
19:07:21 <romcheg> I spoke to him today and he said he was going to add some opportunistic tests as well
19:07:31 <NobodyCam> I can
19:07:35 <romcheg> *to port those tests from nova
19:08:01 <devananda> romcheg: i saw the pg/mysql opportunistic tests and merged it already :)
19:08:09 <NobodyCam> I have been using my ironic dib element to look into the stevedore issue
19:08:15 <romcheg> devananda: ah, great!
19:08:47 <NobodyCam> for those that don't know we get a error "IronicException: Failed to load driver fake."
19:09:02 <JoeHazzers> how ironic
19:09:09 <NobodyCam> :-p
19:09:21 <NobodyCam> seems to be a stevedore issue
19:09:34 <NobodyCam> in testing we mox the object so it passes
19:10:29 <devananda> so, romcheg, you may get the same error in devstack if you attempt to PATCH a node, since that will cause the conductor to load the node driver
19:10:57 <NobodyCam> here is the latest dump I have: http://paste.openstack.org/show/36uYgU0f5MhvbThAdmud/
19:11:18 <NobodyCam> but the good news it rpc is working
19:11:23 <romcheg> devananda: I will keep that in mind thanks
19:12:05 <devananda> #action NobodyCam to file a bug in ironic rconductor not able to load drivers
19:12:14 * devananda delegates :)
19:12:21 * NobodyCam will do
19:12:32 <devananda> any other questions/concerns about testing?
19:12:55 <devananda> k, moving on
19:12:59 <devananda> #topic keystone
19:13:07 <devananda> this was left open from last meeting
19:13:18 <devananda> anyone have further insight into the question
19:13:19 <romcheg> There are some bad news
19:13:28 <devananda> ?
19:13:31 <romcheg> Or at least not so good ones
19:14:03 <romcheg> I'm working on supporting keystone domains in ironic
19:14:30 <romcheg> However, I was not able to log in to keystone under a domain administrator to test the things.
19:15:06 <romcheg> I spoke to some guys who are familiar to keystone, but the problem is not solved yet.
19:15:16 <devananda> romcheg: have you been in touch witht he keystone devs?
19:15:21 <devananda> ah, ok
19:15:29 <romcheg> So the most of the code in ironic is ready.
19:15:55 <devananda> when we have cross project dependencies like that
19:16:01 <romcheg> I will try to re-configure my setup tomorrow and try it again.
19:16:51 <devananda> er, maybe i misread. are you waiting on keystone changes?
19:17:24 <romcheg> It's either a bug in keystone or misconfiguration of keystone in devstack
19:17:35 <NobodyCam> is there a keystone bug for the domian admin issue already
19:17:40 <jog0> romcheg: are we the frist project to try using domains?
19:18:00 <romcheg> I still have not found that out yet
19:18:15 <romcheg> jog0: nova seems to use V3 api
19:18:23 <romcheg> do not know about domains
19:18:50 <jog0> romcheg: so that may be the issue, we are first to use domains
19:19:28 <NobodyCam> romcheg: can you check for existing bug and if not file one?
19:19:44 <romcheg> NobodyCam: will do that.
19:20:12 <NobodyCam> :)
19:20:17 <devananda> #action romcheg to file bug & investigate keystone domains
19:20:18 <NobodyCam> want a action line
19:20:21 <NobodyCam> oh
19:20:21 <devananda> :p
19:20:22 <NobodyCam> :-p
19:20:38 <devananda> moving on
19:20:41 <devananda> #topic PXE drivr
19:20:42 <romcheg> ok
19:20:49 <devananda> #topic PXE driver
19:21:05 <devananda> GheRivero: hi! it looked like it was about to be merged, and then ... ?
19:21:14 <devananda> it == the oslo image utils patch
19:21:25 <NobodyCam> link?
19:21:29 <devananda> sec
19:21:46 <devananda> s/oslo/python-g;aceclient
19:22:09 <devananda> #link https://review.openstack.org/33327
19:22:38 <devananda> flaper87 +2'd it and then someone else -1'd
19:23:49 <devananda> also, I haven't gotten around to testing GheRivero's branch in a tripleo env yet
19:24:01 <NobodyCam> eddie does bring up some good points
19:24:29 <devananda> that'll probably be the first thing i do when NobodyCam has the dib element all squared away (and i'm back from trips)
19:25:03 <devananda> it seems like GheRivero isn't here, so unless anyone else has comments on either his glancecleint or pxe driver patches... let's move on
19:25:19 * devananda gives the room a minute
19:25:44 * NobodyCam notes that element sould work now for testing
19:26:16 <NobodyCam> https://github.com/NoBodyCam/ironic-element
19:26:36 <devananda> NobodyCam: # link it pls :)
19:26:49 <NobodyCam> #link https://github.com/NoBodyCam/ironic-element
19:26:55 <NobodyCam> :-p
19:26:57 <devananda> :)
19:27:00 <devananda> k, moving on
19:27:03 <devananda> #topic API
19:27:16 <devananda> the big topic! and we still have 30 minutes left, hehe
19:27:38 <devananda> lucasagomes: hi! you've been doing a lot on the api -- thanks!
19:27:46 <lucasagomes> :)
19:27:47 <lucasagomes> np
19:28:12 <devananda> want to give an update of what's landed, what needs review, what's blocking you?
19:28:47 <lucasagomes> right
19:28:56 <lucasagomes> so self links to the resources landed last week
19:29:16 <lucasagomes> now I'm working in adding pagination to the collections
19:29:29 <lucasagomes> we still need patches to expose the nested resources
19:29:42 <lucasagomes> no blockers in the moment
19:29:53 <lucasagomes> but some decisions still needs to be made
19:30:01 <lucasagomes> for e.g the PATCH vs PUT thing
19:30:35 <lucasagomes> should we stick and use only one method to make updates at least for the first review? (using only PUT for e.g)
19:30:46 <lucasagomes> stick to one method to do update only*
19:31:11 <devananda> was the argument against PATCH that the metalanguage would be complex to implement?
19:31:20 <NobodyCam> we have patch in who
19:31:20 <NobodyCam> *now
19:31:31 <lucasagomes> devananda, yea, and also we need to decide de format
19:31:34 <devananda> NobodyCam: yes, but apparently I implemented it not according to spec
19:32:00 <NobodyCam> ahh
19:32:26 <lucasagomes> NobodyCam, http://tools.ietf.org/html/draft-ietf-appsawg-json-patch-10
19:33:05 <devananda> I think it's reasonable for our API to be consistent with other service APIs, at least in terms of how we implement basic commands
19:33:49 <devananda> this is probably worth a mailing list thread to sort out
19:34:12 <devananda> i can probably do taht tonight, unless someone else wants to
19:35:03 <devananda> k
19:35:23 <devananda> #action devananda to pose API PUT vs PATCh question on -dev ML
19:35:35 <lucasagomes> also, our spec is not aligned with the implementation
19:35:44 <lucasagomes> I will write a patch to update it soon
19:35:50 <devananda> great, thanks!
19:36:13 <devananda> what about parameter name rewrite / mapping?
19:36:20 <devananda> eg, internal id == external uuid
19:36:31 <devananda> do we really care about that?
19:36:47 <devananda> or should we just updte the spec and expose uuid
19:37:32 <devananda> woops, i typo'd -- spec says internal uuid == external id. I'm suggesting we just use uuid all the way through.
19:38:05 <lucasagomes> yea, nowadays you can use both, but the returns will always use uuids
19:38:19 <NobodyCam> devananda: +1 for consisteny
19:38:22 <lucasagomes> I'm happy changing it to use uuid only
19:38:56 <devananda> ack. might as well work that in the spec change when you do it :)
19:39:08 <lucasagomes> cool
19:39:19 <devananda> i have no update on the wsme version bump // status return codes issue
19:39:51 <devananda> anyone have more API questions/comments?
19:40:00 <lucasagomes> yea it's a problem... we should talk to dhellman and see when will be the next wsme realease
19:40:16 * dhellmann is lurking
19:40:23 <devananda> hi!
19:40:25 <lucasagomes> :D
19:40:25 <dhellmann> hi!
19:40:26 <NobodyCam> hey
19:40:27 <dhellmann> so, wsme
19:40:36 <dhellmann> there are 2 things going on
19:41:04 <dhellmann> first, some of the fixes that are included in trunk now only work with pecan, and Christophe wants some level of feature parity before doing a release
19:41:19 <dhellmann> second, we are working out the details of moving wsme to stackforge (although that doesn't hold up the release)
19:41:44 <devananda> stackforge++
19:42:07 <dhellmann> #link https://groups.google.com/forum/#!topic/python-wsme/TRLfq-GQBhg
19:42:15 <dhellmann> that's the discussion about moving ahead with another release
19:43:16 <devananda> hmm
19:43:33 <dhellmann> does that link work for you guys, or is it somehow encoded for me?
19:43:37 <dhellmann> looks weird
19:43:37 <devananda> proper handling of status codes, both for errors and non-error-but-non-default is going to be important
19:43:41 <devananda> link worked for me
19:43:43 <dhellmann> cool
19:44:08 <devananda> most of nova->ironic interaction will be in updating certain fields
19:44:17 * NobodyCam work for me
19:44:21 <devananda> some will be immediate ERROR/SUCCESS responses
19:44:23 <NobodyCam> *works
19:44:27 <devananda> some will yield 202 INPROGRESS
19:44:41 <dhellmann> makes sense
19:45:04 <dhellmann> and that doesn't sound like an exception
19:45:08 <NobodyCam> 15 minutes
19:45:10 <devananda> right
19:45:13 <dhellmann> ok
19:45:27 <dhellmann> christophe is looking for input on an API for that, so maybe you have some?
19:45:40 * dhellmann hasn't given that any special thought, yet
19:45:59 <devananda> i hadn't either -- beyond playing with the Response obj enough to realize it didn't work :(
19:46:09 <devananda> it seemed like a reasonable approach though
19:46:20 <dhellmann> yeah, it seems like it ought to
19:46:21 <devananda> response.obj = thing
19:46:26 <devananda> response.status = int
19:46:31 <devananda> return response
19:46:43 * dhellmann nods
19:47:01 <dhellmann> I don't want to take up the whole meeting with debugging that. Maybe post to the WSME list and we can work it out there?
19:47:05 <devananda> k, i'll reply to that thread (tonight)
19:47:10 <dhellmann> :-)
19:47:17 <devananda> #action devananda to post to WSME list re: Response objects
19:47:26 <devananda> #topic open discussion
19:47:31 <dhellmann> and for now, go ahead and send pull requests to the wsme hg repo
19:47:41 <lucasagomes> :)
19:47:44 <dhellmann> there are some tricky bits to moving it that may make it take a little while
19:47:57 <devananda> gotcha
19:48:09 <dhellmann> mostly around the test configurations, so I don't want to just break them
19:48:17 <devananda> if anyone wants to dig into fixing wsme's response object ... ^ :)
19:48:40 <dhellmann> is it wsme's object, or working with the combination of pecan/wsme?
19:48:43 <devananda> dhellmann: link? i actally haven't looked for wsme's upstream before
19:48:52 <devananda> dunno - haven't dug into it
19:48:57 <dhellmann> #link https://bitbucket.org/cdevienne/wsme/
19:49:03 <devananda> thanks
19:49:55 <dhellmann> np
19:50:47 <NobodyCam> so how about some stevedore talk
19:51:35 <devananda> ah! another question for dhellmann then ;)
19:51:44 <NobodyCam> from my poking we have a issue here https://github.com/openstack/ironic/blob/master/ironic/openstack/common/rpc/dispatcher.py#L129-178
19:52:01 <dhellmann> oh?
19:52:22 <devananda> so we've found that, outside of unit tests, stevedore has been failing to load our drivers for a little while
19:52:34 <dhellmann> :-/
19:52:49 <dhellmann> what are the symptoms?
19:52:56 <NobodyCam> here is a really bad log
19:52:57 <dhellmann> tracebacks?
19:52:57 <NobodyCam> http://paste.openstack.org/show/36uYgU0f5MhvbThAdmud/
19:53:22 <NobodyCam> note any thing with cjk was hacked in by /me
19:54:07 <dhellmann> stevedore should be logging an exception if it tries to import something and fails
19:54:14 <devananda> NobodyCam: I think you'll find this also in the traceack
19:54:16 <NobodyCam> where
19:54:19 <devananda> https://github.com/openstack/ironic/blob/master/ironic/conductor/resource_manager.py#L64
19:54:27 <devananda> dhellmann: it's raising an exception, yes
19:54:35 <dhellmann> ah, ok, so at least it's not eating the error
19:55:04 <dhellmann> well, no, the error in that log is a key error from trying to use the driver after it should be loaded
19:55:07 <devananda> NobodyCam: yea, that paste matches the resource_manager link i just pasted
19:55:13 <dhellmann> so there should be a traceback earlier in the log based on https://github.com/dreamhost/stevedore/blob/master/stevedore/extension.py#L96
19:55:18 <devananda> oooh
19:55:22 <dhellmann> if you're not seeing that, then there's something wrong with the logging setup
19:55:30 <devananda> or it's not even trying to load it
19:55:34 <dhellmann> true
19:55:40 <devananda> dhellmann: i (was?) doing on-demand loading
19:55:55 <NobodyCam> that the full conductor log
19:55:57 <devananda> or thought i was :)
19:56:09 <NobodyCam> there is a api log
19:56:19 <dhellmann> devananda: you may be
19:56:24 * dhellmann reads a bit
19:56:28 <NobodyCam> show the request sent and error racieved back
19:56:50 <NobodyCam> *shows
19:56:52 <devananda> it's a https://github.com/dreamhost/stevedore/blob/master/stevedore/dispatch.py#L77
19:57:00 <devananda> NameDispatchExtensionManager
19:57:03 <dhellmann> devananda: what keys does the _driver_factory have? did it find anything?
19:57:08 <GheRivero> o/
19:57:28 <NobodyCam> hey GheRivero
19:57:55 <NobodyCam> dhellmann: I'm not sure its finding anything at all
19:58:02 <devananda> dhellmann: i dont have a test in front of me...
19:58:13 <dhellmann> devananda: to be clear, the manager is going to import the code when it is instantiated and invoke_on_load means it is going to "call" the thing it gets from load() at the same time
19:58:27 <dhellmann> so the "on demand" bit is really just getting something out of a dictionary
19:58:55 <GheRivero> jit... image tools almos merged. some positive core reviews +1 and a couple of small bits missing. To be done in the next hours. meanwhile, i'll update the image-tools ironic branch just in case
19:59:00 <dhellmann> it will log what it finds at debug level (https://github.com/dreamhost/stevedore/blob/master/stevedore/extension.py#L84)
19:59:04 <devananda> sounds like we need to dump NodeManager._driver_factory inside that try: block
19:59:07 <dhellmann> yep
19:59:18 <devananda> dhellmann: NodeManager is instantiated on demand :)
19:59:29 <devananda> let's move to #openstack-ironic, our time here is up
19:59:35 <devananda> thanks everyone!!
19:59:37 <NobodyCam> 1 minute
19:59:39 <NobodyCam> :)
19:59:40 <dhellmann> but the extension manager is a class attribute according to https://github.com/openstack/ironic/blob/master/ironic/conductor/resource_manager.py
19:59:49 <dhellmann> which means it is instantiated when the class is read, on import
19:59:58 <devananda> #endmeeting