19:00:49 #startmeeting Ironic 19:00:50 Meeting started Mon Sep 9 19:00:49 2013 UTC and is due to finish in 60 minutes. The chair is NobodyCam. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:51 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:00:54 The meeting name has been set to 'ironic' 19:00:58 agenda for the meeting is found @: 19:00:59 #link https://wiki.openstack.org/wiki/Meetings/Ironic 19:01:04 * devananda waves 19:01:10 Looks like we have a full agenda today, so lets jump on in 19:01:10 #topic Greeting and roll-call and announcements. 19:01:11 who's here for the ironic meeting? And May I be the first to welcome Devananda back from the land of brunning things :) 19:01:20 o/ 19:01:22 lurking 19:01:27 o/ 19:01:33 dkehn: you are on our agenda :-p 19:01:38 here 19:01:45 dkehn, non-lurking 19:01:54 welcome every one 19:02:09 fist up 19:02:10 Rummor mill: There may be Ironic hoodies for Hong Kong. (This is a unconfirmed rummor at this point) 19:02:31 will need sized for every one 19:02:39 *sizes 19:02:41 dkehn, large 19:02:50 small for me 19:02:57 may i suggest an etherpad or gdoc spreadsheet to collect that info? 19:03:04 ++ 19:03:04 devananda, +1 19:03:06 =1 19:03:07 not here 19:03:08 +1 19:03:12 :) 19:03:16 will get that later 19:03:30 just fyi :) 19:03:32 Announcements: 19:03:32 Hong Kong design summit: call for Ironic papers! 19:03:32 Submit pepers here: 19:03:33 #link http://summit.openstack.org/ 19:03:49 #chair devananda 19:03:50 Current chairs: NobodyCam devananda 19:04:29 any one have any thinghts for design papers 19:04:40 *thoughts 19:04:42 cue crickets 19:04:43 on the summit design session proposals, please be sure to select either Ironic or TripleO, depending on which one you're going to talk about. poke me or lifeless if you're unsure which one your topic fits best in 19:05:12 :) 19:05:16 For Ironic we can think about RBAC 19:05:34 or poke both :) 19:05:39 :) 19:05:41 That will make Ironic more standalone service 19:05:53 romcheg: is there a reason to have Ironic be standalone? 19:06:05 let's not talk about specific ideas in the meeting right now 19:06:13 +1 19:06:18 oops, didn't note the channel. Very sorry! 19:06:19 just submit them and we'll discuss on the ML / on IRC if need be 19:06:21 :) 19:06:32 Will do that 19:06:37 romcheg: ty 19:06:47 ok moving on 19:06:53 #topic Testing 19:06:54 The devStack patch has landed! Way to go Roman! 19:07:18 I think I can start working on tempest now 19:07:36 :) 19:07:50 any comments / questions? 19:08:09 yes 19:08:23 shot 19:08:43 Currently devstack creates a single config for both api and conductor. 19:08:51 Should we separate them? 19:09:17 romcheg: I don;;t think there is big needfor that 19:09:21 for single-node testing with devstack,, i think single config is probably ok 19:09:34 unless there is a concrete reason to split them, i would avoid premature optimization 19:09:36 in dib element I split logging conf 19:09:47 but main config is singular 19:10:00 yea it's easier to have one config for testing 19:10:15 ok, no questions on that :) 19:10:30 another q? romcheg is this upto date? 19:10:35 #link https://wiki.openstack.org/wiki/Ironic#Try_it_on_Devstack 19:11:09 NobodyCam: yes, it is. I updated it imediately after the patch landed to devstack 19:11:13 :) 19:11:16 w00t 19:11:19 yay for devstack support 19:11:21 nice! 19:11:38 rtmo? 19:12:05 moving on 19:12:11 and of course the DIB element(oh thats /me): 19:12:11 2 of 4 landed :) Remaining is: 19:12:12 #link https://review.openstack.org/44500 (element itself) 19:12:12 and 19:12:12 #link https://review.openstack.org/44516 (yaml heat template) 19:12:14 I'll work the last ones through this week! 19:12:49 any q/ c? 19:13:38 ok movnin along 19:13:40 #topic in-progress tasks 19:13:40 Gongrats to Ghe PXE has LANDED! 19:13:46 :)!!!!! 19:14:27 oh yea!! a huge step forward on making ironic usable :) 19:14:35 oh ya 19:14:39 :) 19:14:43 I think I asked in the review, but someone knows how he actually tested that? 19:15:35 I did speak with him about that ... but cannt recall just now what his answer was 19:15:46 GheRivero: around? 19:15:56 ok, yea I looked in the review but I got no answer there 19:16:04 it's cool I can talk to him when he's online 19:16:10 Regarding the the authentication: AFAIR I reported last time that the current implementation of Ironic authentication allows domain admins to use the API 19:16:10 :) 19:17:20 any more q/c on PXE 19:17:48 moving on 19:17:51 And Now for something completely different: 19:18:03 the Ironic Client Libary 19:18:04 #link https://github.com/openstack/python-ironicclient (Repo) 19:18:04 Patch to add the initial files: 19:18:04 #link https://review.openstack.org/#/c/45144 19:18:28 :) 19:18:46 good start! 19:19:04 will need to do some design on how and what it needs to do 19:19:32 example how will me handle nova baremetel-node-list 19:19:47 functionality 19:20:13 I think we need an etherpad doc for that 19:20:18 the above revire is just the basic framwork 19:20:21 maybe we should open an etherpad for that and starting throwing the ideas there 19:20:27 ++ 19:20:28 romcheg, +1 19:20:49 we have 19:20:54 #link https://etherpad.openstack.org/IronicWhiteBoard 19:21:08 welcome back linggao 19:21:23 Hey NobodyCam. 19:21:23 can we ajust use that one? 19:21:42 I'm fine with that one 19:21:46 :) 19:21:48 there's a section for it there already 19:21:57 == Python client library == 19:22:10 :) 19:22:13 +1 to the same document. 19:22:17 we'll start using it 19:22:29 sounds good :) 19:22:52 any other q/c ok to move on? 19:23:16 moving on 19:23:17 #topic API discussion 19:23:18 Our Epic "Patch" has landed : congrats Lucas 19:23:25 :) 19:23:48 as romcheg rightly pointed out... we might need to improve the validation method later 19:23:55 yes!!!! 19:24:17 romcheg: you want to file a bug to track that? 19:24:33 I think that looks more like a BP 19:24:38 :) 19:25:10 So if you don't mind I can file a BP :) 19:25:20 romcheg, +1 :) 19:25:29 as they say: Just Doit 19:26:01 with that our new big epic 19:26:02 Next up is vendor_passthru 19:26:02 Many comments can be found at: 19:26:03 #link https://review.openstack.org/#/c/41976 19:26:09 as an aside, I'd suggest small things -> bug. big work that we may want to discuss at the summit -> BP. 19:26:39 :) kninda what DS's are for huh 19:26:42 :-p 19:27:04 devananda: I'll do as you wish :-P 19:27:06 right. what i mean, there's explicitly a way to link design sessions to BPs (but not to bugs) 19:27:42 :) 19:28:07 we need some degree of vendor_passthru for the PXE driver 19:28:29 yuriyz: did I see you? 19:28:35 so, vendor_passthru... there's two patches in the review system right now, one for the API and one implementing the server side 19:28:38 but to what degree we need to return a tracking token and allow users to poll status on that token is, at the moment, not clear to me 19:28:43 yes 19:28:51 but there's one thing missing, we need to improve the client's feedback 19:29:04 Any idea about deploy monitoring? 19:29:17 IMHO, adding tracking token right now is premature 19:29:25 our currently implementation (in the review) doesn't allows clients to monitor their requests, not even knowing if the validation of the data passed or not 19:29:32 because we already have a unique ID (the node UUID) which can be polled for updates 19:30:31 lucasagomes: changing pass_vendor_info self.cast to self.call would allow such feedback 19:30:46 devananda, yes! but won't be async then 19:30:47 lucasagomes: at the cost of stalling hte API request if that call is going to take a while, which is bad 19:30:50 right 19:30:54 But deploy is long process 19:31:06 we could make the async operation happen within the manager 19:31:20 pass info as a cast, then let periodic_task handle the work. not saying I like that solution .... 19:31:29 what if the we make the validation sync, and then we call cast to the driver do the actual work? 19:31:33 **pass info as a call**, i mean 19:31:52 hm 19:32:01 so it would look like... validation passed, request was accepted 19:32:22 i feel we need at least that level 19:32:23 return 202, with no body message 19:32:29 so have the rpcapi.pass_vendor_info invoke two RPC operations -- first, call('send the info'), then second, cast('now do the work') 19:32:32 ? 19:32:51 devananda, that's how I see it :/ 19:32:53 1 call and 1 cast 19:32:55 lucas, +1 19:33:14 i think that would work 19:33:19 two methods? 19:33:23 no, one method 19:33:29 the client could then wrap the two calls? 19:34:13 ironic/conductor/rpcapi.py:ConductorApi.pass_vendor_info() would have two function calls inside it 19:34:27 self.call(context, self.make_msg('validate_vendor_info', ...) 19:34:27 NobodyCam, it's one call 19:34:37 self.cast(context, selfmake_msg('do_vendor_work', ...) 19:34:49 er... no. nvm, that doesn't work either 19:34:57 validate -> get return, if positive cast, and then return the info about the validation 19:35:05 if negative just return the info w/o calling cast 19:36:21 as;ldkj 19:36:27 gah puppy sorry 19:36:59 actually, ignore my "nvm" -- it does work. 1 call. if succeed, then cast & return. 19:37:31 I say because, idk if it makes much sense about returning a request accepted return code, without validating the data before 19:37:33 if fail return fail msg to user? 19:37:41 if the call to validate the vendor info failed, an exception should have been raised on the remote end, which would bubble up here (and that's fine, i think) 19:38:52 :) any thing else on vp thru 19:39:08 we can chat more in channek 19:39:11 nothing else fro mme - I'll add comments to the review. 19:39:13 *chennel 19:39:19 :) 19:39:40 I'm good also 19:39:45 #topic Food For Thought / open discussion 19:39:47 No questions 19:39:50 devananda: ok 19:40:04 Don's ( dkehn ) Neutron patches have Landed! How will this impact Ironic? 19:40:22 see dkehn I said you on our agenda 19:40:24 :-p 19:40:41 yeah, but nothing to say on that one 19:40:58 congrats man!!! 19:41:02 the patch provide s for setting up the PXE boot params 19:41:03 that was hard work 19:41:18 well it def helps us in our merge of the nova bm deploy helper in the ironic code database 19:41:30 not really , but did require and incredible amount of patences 19:42:03 lifeless, also has changes for the patch once we move on https://review.openstack.org/#/c/45589/ 19:42:20 #link https://review.openstack.org/#/c/45589/ 19:42:22 :) 19:42:25 ty lucasagomes 19:43:05 dkehn: have the changes for nova baremetal driver (so that it can use neutron's pxe ports) landed? 19:43:26 the initial yes 19:43:37 dkehn: if so,we could probably adapt that nova-baremetal patch to the ironic-pxe driver code 19:43:42 devananda: https://review.openstack.org/#/c/45126/4 is a fixup needed. 19:43:44 rather than rewrite it 19:43:49 https://review.openstack.org/#/c/31061/ 19:43:58 https://review.openstack.org/#/c/45126/ 19:44:08 thanks. looking 19:44:13 devananda: I've asked for and gotten an FFE for it; it just needs two x +2. 19:44:16 there was a bug in the initial release 19:44:23 #link https://review.openstack.org/#/c/31061/ 19:44:31 #link https://review.openstack.org/#/c/45126/ 19:44:40 NobodyCam, sorry 19:44:56 not at all 19:45:01 :-p 19:45:13 just makes them easier to find later 19:45:53 open floor 19:46:01 any comments question at all 19:46:40 linggao: are you getting back in to the swing of things are you going to revive your power patch? 19:47:32 NobodyCam, yes. I'd like to get in 3 pathces 19:47:42 1. renamting ipmi.py to ipmitool 19:47:50 2. native ipmi driver. 19:48:28 :) 19:48:41 3. set_node_state_change (something like that) 19:48:52 hope they will go through this week. 19:49:04 :) looking forward to seeing them :) 19:49:15 great! thanks 19:49:40 :) 19:49:49 anyone thing else? we going to get out of here earily today 19:50:30 last words: design summit papers!!! please submit any ideas 19:50:47 maybe use the last 10 minutes to talk about the interface with nova 19:50:59 ++ 19:51:02 devananda, you have any thoughts here? will ironic be a driver for nova? 19:51:24 lucasagomes: th client lib 19:51:26 Shouldn't that be just another driver? 19:51:35 import python-ironicclient 19:52:17 so 19:52:30 we'll need to create an ironic driver for nova, yes 19:52:50 it will implement nova's internal driver api, and it will wrap python-ironicclient 19:53:09 so, eg, a call to "nova boot" will get routed roughly like this 19:53:38 nova-api -> nova-scheduler -> nova-conductor [ -> nova-compute ?? ] -> nova/virt/ironic/driver.py 19:54:09 class IronicDriver 19:54:22 IronicDriver.spawn(...) 19:54:33 that will issue API calls to ironic-api 19:54:34 and so on 19:54:48 gotcha 19:54:52 :) 19:54:55 look at nova/virt/baremetal/driver.py:BaremetalDriver for an example of the minimal set of methods we'll need to implement 19:55:09 as an interface between nova's Driver API and the Ironic service 19:55:22 I thhink 19:55:33 think we need a BP 19:55:35 I have the dumbest question here: why do we need nova if it works like a proxy for Ironic when booting a BM node? 19:56:16 eg, spawn(), reboot(), destroy(), get_info(), list_instances(), get_hypervisor_type(), .... 19:56:29 right, and some future features that we are going to expose in the ironic api, will also be exposed in the driver? For e.g the hardware recovery, or even the vendor passrhru? 19:56:34 romcheg: there are many, many things which nova interacts with during provisioning of a VM 19:56:43 romcheg: we are building the replacment for nova baremetal wihich will get pulled out 19:57:06 romcheg: ironic is a service which deploys an image on to a machine. it's acting rather like libvirt in that sense 19:57:23 romcheg: ironic is not replacing nova :) 19:57:33 makes sense :) 19:57:37 -p 19:57:48 i should have made that more clear 19:57:57 3 minute bell 19:58:02 :) that's a straight forward answer 19:58:03 lucasagomes: yes, once we have feature parity with the current baremetal driver, we'll start looking at the new features 19:58:26 lucasagomes: and performance optimizations, HA, etc 19:58:53 devananda, oh yea... we have to improve the deploy process performance 19:59:07 There will be a new peoject called Tuskar, what is the relationship between it and ironic? 19:59:08 but we have no time to talk about it now cause there's only 1 minute left 19:59:10 lucasagomes: vendor_passthru may never be exposed via Nova's API. also things like firmware mgmt, probably not going to go through Nova (though there are disucssions about that...) 19:59:22 right! time's up :) 19:59:35 :) 19:59:36 we can move back to our channel 19:59:39 T=-1 :) 19:59:42 ok 19:59:44 so, please submit design ideas! :) 20:00:00 linggao: tuskar layers on tripleo layers on ironic 20:00:03 ok good meeting everyone 20:00:10 #endmeeting