19:00:46 #startmeeting Ironic 19:00:47 Meeting started Mon Oct 21 19:00:46 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:48 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:00:50 The meeting name has been set to 'ironic' 19:00:55 #chair devananda 19:00:56 Current chairs: NobodyCam devananda 19:00:59 #toplic Greetings, roll-call and announcements 19:01:03 Who's here for the Ironic Meeting? 19:01:07 hi devananda 19:01:12 o/ 19:01:14 hi 19:01:17 o/ 19:01:25 welcome all 19:01:26 hi! 19:01:54 ok ready to start the show 19:01:56 o/ 19:02:10 #topic Hong Kong design summit paper talks 19:02:11 #link http://summit.openstack.org/cfp/details/57 19:02:11 #link http://summit.openstack.org/cfp/details/97 19:02:11 #link http://summit.openstack.org/cfp/details/108 19:02:11 #link http://summit.openstack.org/cfp/details/112 19:02:13 #link http://summit.openstack.org/cfp/details/139 19:02:15 #link http://summit.openstack.org/cfp/details/183 19:02:18 (sorry of the bulk paste) 19:02:52 devananda: I have not looked over the papers yet today (or over the weekend) 19:02:52 devananda: I'm going to update my proposal tomorrow 19:02:59 Sorry for the delay 19:03:02 romcheg: thanks 19:03:12 so I replied / marked incomplete a few last week 19:03:25 i need to finalize the schedule by end of this week 19:03:48 do we have out time slots yet? 19:04:01 or is this so we can get them? 19:04:05 as far as what day? yes. 19:04:11 with incomplete state I can reedit it, so will do it tomorrow, also adding Don blueplrint 19:04:27 yea saw that :) 19:04:27 2013-11-07 13:50 - 18:00 19:05:01 :) 19:05:13 GheRivero: great, thanks. I just replied to dkehn's email.lots of overlap with your proposal 19:06:05 other than that, any questions on the summit track? 19:06:34 ok then moving on 19:06:54 10 lines comming up. sorry:-p 19:06:57 #topic Outstanding, in-progress or Action Item updates 19:06:57 lucasagomes map somethings that needs to be done in the API 19:06:57 devananda to update ironic wiki tripleo walkthrough to include "how to update code in the undercloud" 19:07:00 lucasagomes to remove validation from API update method 19:07:02 devananda to write framework for noav-ironic driver 19:07:05 lucasagomes to add CLI docs to ironic developer doc pages 19:07:07 romcheg to propose a non-gating job to -infra 19:07:10 romcheg to add python-ironicclient to devstack install scripts 19:07:12 devananda to think about a Transifex project for Ironic 19:07:15 romcheg looking at Ukrainian and Russian transifex translations 19:07:15 hi, loss late 19:07:17 romcheg Check how i18n conplient we are 19:07:20 (again sorry for bulk past) 19:07:22 any updates 19:07:37 hey dkehn all good 19:07:48 the validation was removed 19:07:58 About me: we have this #link https://review.openstack.org/#/c/51845/ 19:07:58 #link https://review.openstack.org/#/c/51853/ 19:07:58 #link https://review.openstack.org/#/c/48109/ 19:07:59 the CLI, well I started writing a manpage for it 19:08:06 just saying your BP and GheRivero's ironic paper are ver close to one another 19:08:16 and the work needed on the API I added a section in the https://etherpad.openstack.org/p/IronicWhiteBoard 19:08:31 NobodyCam, haven't seen GheRivero yet, GheRivero send me a link 19:08:34 there's a skeleton of a nova driver up, which needs a lot of work still :) 19:08:37 #link https://review.openstack.org/#/c/51328/ 19:08:41 I already have +2s on devstack patches, which are required for everything to work 19:08:51 dkehn: http://summit.openstack.org/cfp/details/183 19:08:59 dkehn: https://etherpad.openstack.org/p/IcehouseIronicDeploymentScaling 19:09:00 TY GheRivero 19:09:08 thx 19:09:27 awesome progress ! 19:09:37 also, several of the patches up on ironic right now spun out of me starting the nova driver, so those could be considered blockers 19:09:53 eg, the API changes to expose "find node by instance-uuid" 19:10:00 #action update open action items on agenda 19:10:19 #action NobodyCam update open action items on agenda 19:10:22 and "list [un]provisioned nodes". and the state change issues in bug https://bugs.launchpad.net/ironic/+bug/1237688 19:10:25 Launchpad bug 1237688 in ironic "a failed power_state change wedges the power_state" [High,Triaged] 19:10:39 devananda: what's the status of the localisation project 19:11:14 romcheg: same as last week. which is to say, clarkb said he did his part, and i'm not sure what the next step is any more ... 19:11:29 devananda, I put those on the whiteboard etherpad 19:11:43 lucasagomes: TY 19:11:44 devananda: there is one additional bit I can do for you which is to put the jenkins jobs in place 19:11:57 devananda: or you can do that, propose a change that adds the translation jobs to ironic 19:11:57 hey clarkb 19:12:10 Thank you clarkb 19:12:54 clarkb: I'll have a question for you in a little bit 19:12:59 NobodyCam: ok 19:13:20 clarkb: if you could, that'd be awesomely helpful 19:13:23 great updates! (still reading) 19:13:36 romcheg: i see that https://www.transifex.com/projects/p/ironic/ is there, now. 19:13:56 good to move on? 19:14:04 * NobodyCam waits 19:14:56 good to go forward? 19:15:16 ++ 19:15:20 #topic Integration and testing 19:15:33 ok I'm back on the ironic dib element 19:16:17 I upgraded to saucy and now seem to have a keystone issue in my undercloud 19:16:51 I am working thru that and will have new rav of the ironic dib patches up this week 19:17:13 I saw we have a +2 on the dev stack patches 19:17:18 :) woo hoo 19:17:36 any q/c? 19:17:55 I have a comment 19:18:01 shot 19:18:46 I won't upload the new patch set for Ironic tests in tempest until those 2 devstack patches landed 19:19:18 This is because there are tests for authentiction and policies which are disables in devstack now 19:19:47 :) could you put it up as WIP? 19:20:18 it's already a WIP 19:20:18 jusr so we can look it over :-p 19:20:25 ah, ok then 19:20:34 I will also split it into two patches 19:20:42 one for the client and one for the actual tests 19:20:54 otherwise it's going to be quite hard to review 19:21:08 :) ya that sounds like a good split 19:21:25 romcheg: have you checked with devstack -core or PTL re that split? 19:22:07 romcheg: it might be good to make sure they are OK with adding the client by itself, and tests in a separate patch 19:22:30 devananda: no, I haven't but I will do that after your suggestion 19:22:51 :) yes 19:23:04 dtroyer: hi! if you're around, quick question for you ^^ 19:23:07 %s/devstack/tempest/g 19:24:39 ok to move on we can come back if dtroyer jumps in 19:24:48 yea 19:24:53 #topic Python-IronicClient 19:25:14 I saw the doc patches this morning but hve yet to look over them 19:25:19 :) 19:26:00 :) 19:26:05 lucasagomes: any Client-y things 19:26:14 you wanted to bring up? 19:26:36 I was going thru the cli last week 19:27:15 hmm one thing I didn't looked/find yet is how to install the manpage using the setuptools 19:27:19 gotta look at it 19:27:42 and we need to document how to use the python library as well 19:27:45 not only the CLI commands 19:28:01 I am un sure how we can test for bad input in the [chassis|node|port]-shell files with our current test fixtures 19:28:58 yea, we don't have any tests for the shell commands 19:29:24 I didn't take a deep look at it tho :/ 19:29:25 what do other openstack python libs cover as fara s testing? 19:29:45 I have to look into that 19:29:59 devananda, looking at the ceilometer cli which I based on to do ironic 19:30:04 they also have no tests for the shell 19:30:07 lucasagomes: the python lib should be self-documenting 19:30:09 afaik, nova does 19:30:31 we have fixtures that mock (pun intended) the api replys 19:30:49 devananda, yea that would be great 19:30:53 also 19:31:16 lucasagomes: eg, file/class/method doc strings + sphinx autodoc 19:32:01 devananda, right 19:32:09 yea I will try to work on some docs this week 19:32:20 :) 19:32:23 to help other people use our cli 19:33:33 NobodyCam, so ur looking at the shell tests? 19:33:45 and if you can think of how to mock a 404 reply for the shell tests 19:34:00 ya 19:34:17 yea have to take a look at how other CLIs r doing that 19:34:24 lets chat in channel about how to deal with the tests 19:34:38 lucasagomes: I NEED to 19:34:39 NobodyCam, aight 19:34:55 ok to move on? 19:35:21 #topic API discussion 19:35:52 devananda, let's talk about the instance_uuid thing? 19:35:58 some great stuff in the pipes for the api 19:36:26 and driver_factory stuff? 19:36:51 yes 19:36:56 several API things to talka bout 19:37:21 NobodyCam, yea, the driver_factory is just a small piece of the puzzle, deva's patch that register the drivers on the db when they start 19:37:24 does mostly of the work 19:37:25 and 23 minutes to do it 19:37:35 after that we could then expose the /drivers on the API 19:37:43 for the public API topics, we have instane uuid and power state 19:37:56 and the stuff lucas just said :) 19:38:22 #link https://bugs.launchpad.net/ironic/+bug/1237688/comments/1 19:38:24 Launchpad bug 1237688 in ironic "a failed power_state change wedges the power_state" [High,Triaged] 19:38:38 i've got a proposal on a new power state representation there, and started coding it on thursday 19:39:00 we either need to represent taht as JsonEncodedDict, or another RPC-style object 19:39:25 and that may, or may not, have bearing on the API too 19:40:06 lucasagomes: on the instance_uuid -- what's the question? 19:40:39 devananda, did you think about what would be better to represent the state? adding a new attribute power_state_result or a dict style ? 19:41:12 devananda, ahh so... since we have to search for a specific instance_uuid and for non-null and null instances uuid 19:41:23 I now really think that the query makes sense 19:41:28 great :) 19:41:43 :) 19:41:48 linggao: are you here? 19:41:56 yep, I am here. 19:42:03 ?instance_uuid= ?instance_uuid=null ? instance_uuid=not-null... or something like 19:42:09 do we expose keywords in the URI? eg, GET /nodes?uuid=NONE || GET ... 19:42:21 are you looking at some of the stuff above? ^^ 19:42:22 right. so taht seems a little odd to me, but it would work 19:42:30 devananda, yes was thinking about it 19:42:46 Yes, I am trying to implement get node by instance_uuid 19:43:26 linggao: the DB code for that already exists. it should just be an API change, and a client lib change to match. Yes? 19:43:51 Yes, I think so. 19:43:52 afaic yes 19:44:00 afaict* 19:44:09 :) 19:44:12 I would extend that to any attibute in the db for the node 19:44:29 like nodes/?power_state=something 19:44:33 linggao: please do not do that 19:44:39 why? 19:45:02 linggao: searching on unindexed columns is slow. allwoing arbitrary queries in the API is not necessary, either 19:45:14 this way we can give user a list of nodes that are deployed or not. 19:45:42 inst_uuid != null 19:45:56 i would prefer taht the DBAPI limit which columns can be searched on. 19:46:08 inst_uuid == null 19:46:20 and inst_uuid == uuid 19:46:40 I think that would covr all our states 19:46:49 NobodyCam, :) yea 19:46:53 related to instance_uud, yes 19:46:57 I am thinking when we deploy 1000 nodes, how do we return a list of nodes that are good/bad? 19:47:12 linggao: that depends on how you define good/bad :) 19:47:18 linggao, good/bad? 19:47:27 can you add a little more to that linggao 19:47:33 like deploy_state=something? 19:47:35 the instance_uuid will fix the problem of the non-deployed/deployed nodes 19:48:59 linggao: if we need another query we can / should add that as a spereate patch 19:49:25 NobodyCam, I am just thinking user whant to get a group of nodes that have certian states. 19:49:33 linggao: so a query on deploy_state or power_state could be possible 19:50:05 linggao: but IMO that should be done outside of ironic 19:50:16 linggao: eg, with ceilometer or healthnmon integration 19:50:17 # action to define fields that should allow quesrys 19:50:18 ?? 19:50:35 davananda, I am thinking if we make it generic, i.e, using column name, then we do not have to keep changing code when new columns are added. 19:50:44 those other openstack services should have received updates from ironic for various activities (eg, deploy fail/succeed) and retain that data for historical and reporpting needs 19:51:15 linggao: technical problem, which we could change, is that deploy and power state will need to be represented in a more complex fasion 19:51:23 eg, as a tuple of 6 fields, not a single one 19:51:39 but non-technial problem, ironic isn't going to store historical data 19:52:00 ok, I'll do the instance_uuid now and do not worry about extending it. 19:52:05 finding out "this node's recent deplooy failed" is far less important than findign out "deploys to this node fail 30% of the time" 19:52:09 which ironic will never be able to answer 19:52:19 :) 19:52:24 yea, also adding queries to things like properties won't be that simple 19:52:27 right 19:52:44 ok, I see your points. 19:52:45 techniacl issue, solvable, but not trivial. the scope issue is bigger, IMO 19:53:05 devananda: for that reason I would vote attrubite for your question in previous topic 19:53:26 7 minutes 19:53:34 k 19:53:36 good to to FFT/OD 19:53:40 ? 19:53:58 #topic Food for Thought / Open Discussion 19:53:59 #action devananda to propose replacing power state and requested power state with 6 columns instaed of 2 19:54:18 one thing from last topic we didn't finish ... 19:54:28 #topic API discussion 19:54:31 the driver_factory / conductor-RPC object / expose "/driver" in API 19:54:41 lucasagomes: you had thoughts on taht? 19:55:24 devananda, actually i was just 19:55:36 telling that with ur patch landing we already can expose that 19:55:41 /drivers 19:55:45 ah. cool :) 19:55:47 yes 19:55:49 :) 19:55:54 #topic Open Discussion 19:55:55 now GET /drivers/ 19:55:58 that's another thing 19:56:01 hehe 19:56:22 I'd ask about API versioning 19:56:35 currently we only have v1 19:56:43 ok we do not log our irc here : http://eavesdrop.openstack.org/irclogs/ 19:56:45 linggao: public API or the internal RPC api? 19:56:48 do we want to? 19:57:27 devananda, the one that is controlled by the RestController 19:57:33 linggao: public API. 19:57:36 ok, 19:57:42 clarkb: my question was going to be how do we get ironic irc logs into http://eavesdrop.openstack.org/irclogs/ 19:57:54 for v2, will it be super set of v1? 19:58:04 or just supplyment? 19:58:26 linggao: i dont understand why you'd ask about v2 19:58:27 *two minutes* 19:58:40 will v1 controller and v2 controller co-exist? 19:58:57 NobodyCam: you add the channel to http://git.openstack.org/cgit/openstack-infra/config/tree/modules/openstack_project/manifests/eavesdrop.pp#n25 19:59:07 linggao: when we need to create another version of the API, we'll have to consider compatibility, yes. 19:59:12 awesome TY clarkb 19:59:14 :) 19:59:19 cause, I am fixing the bookmark url problem that does not have the vrsion numer in the url 19:59:53 lucasagomes: i thought bookmark was supposed to NOT have the /v#/ string in the url? 19:59:58 ok going to have to move any thing left to our home channel 20:00:05 #endmeeting