19:01:37 #startmeeting ironic 19:01:38 Meeting started Mon Jun 17 19:01:37 2013 UTC. The chair is devananda. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:01:39 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:01:42 The meeting name has been set to 'ironic' 19:01:55 hi all 19:02:13 looks like not much has changed on the agenda, but we have a few things to talk about 19:02:25 #link https://wiki.openstack.org/wiki/Meetings/Ironic 19:02:30 wooo, meetingtime! 19:02:41 #topic object model 19:03:04 so 19:03:11 romcheg and i have been working on the object model 19:03:23 i think it's done enough at this point, 19:03:30 though one more part is still in review 19:03:57 nested dicts -- https://review.openstack.org/#/c/33082/3/ironic/objects/utils.py 19:04:25 i was hoping romcheg would be here to talk about objects, but he's not 19:04:34 hmm 19:04:39 I'm going to call him :) 19:04:39 oh! there he is 19:04:42 :P 19:05:03 so, anything to say about object, db models, etc? 19:05:18 I fonutd a strange thing 19:05:23 we had questions this morning about a db api spec 19:06:08 Some models are not defined in ironid.db.models but are defined in ironic.db.sqlalchemy.models 19:06:50 yes. ironic.db.models is old and i'm deleting it in review 33082 19:07:33 Ah, exactly 19:07:46 o/ 19:07:55 i'm also removing ironic.api.model 19:07:56 I'm also working on chassis 19:08:17 Yeah, I remember reviewing this one 19:08:32 i think we'll end up with 3 classes describing things 19:08:43 db.sqlalchemy.models 19:08:53 db.sqlalchemy.models.Thing 19:08:57 objects.thing.Thing 19:09:02 We might also need MetaData objects 19:09:17 api.controllers.v1.Thing 19:10:14 romcheg: metadata objects for what? 19:10:56 As I recall, we need MetaData for everything. Shouldn't that be a common thing for nodes, ports, etc? 19:11:26 ah, right 19:11:39 so at the moment, i dont know what will be stored in that metadata field 19:11:52 Me neither :) 19:12:08 So yes, I think we can leave without that now 19:12:10 i suspect we probably shouldnt strongly type it, and allow the user to use it as needed, at least initially 19:12:21 node already supports this with the 'extra' field 19:12:58 the patch I have up allows any JSON to be supplied for driver_info, properties, and extra -- it converts to dict for use in the code, and back to JSON for storage in the db 19:13:20 how does that sound? suficient for our present needs? 19:13:44 extras are stored in the same table, metadata can be stored separately 19:13:53 ahhh 19:14:15 nova's separate key/value metadata tables are a performance nightmare :) 19:14:38 Then we can get rid of them? 19:15:25 i think we can get the same functionality with a JSON field that nova gets with a k/v table. 19:15:59 (i'm not about to try removing it from Nova, though :) ) 19:16:10 It might be quite hard to search through the extra infos like these 19:16:31 sure, but do we need to search through them? 19:17:13 If the information exists we might need to search through it :) 19:18:24 hm, so i can see one possible need to search it today 19:18:45 I think for now it's not so important 19:18:50 "find node with property X == value Y", eg "find node with 16 GB RAM" 19:18:51 however 19:19:14 this is done at the scheduler in Nova, so it will not be implemented as a query in Ironic 19:19:28 ironic will export the whole 'properties' metadata field to nova scheduler 19:20:05 i think for now this is simpler, and we can split it out later if necessary 19:21:00 Agree 19:21:05 ok, going to move on so we dont run out of time :) 19:21:12 #topic API implementation 19:21:31 i think martyn hasn't done much on this as he was waiting on the objects 19:21:41 but i put up a review which shows how to use objects in the API 19:22:09 i think we're ready to start splitting that up and implementing it in parallel, particularly once chassis object is also done :) 19:22:43 as neither martyn nor jayg are here, i'll wait a minute in case anyone else wants to comment, and then move on 19:22:56 I'm going to put chassis to review tomorrow 19:23:07 w00t 19:23:10 great! 19:23:33 #topic image utils and pxe driver 19:23:43 GheRivero: hi! how's that going? 19:24:19 welcome cody 19:24:26 iamge tools alsmost done. only some tests and docstrings missing. 19:24:40 awesome! 19:24:53 i have to redo part of it to content glanceclient devs and use versioned clients 19:25:02 https://review.openstack.org/#/c/33327/ 19:25:21 but confident to be ready early this week 19:25:51 k 19:26:06 and about pxe, i will update it to this review meanwhile 19:26:28 let's try to split the pxe rewrite into some manageable parts 19:27:12 I'll gladly pickup some pxe bits 19:27:17 yeah, sure 19:27:34 putting up a review with pxe.py based on the new image utils is probably first step 19:27:59 another with it using the new TaskManager/ResourceManager, and maybe the new object models 19:28:17 i'm not sure how well these three changes can be parallelized though ... :) 19:28:22 ideas welcome, too :) 19:29:08 i will prepare a review with the image tooll tonight, and we can start working from there 19:29:41 k. i'll be only half around tomorrow, but will try to at least comment on reviews. should be able to do more the rest of the week 19:30:07 anything else on the pxe driver that folks want to talk about? 19:31:10 ok, moving on 19:31:13 #topic open discussion 19:31:33 great job so far everyone! 19:31:44 our reviewers are reviewing more: http://russellbryant.net/openstack-stats/ironic-reviewers-30.txt 19:31:50 thanks to everyone for reviewing 19:31:52 happy to see anteaya's first review :) 19:31:59 \o/ go reviewers! 19:32:06 you mean my patch you could review? 19:32:18 you missed my first teeny bug fix patch 19:32:19 hehehe oh ya that one .... 19:32:50 ah, so that reminds me if folks want to contribute but aren't sure yet what code to write 19:32:58 we are lacking unit tests for lots of things :) 19:33:03 any news on the meeting? 19:33:17 that there are lots of todo's through the code 19:33:50 GheRivero: thanks for the reminder. I think we probably won't have the meeting at the end of this month, not enough people could commit to make the travel worthwhile 19:34:18 oh just fyi ... I will not around friday 19:34:18 devananda: would it make sense to discuss one with at least 2 months notice so romcheg can get a visa if need be? 19:34:27 NobodyCam: okay, thanks 19:34:31 anteaya: that would make far more sense :) 19:34:31 I would wonder 19:34:47 devananda: great, now or another time? 19:35:15 we could also plan for virtual meetings (hangout, skype, etc) 19:35:33 I applied for a visa 19:35:56 However, it doesn't look like my application will be approved :( 19:36:02 romcheg: :( 19:36:03 how long before you hear back romcheg 19:36:18 NobodyCam: NobodyKnows 19:36:26 lol 19:36:29 anteaya: i dont have any specific ideas around dates or location at this point... 19:36:42 okay 19:36:51 how about hongong 19:36:54 i'm pretty sure there will be some sessions at hong kong summit 19:36:57 hongkong 19:37:12 AIUI, as a project, we'll have a separate track 19:37:18 we could all have dinner and call it a meeting 19:37:32 probably half a day with a room to ourselves or so 19:37:41 * devananda waves hands nebulously 19:37:45 NobodyCam: you clever man 19:38:02 lol 19:38:33 I don't think romcheg will need a visa for Hong Kong, will you romcheg? 19:39:10 When is the summit? 19:39:27 November 19:39:30 It's easier to get a visa to Hong Kong 19:39:40 I will ask about funding 19:39:43 nov 5 thru the 8th i think 19:39:43 #link http://www.openstack.org/summit/openstack-summit-hong-kong-2013/ 19:39:52 devananda: thanks 19:40:27 I just got my email for registration today 19:40:46 Ukraine is a post-soviet country. It's not hard to get to Hong Kong, but hard to get to the US 19:40:58 anteaya, yeah 20 mins ago 19:41:08 dkehn: cool 19:41:17 indeed, 20 min ago i got one as well 19:41:32 romcheg: good, so makes more sense to plan to see you in Hong Kong then 19:41:55 so the question is, is there budget for enough people to have a meeting between now and then to make it worthwhile? 19:42:23 *shrug* from me, I don't know 19:42:35 so far, the responses i've gotten have been a lot of maybes, which suggests it's really a "no" 19:42:49 considering the expense of Hong Kong for most 19:43:00 indeed 19:43:01 most people is thinking on HK 19:43:10 might it be better to encourage them to lobby management now so they are in HK 19:43:31 since HK for the design summit is the priority, I feel 19:43:47 that seems reasonable to me 19:44:24 okay so romcheg aim for HK 19:44:42 I'm preparing to release a native python ipmi library, would folks prefer that to be standalone at PyPI with only glue in openstack 19:44:50 or to have the whole thing in openstack 19:44:53 your visa application should be in good shape for that event then 19:45:08 anteaya: Yes, will try to get there 19:45:13 romcheg: great 19:45:14 :D 19:45:33 jbjohnso: good question 19:45:49 mordred: any opinions on the pypi option? 19:45:54 or jeblair? 19:46:20 the api as-is, has object constructed: ipmi_command(bmc=bmc,userid=userid,password=password) 19:46:33 and then can call functions as such: 19:46:42 ipmicmd.get_power() 19:46:49 ipmicmd.set_bootdev('network') 19:46:49 etc 19:47:04 there's async api, but I'll just omit that for now 19:47:41 jbjohnso: what's the cost of instantiating the ipmi_command class? 19:48:19 devananda, how do you want me to account ;) 19:48:39 eg, should we plan to create them on-demand for just one action, or keep the instance in memory for a while? 19:48:57 jbjohnso: relative cost is fine :) 19:49:02 devananda, reusing it saves about 8 packets on the wire 19:49:22 so get_power takes one round trip with 2 packets instead of 10 packets in 5 round trips 19:49:37 gotcha. so reuse is good 19:49:52 devananda, when I add SOL session support 19:50:04 devananda, then a single session can multiplex SOL and non-SOL payload 19:50:27 devananda, it should be any more expensive to not reuse than ipmitool as-is 19:50:42 devananda, ipmitool has to do the same negotiation after all 19:51:00 jbjohnso: right. good to know this can be more efficient :) 19:51:30 i'm sure we'll dig into that in more detail when we start writing the driver interface for it 19:51:30 devananda, one thing though is session keepalive currently isn't handled, so it will crater if idle too long 19:51:58 since mordred doesn't seem to be arond, i'll take a few guesses at the in-or-out-of openstack question 19:52:03 but he's really the best one to answer 19:52:27 the driver is probably going to cross the 1,000 lines of code threshold shortly (easily if I add SOL) 19:53:17 jbjohnso: keep on rock'n 19:53:23 devananda: I have discussed with jbjohnso on his native ipmi implementation, I personally think that the his APIs should confirm with the ironic.drivers.PowerInterface. 19:53:27 it sounds like you've already implemented it as a library 19:53:54 and the ironic.conf file can decide to load in ipmi.py or native_ipmi.py 19:54:07 devananda, yeah, my sync api example to make a python 'ipmitool' with subset of function is about 20 lines of code 19:54:08 so whether you put it "in" openstack (eg, on stackforge) or not is up to you -- whether you want openstack's tooling, testing, etc 19:55:17 jbjohnso: i'd encourage you to put the code on stackforge, even if it's a separate library 19:55:35 * NobodyCam notes that is the 5 (five) minute bell 19:55:43 so that development still follows the openstack tolling 19:55:45 tooling 19:55:57 but it's up to you. i dont see why ironic couldn't consume something from pypi 19:56:01 'tolling' eh, now the truth is revealed 19:56:05 :p 19:56:38 linggao: if it's implemented as a separate python library, i think we can easily have another PowerInterface for native_ipmi that wraps said library 19:56:53 linggao: so i dont think it needs to be implemented _as_ a PowerInterface 19:57:03 but we will need a separate PowerInterface for it 19:57:31 then how does the code decide which PowerInterface to call? 19:57:40 basically, the library sucks up kg, userid, password, bmc address in generic fashion 19:57:49 linggao: config option just like you suggest 19:58:03 and whatever is in the modules directory would be the bit that understands openstack configuration and such 19:58:28 if native ipmi and the ipmi.py have the same functions, why do we need antoher PowerInterface? 19:58:51 linggao: well, in the long term, we dont :) 19:59:08 I thought PowerInterface is an abstact layer for all the implementations to follow. 19:59:11 linggao: but at least for now, i dont want to remove a working PowerInterface until the new one is proven 19:59:22 ahh 19:59:23 yes 19:59:39 by "another PowerInterface", I Meant another subclass 19:59:42 one minute to go...tic toc...*theam from jepordy playing in background* 19:59:53 theme even 19:59:53 we're out of time, so let's move any remaining conversation back to -ironic channel 19:59:59 right. 19:59:59 thanks everyone! see you next week 20:00:03 #endmeeting