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