19:02:14 <devananda> #startmeeting ironic
19:02:15 <openstack> Meeting started Mon Jun  3 19:02:14 2013 UTC.  The chair is devananda. Information about MeetBot at http://wiki.debian.org/MeetBot.
19:02:16 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
19:02:18 <openstack> The meeting name has been set to 'ironic'
19:02:20 <martyntaylor> romcheg: wow must be getting late in your neck of the woods
19:02:36 <devananda> so, agenda for the meeting is, as usual, in the wiki
19:02:43 <devananda> #topic documentation
19:02:52 <devananda> first an announcement -- our docs are live and auto built now
19:02:58 <anteaya> \o/
19:02:58 <devananda> #link http://docs.openstack.org/developer/ironic/index.html
19:03:13 <romcheg> martyntaylor: yup. Trying to combine meeting and sushi ;)
19:03:18 <martyntaylor> nice
19:03:34 <devananda> there's a bug in PBR that is breaking the auto doc parts currently
19:03:36 <devananda> #link https://bugs.launchpad.net/ironic/+bug/1186834
19:03:37 <uvirtbot> Launchpad bug 1186834 in pbr "auto-docs build incorrectly with pbr <= 0.5.11" [Undecided,New]
19:03:38 <gherivero2> lovely
19:03:45 <harlowja> woot
19:04:03 <harlowja> not enough system architecutre pictures, haha
19:04:04 <NobodyCam> very nice docs.. +1 to all who had a hand in making them so nice
19:04:14 <devananda> but please start trying to write good inline docs, and comment on reviews if they lack docs :)
19:04:29 <devananda> as soon as mordred tags another PBR release, we should have autodocs :)
19:04:36 <harlowja> cool
19:04:46 <devananda> any questions on docs?
19:05:26 <devananda> harlowja: yea, we need architecture / diagrams ...
19:05:30 <harlowja> ;)
19:05:43 <devananda> ok, moving on kinda quickly
19:05:47 <devananda> #topic meetup?
19:05:56 <anteaya> yes
19:05:57 <devananda> i raised the question informally last week
19:06:08 <NobodyCam> where?
19:06:13 <devananda> should we try to ge tothether and hack / sort things out / etc?
19:06:17 <devananda> and if so, whena nd wehere?
19:06:27 <harlowja> hmmm
19:06:29 <anteaya> should we? yes
19:06:53 <devananda> ideas so far are NYC and Amsterdam
19:06:56 <mordred> I'll be arranging a location for the CI bootcamp June 27/28 in NYC
19:07:14 <mordred> we obviously can't share hte same room - but overall logistics could theoretically be shared
19:07:22 <romcheg> +1 for Amsterdam
19:07:33 <harlowja> +1 for hawaii
19:07:34 <anteaya> I would love to do a boot camp with CI
19:07:53 <anteaya> didn't know that was a possibility
19:08:04 <harlowja> i'd like to to be ;)
19:08:11 <harlowja> *it to be
19:08:13 <anteaya> would be like going to the emerald city
19:08:36 <NobodyCam> emerald city eaiset for /me
19:08:37 <gherivero2> hawaii!
19:08:41 <devananda> harlowja: we have a good group from EU that i would like to include, so hawaii is probably not going to work ...
19:08:49 <harlowja> ah, durn
19:09:21 <gherivero2> im in europe and dont care about haeaii:)
19:09:45 <devananda> martyntaylor: since you're taking on a lot of the API stuff, i would like to see you included
19:09:50 <anteaya> so far romcheg likes Amsterdam, I would like NY and no one else has identified they would like to attend
19:10:11 <romcheg> I'm in Ukraine and getting a visa to the US is a pain for me :)
19:10:18 <anteaya> romcheg: I hear that
19:10:42 <anteaya> mordred: any change CI would boot camp in Amsterdam?
19:10:43 <devananda> harlowja: what's the likelyhood of you making it to NYC for a couple days?
19:10:47 <mordred> no
19:10:50 <harlowja> hmmmm
19:10:54 <anteaya> mordred: had to ask
19:10:59 <mordred> anteaya: fair. :)
19:11:00 <harlowja> not so likely, but i can try to ask
19:11:08 <mordred> anteaya: we're doing NYC because I'm sick of travel
19:11:13 <martyntaylor> devananda: I'll certainly ask about it, I would imagine Amsterdamn would be a lot easier to justify
19:11:17 <devananda> mordred: hah! you?
19:11:22 <anteaya> mordred: ah yes, that is well understood
19:11:23 <mordred> devananda: :)
19:11:34 <harlowja> devananda let me get back to u on that
19:11:46 <devananda> martyntaylor: k, please let me know.
19:12:10 <devananda> martyntaylor: also, iirc, jayg is east-coast-US, so if you couldn' tmake it to NYC, could jayg?
19:12:19 <anteaya> can we do a show of hands of who is considering attending?
19:12:27 <anteaya> o/
19:12:36 <devananda> actually
19:12:41 <devananda> let's break this in half
19:12:51 <devananda> show of hands for those who could attend US east coast
19:12:54 <devananda> \o
19:12:58 <anteaya> \o
19:13:06 * NobodyCam could
19:13:44 <devananda> anyone else?
19:13:48 <anteaya> not much of a boot camp with just 3 of us
19:14:10 <anteaya> I'd still like to meet you though NobodyCam
19:14:14 <martyntaylor> devananda: quite possib ly
19:14:42 <devananda> ok, thanks
19:14:49 <devananda> show of hands for those who could attend amsterdam?
19:14:50 <devananda> \o
19:15:08 <romcheg> \o
19:15:14 * NobodyCam could also
19:16:17 <martyntaylor> \o
19:16:25 <dprince> hi
19:16:32 <devananda> it seems that, besides myself and NobodyCam and gherivero, we have 1 definite for NYC and 2 definite for Amsterdam
19:16:35 <devananda> dprince: hi!
19:16:35 <martyntaylor> <confirmation required, travel budget is tight here>
19:16:47 <lifeless> o/ sorry i'm late
19:17:34 <dprince> mordred: is this the same bootcamp as the infra stuff?
19:17:44 <anteaya> lifeless: are you saying hello or is your hand in the air saying you could attend an ironic bootcamp in Amsterdam?
19:18:20 <devananda> dprince: we're discussing having an overlapping ironic bootcamp in NYC
19:18:25 <mordred> dprince: I was suggesting that we potentially co-locate infra bootcamp and ironic meeting - as arranging space for two meetings is about the same effort as for one
19:18:42 <dprince> ++ sounds like a wonderful idea
19:19:15 <anteaya> mordred: if I can't attend the ironic bootcamp can I crash the CI one?
19:19:19 <lifeless> anteaya: bit of column a, bit of column b. My travel stuff is weird :)
19:19:36 <anteaya> lifeless: very good
19:20:21 <anteaya> so maybe lifeless for Amsterdam
19:21:18 <devananda> so as much as I'd like to accomodate everyone, it seems like NYC is simpler
19:21:23 <devananda> and can get enough folks
19:21:43 <devananda> if we can get jayg there, that'll cover the API side
19:21:51 <anteaya> romcheg: is applying for a VISA a possibility?
19:22:19 <romcheg> It is. Not sure if I can get a visa in time
19:22:29 <anteaya> understood
19:22:36 <anteaya> they don't make it easy
19:22:59 <devananda> mordred: is that ^ something you or the foundation could help with, and in time?
19:23:04 <romcheg> When exactly do you plan to meet up?
19:23:23 <devananda> IIRC, June 27 - 29 are the CI bootcamp dates
19:23:24 <martyntaylor> jayg: we are talking about a potential meetup
19:23:28 <anteaya> romcheg: another time, how much advance notice to you need in order to apply for a VISA?
19:23:34 <mordred> devananda: if we're talking visas, probably no
19:23:36 <martyntaylor> jayg: in NYC
19:23:43 <devananda> mordred: ack :(
19:23:44 <mordred> devananda: BUT - it's always worth asking the foundatoin about it
19:24:00 <martyntaylor> jayg:  not sure if you can make it?
19:24:05 <mordred> let me know if you want me to start a thread
19:24:10 <martyntaylor> devananda: if not we could always do a hangout or something similar
19:24:24 <jayg> hangout would likely work better for me
19:24:41 <anteaya> you do realize they redesigned the hangouts
19:24:51 <anteaya> rendering them unusable for my needs
19:24:51 <devananda> so we can also do hangouts any time
19:25:21 <jayg> anteaya: unusable how?
19:25:25 <michchap> I can make a webex meeting if that is helpful.
19:25:30 <anteaya> you have to be signed on to google+ to receive the call
19:25:33 <anteaya> like skype
19:25:46 <anteaya> I used to be able to start an empty hangout and share the url
19:26:04 <anteaya> so the async factor has been sharply reduced from what I can see
19:26:06 * jayg has never used a hangout w/o being signed in, didnt realize it was not always like that
19:26:27 <anteaya> so perhaps I am the only one who noticed a difference
19:26:41 <NobodyCam> we are sidetracking
19:26:42 <devananda> so, i think we've side tracked - i'm happy to webex or hangout to knowledge share, but let's take that up after the meeting :)
19:27:06 <romcheg> anteaya: 2 months. But I will ask the embassy about urgent visas
19:27:14 <devananda> i'm going to go forward with plans for crashing infra's bootcamp, and let's all try to get there if we can
19:27:16 <anteaya> romcheg: okay, thanks
19:27:24 <anteaya> yay
19:27:28 <devananda> and let's try to capture what we do for thsoe who can't make it
19:27:32 <anteaya> yes
19:27:48 <devananda> moving on
19:27:53 <devananda> since there are a few more big things to talk about
19:28:01 <devananda> #topic stuff in progress
19:28:12 <devananda> we have a whole bunch of new BPs :)
19:28:18 <devananda> some big, some small
19:28:27 <devananda> mostly i want to call out these 4 areas of work
19:28:30 <devananda> - DB object model
19:28:35 <devananda> - API & RPC implementation
19:28:40 <devananda> - image utils refactoring from nova/cinder
19:28:42 <devananda> - PXE driver
19:28:58 <devananda> as outstanding things before Ironic becomes minimally functional
19:29:25 <devananda> martyntaylor seems to have a handle on the API parts
19:29:43 <devananda> anything you'd like to say? questions, comments, etc?
19:30:00 <martyntaylor> devananda: we are blocked on the db model object
19:30:10 <romcheg> I am keen to work on that
19:30:13 <devananda> ah, i see
19:30:20 <devananda> romcheg: on the api, or the db object model?
19:30:29 <romcheg> Object model
19:30:45 <devananda> romcheg: great. dansmith implemented this in Nova -- feel free to port his work to Ironic
19:30:46 <martyntaylor> we can still play around with the other things, like adding routes etc... but really we can't make a great deal of process until we get that piece
19:31:07 <martyntaylor> once that is done, there is a ton of stuff that can be done in parrallel
19:31:11 <devananda> ok
19:31:19 <devananda> so actually, i can probably port that in a day or less.
19:31:22 <romcheg> devananda: was about to start working on that
19:31:49 <GheRivero> o/ i'm back
19:31:49 <devananda> i also have plenty else to do :)
19:32:01 <devananda> romcheg: so please post your work to gerrit early, so we can iterate quickly and unblock martyntaylor
19:32:15 <devananda> #action romcheg to port db object model
19:32:21 <romcheg> Ok
19:32:29 <martyntaylor> other than that
19:32:59 <martyntaylor> I hope I've broken down the work load into sizable chunks so much so that if anyone has any free cycles they can pick up the odd task here and there
19:33:29 <devananda> martyntaylor: i'm going to go through today and condense those blueprints...
19:33:40 <devananda> for reference, a blueprint doesn't have to be assigned to you for you to work on it
19:33:49 <devananda> eg, one BP could encompass multiple "work items"
19:34:14 <martyntaylor> devananda: ah sure
19:34:14 <devananda> it just indicates who is the primary contact for that work
19:34:17 <martyntaylor> I see
19:34:47 <martyntaylor> my appologies my launchpad skills are not up to scratch, I'm more used to things like Redmine and JIRA
19:34:52 <devananda> so if others want to work on the API, at this point, they should probably be talking to you regardless of what BP they have assigned to them (or not)
19:34:57 <martyntaylor> sure
19:35:14 <devananda> martyntaylor: no worries :) it's a different tool, and has its limitations ...
19:35:23 <devananda> GheRivero: niec work on the glance image utils. any estimation of how much more there is to do?
19:35:32 <lifeless> NYC and amsterdam are about equal for me
19:36:02 <GheRivero> 1 or 2 days top if everything goes smoothly
19:36:07 <devananda> awesome!
19:36:34 <devananda> so after that, i'll start helping with the PXE driver work
19:37:01 <devananda> any more questions/comments about the open blueprints, ongoing work, etc, before I move on?
19:37:24 <NobodyCam> looking for reviews on https://review.openstack.org/#/c/30935/
19:38:23 <devananda> ok, moving on
19:38:28 <devananda> #topic task flows
19:38:39 <devananda> so, this bears a little explanation before we discuss
19:38:45 <devananda> #link https://etherpad.openstack.org/ironic_driver_api
19:39:02 <devananda> i jotted down some (lengthy) notes about the issue
19:39:15 <harlowja> workflows, nice
19:39:16 <devananda> tl;dr is that the nova baremetal driver implemented 2 types of "sub drivers"
19:39:20 <devananda> power and deployment
19:39:32 <devananda> i followed that model when laying out the skeleton for ironic
19:39:48 <devananda> but it's looking pretty clear that it doesn't address the needs of most vendor-extensions
19:40:31 <anteaya> what vendor-extentions does nova bare-metal drivers support now?
19:40:37 <devananda> anteaya: none
19:40:40 <anteaya> s/driver/drivers
19:40:40 <harlowja> interesting
19:41:17 <devananda> another approach that may work better is to use workflows
19:41:21 <harlowja> *really likes how this workflow stuff is being thought ahead of time :)
19:41:30 <harlowja> *thought about*
19:41:42 <harlowja> devananda thx u thx u
19:42:15 <devananda> harlowja: well, there's a good idea under here
19:42:40 <harlowja> def
19:42:46 <devananda> i dont like complicating ironic more than is necessary, but we also need to support different work flows for all the things
19:43:06 <harlowja> agreed
19:43:06 <devananda> changing the RAID config with IPMI+PXE will be a radically different workflow than doing the same thing with iLO or DRAC
19:43:29 <romcheg_> 
19:43:36 <romcheg_> 
19:43:37 <devananda> the current approach of putting that logic inside the ManagerService, calling down to the drivers via the current API, doesn't seem to work
19:43:54 <devananda> because the assumption taht different drivers will follow the same work flow is flawed
19:43:57 <devananda> they wont
19:44:20 <devananda> deploying an image via iLO doesn't require 2 reboots, for example
19:44:27 <devananda> that's a pretty significant difference
19:44:43 <devananda> that shouldn't be exposed outside of the Ironic API, at least not in my opinion
19:44:49 <harlowja> ya, its a nice ideal to have (the one api ideal) but i agree that its never really reality
19:45:12 <devananda> lifeless: i imagine you'll also have thoughts on all this (if you're around)
19:45:56 <devananda> harlowja: i dont think the API clients should need to do different things depending on the driver that Ironic is using
19:46:12 <devananda> harlowja: that'd be like expecting nova clients to send different commands for Xen vs. libvirt :)
19:46:15 <harlowja> agreed, its internal to ironic, which is fine, but has to be flexible in ironic
19:46:21 <devananda> yea
19:46:56 <harlowja> and that begs the question of how flexible, haha
19:47:08 <lifeless> devananda: I am; sec - catching up
19:47:31 <devananda> harlowja: so my idea is roughly sketched at the end of that etherpad
19:47:51 <devananda> workflows are created for known sets of drivers
19:47:56 <harlowja> ya, can u describe the weighting stuff
19:48:12 <lifeless> devananda: I had assumed that the deploy driver would take a ref to the power driver instance.
19:48:25 <devananda> lifeless: yes, it does that today
19:48:26 <lifeless> devananda: and so could do whatever it wanted, whether thats one power on or three.
19:48:42 <lifeless> devananda: or vendor specific can just do $whatever and ignore the power driver
19:49:42 <devananda> lifeless: current model doesn't seem to work if one driver does it all (eg, iLO)
19:50:42 <lifeless> devananda: At a guess, that means you don't have enough control passed to the driver
19:50:58 <lifeless> devananda: the workflow thing might be good, but it seems orthogonal to thise specific point?
19:51:49 <devananda> harlowja: idea about weights: each Driver's pubic method can be queried whether it can act on a given Node (ie, if it's got all the configuration, and whether current state prevents it)
19:52:17 <harlowja> hmmm, don't call that method, haha
19:52:44 <devananda> and if multiple drivers happen to both be capable, manager picks the "best" one
19:52:54 <devananda> eg, PXE driver requires reboot to do $foo, but iLO doesn't
19:53:09 <harlowja> kk, makes sense
19:53:12 <lifeless> devananda: So, I need to see code where this is a problem.
19:53:19 <lifeless> devananda: I don't understand why it matters at all
19:53:46 <devananda> lifeless: at the manager level, "deploy this image" is
19:54:04 <devananda> control_driver.prepare
19:54:09 <devananda> power_driver.boot
19:54:14 <devananda> control_driver.deploy
19:54:26 <devananda> power_driver.reboot
19:54:38 <devananda> <insert some hand waving>
19:54:43 <jbjohnso> devananda, huh? why would you use power_driver to reboot after deploy?
19:54:51 <jbjohnso> devananda, wouldn't the deploy just do reboot internally?
19:55:02 <NobodyCam> 5 minute warrning bell
19:55:03 <devananda> jbjohnso: it does that today, actually, but we ran into an issue with some HW
19:55:18 <devananda> jbjohnso: reboot from in-ramdisk occasionally got stuck....
19:55:23 <jbjohnso> devananda, reboot -f?
19:55:28 <devananda> :)
19:55:28 <jbjohnso> devananda, or reboot?
19:55:33 <jbjohnso> devananda, not kidding, fyi
19:55:36 <devananda> not sure atm
19:55:45 <jbjohnso> devananda, we went to 'reboot -f'
19:55:56 <jbjohnso> devananda, which resolved a lot of weirdness in corner cases
19:55:58 <devananda> so the same thing applies to "set this BIOS setting"
19:56:14 <devananda> PXE driver must: prepare. reboot. deploy special ramdisk. unprepare.
19:56:21 <devananda> iLO driver would just: send message to iLO
19:56:42 <lifeless> devananda: so I'm saying at the manager level it shoudl be
19:56:57 <lifeless> devananda: control_driver.deply(image_ref, node_ref, power_driver_instance)
19:57:00 <lifeless> devananda: -done-
19:57:03 <devananda> yea
19:57:10 <lifeless> devananda: and that your problem is you are violating the control driver abstraction today.
19:57:20 <lifeless> devananda: for which the fix is simple :).
19:57:27 <lifeless> devananda: now, you'll tell me why I'm wrong!
19:57:41 <devananda> perhaps after your meeting :)
19:57:57 <devananda> let's continue this in #-ironic if fokls want to
19:58:02 <devananda> #topic open discussion
19:58:05 <devananda> we have 2 minutes left :)
19:58:09 <lifeless> tick tock :>
19:59:00 <harlowja> so maybe more writeup will help here :)
19:59:05 <harlowja> and maybe some small code examples?
19:59:29 <devananda> possibly
19:59:35 <devananda> i'll add stuff to the etherpad
19:59:40 <devananda> thanks everyone!
19:59:46 <devananda> #endmeeting