17:00:09 #startmeeting ironic 17:00:09 Meeting started Mon May 16 17:00:09 2016 UTC and is due to finish in 60 minutes. The chair is jroll. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:10 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:12 The meeting name has been set to 'ironic' 17:00:12 hai everyone 17:00:20 o/ 17:00:24 o/ 17:00:25 o/ 17:00:30 o/ 17:00:36 0/ 17:00:39 :p 17:00:42 o/ 17:00:42 o/ 17:00:44 o/ 17:00:45 o/ 17:00:50 o/7 17:00:52 #chair devananda NobodyCam 17:00:53 Current chairs: NobodyCam devananda jroll 17:00:59 #topic announcements and reminders 17:01:01 o/ 17:01:03 o/ 17:01:07 o/ 17:01:11 so, people have been chugging along on grenade work 17:01:25 it seems to be going well, lots of fun there 17:01:30 o/ 17:01:48 great work every one! 17:02:05 I also have a chain of patches up for all the deprecated stuff we need to drop, if people want to get that done https://review.openstack.org/#/q/status:open+project:openstack/ironic+branch:master+topic:deprecations 17:02:48 o/ 17:03:10 o/ 17:03:16 last, looks like the virtual vs physical midcycle doodle is overwhelmingly in support of virtual: http://doodle.com/poll/4vm5ea28t3qyn7bp 17:03:47 o/ 17:03:50 I'll send out a more official email about that later[ 17:03:56 any other announcements or reminders? 17:04:06 jroll: which means it will be virtual? 17:04:09 rloo: yes 17:04:22 jroll: thx. I wanted that yes recorded :D 17:04:27 heh 17:04:31 hah 17:05:32 possible date will be another poll? 17:05:40 maybe! 17:06:06 :) 17:06:19 #topic subteam status updates 17:06:36 as always: 17:06:38 #link https://etherpad.openstack.org/p/IronicWhiteBoard 17:06:42 o/ 17:06:45 starts at line 80 this week 17:08:00 dtantsur: wrt spring bug clean up, would it be good for folks to help you. maybe *after* the grenade effort? 17:08:46 ++ 17:09:04 jroll: Back-tracking. On the virtual midcycle, are there date-ranges when think it will happen? Can I assume that will be in the follow-up email :) 17:09:22 jlvillal: I haven't thought much about it, sorry 17:09:31 * jlvillal would vote for not conflicting with Nova mid-cycle. Especially since he is on vacation that week :) 17:09:44 jlvillal: it won't, I'll be busy at nova midcycle that week :P 17:10:01 rloo, yeah 17:11:28 anything else on subteam updates? 17:11:29 lots of great work done on grenade and gate stuff. i hope you have been chugging beer too. 17:11:58 vsaienko1: there? 17:12:10 sivaramakrishna yes 17:12:45 I've rebased the devstack related patches https://review.openstack.org/#/c/256364/ etc 17:13:06 can this be taken outside of the meeting? :) 17:13:12 (unless it's a topic for the group 17:13:13 ) 17:13:21 +1 17:13:30 sure, jroll 17:13:33 thanks 17:13:35 moving on 17:13:44 #topic Active Node Creation/adopt 17:13:50 #link https://review.openstack.org/#/c/275766 17:13:55 * jroll hands rloo the mic 17:14:35 so i just want to know if we want to have adopt be changed to deploy 17:14:40 if the microversion is older 17:14:46 https://review.openstack.org/#/c/275766/17/ironic/api/controllers/v1/node.py 17:14:53 line 133 17:15:18 there are a few +2 for that patch 17:15:32 i don't think there should be. 17:15:33 rloo: that seems to me to be a good shim for backwards compatibility, eg. with Nova 17:15:37 yeah, I don't recall a group chat about this 17:15:44 rloo: could you explain what risk or negative impact you think it will have? 17:15:48 rloo: I vaguely remember an against against: old API microversion cannot act on "adopt" the same way we can act on "deploy" 17:15:50 What would it report then? I assume this is just to report the state to an old client. 17:15:53 devananda: well, we don't do anything for eg inspector 17:15:58 I see the point, but I personally don't see a issue with it 17:16:09 jlvillal: that is my understanding as well 17:16:17 we aren't consistent with it. and does it make sense that 'adopt' is 'deploy'? 17:16:20 make a node in the ADOPTING transition appear to older clients in a way that they understand it 17:16:22 jlvillal, the truth like we always do? 17:16:42 so julia said: "I think we shouldn't be exposing new node states to older clients, and that is represented in the specification, that we conceal to older clients. IMO, it is a breaking change because the state is leveraged for programatic decisions by API clients." 17:16:43 devananda: jlvillal: that is my understanding too 17:16:45 devananda, the clients have to be ready for unknown states. otherwise any additions breaks them 17:16:46 what about 'clean'. what should we do there? 17:17:00 if "the state is leveraged for programatic decisions by API clients", we shouldn't lie about the state 17:17:00 e.g. you can't replace ENROLL with anything. Nor CLEANING. 17:17:11 rloo: inspecting isn't a state within the AVAILABLE->ACTIVE->AVAILABLE cycle, ie, that Nova cares about 17:17:33 devananda, neither is ADOPTING, it does not start with AVAILABLE 17:17:45 i don't want to focus on nova specifically. just want to know how we want to handle this and all states we've added 17:17:58 fwiw, this won't break nova 17:18:01 devananda: are you saying that this is actually needed for nova? 17:18:08 nova only cares if a thing is available or not 17:18:14 https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L179 17:18:21 yeah, I don't get the nova argument here too. we introduce new states constantly, it never broke them 17:18:23 * jlvillal wonders if we should have an "UNKNOWN" state to report to older clients? 17:18:30 there *is* this: https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L72 17:18:38 You don't know about this state, go away... 17:18:44 but you can't unprovision from adopting or deploying, so it's irrelevant 17:18:53 so I understand what julia meant wrt not showing new states etc. but the truth is that we haven't been hiding new states. so why start now. or do we want to hide new states? 17:18:55 jroll: right 17:18:56 apparently you can from deploying? wat? 17:18:59 jlvillal, how will it help anyone? 17:19:13 except for our love to microversion everything? 17:19:14 which shows me even more we shouldn't pretend this is deploying 17:19:25 adopting is NOT deploying 17:19:54 I'm a bit out of context (I haven't reviewed the patch) but I tend to agree with rloo re inconsistencies 17:20:04 since it hasn't been the case for other states 17:20:05 so I agree with rloo here, and have commented as such on the patch 17:20:15 if someone can convince me this is necessary for some reason, I'm happy to listen 17:20:43 Does that also imply that clients should not break if they see a state they don't know about? 17:20:56 jlvillal: thought that was already the case 17:21:11 It makes sense to me to have it that way. 17:21:27 jroll: an older client can not reasonably act on a node in a state that didn't exist in the version which that client was designed for 17:21:53 devananda: do we assert that an older client should be able to reasonably act on a node that is in the ADOPTING state? 17:22:01 devananda: how did we introduce inspecting? 17:22:02 devananda: especially when we lie about that state? 17:22:21 mat128, and enroll. and cleaning (actually cleaning was a troublesome one, it did break nova iirc) 17:22:22 jroll: fair point. nope. 17:22:26 :) 17:22:39 if we lie about the state, bad decisions will be made 17:24:08 would it be better to obj.provision_state = ir_states.AVAILABLE 17:24:12 so does anyone still agree that we should munge this state in the api response? 17:24:25 NobodyCam, oh no, nova will try to use it 17:24:28 NobodyCam: huh? 17:24:30 yeah that 17:24:30 jroll: and if we return the state to older clients, are we certain they'll ignore it? 17:24:43 gah ... Active!!! 17:24:50 :p 17:24:54 NobodyCam, I think no, cause then the client could potentially act against AVAIALBLE 17:24:56 NobodyCam: ACTIVE would be closer to the truth, considering a node will transition into active when it's done 17:24:57 but still lying 17:25:09 but since it's not really AVAILABLE, things can happen (bad ones) 17:25:19 NobodyCam, we do support a couple of actions on ACTIVE, which we can't support on ADOPTING 17:25:20 NobodyCam: active won't work either, cuz it is adopting. after adopting, if it succeeds, it will be active. 17:25:26 mat128: I believe that's the point of the current patch. returning DEPLOYING because the node will transition to ACTIVE when adoption finishes 17:25:26 devananda: ignore it in terms of... not do something with it or? 17:25:31 jroll: right 17:25:46 devananda: I mean, I would hope so, but I can't speak for code I don't know 17:25:52 AVAILABLE was bad typing ... ACTIVE was what I was thinking 17:26:02 jroll: as opposed to, say, tyring to do things it can't do (which, you have a valid point, would also happen if we return DEPLOYING and the client tries to DELETE) 17:26:11 NobodyCam: ACTIVE should have instance_uuid, this one wont 17:26:13 if we want to substitute, deploying is the best fit I think, actions are the same. but it seems we don't 17:26:36 devananda: "if state is something I've never coded for, do something destructive" sounds crazy, if someone writes that code that's their own gun pointed at their feet imo 17:26:43 mat128, not necessarily if used in stand-alone mode 17:26:53 lucasagomes: true.. 17:27:06 ACTIVE is a stable state, I don't think we should consider it.. 17:27:10 mat128, but ACTIVE does allow user to delete the instance (which can turn out bad) 17:27:19 jroll: I've seen code assume things like "if state in LIST_OF_STATES: do this; else: do that;" 17:27:28 yeah I think the best fit is actually DEPLOYING, but not sure it's _required_ 17:27:38 jroll: so it is code like that I am concerned about 17:27:40 lucasagomes: what happens if we just return ADOPTING? Can we confirm it won't break a node-list on older client? 17:27:44 and btw, nova won't manage adopted nodes right? 17:27:46 devananda: yeah, but 'that' being something destructive? idk 17:27:51 lucasagomes: fwiw, ADOPTING does not allow delete 17:27:56 https://review.openstack.org/#/c/275766/17/ironic/common/states.py 17:28:03 look, we have a lot of new states since 'adopting' (sorry) the new state machine: http://docs-draft.openstack.org/66/275766/17/check/gate-ironic-docs/52915ef//doc/build/html/_images/states.svg 17:28:13 devananda, then here's the question: are we ready to do it every time now? even when we don't have a good candidate? like imagine we would have to introduce ENROLL. 17:28:19 devananda, yup yeah that's reinforce the idea of not using ACTIVE to mask it 17:28:19 we do not (yet) handle masking new states from older versions. 17:28:32 mat128, we can totally test that, it should not off the top of my head 17:28:32 (apparently we broken all that people when we did it already, so now they're ready :D ) 17:28:49 dtantsur: yea, we've had similar discussions (and difficulties) every time we've introduced new states 17:29:19 * jroll pulls the pin and asks "is our state machine part of our api contract?" 17:29:25 jroll: yes 17:29:29 it seems like we introduced microversions when we introduced enroll. the versioning was meant to handle these new states. 17:29:48 rloo, we introduced microversions on NOSTATE->AVAILABLE change 17:29:55 which was breaking for nearly everyone starting with Nova 17:30:07 jroll: the list of "verbs" that an API accepts is part of that contract 17:30:12 hmmm NOSTATE... 17:30:17 it's unclear to me whether introducing ADOPTING breaks anyone, who already recovered from ENROLL and CLEANING 17:30:30 devananda: yes, but that isn't strictly the state machine 17:30:32 ++ dtantsur 17:30:48 jroll: it is how one interacts with the state machine 17:30:50 but NOSTATE is different, it IS a synonym for AVAILABLE 17:30:53 devananda: I'm asking e.g. is the list of possible states part of the api contract? 17:30:55 ISTM the real problem is that we have no way of saying "your client must be at least this recent to talk to me" 17:31:04 devananda: are transient states part of the contract? 17:31:06 etc 17:31:08 state machine changed when new nodes started in "enroll" instead of "available" 17:31:20 jroll: ok. that's slightly different than the acceptable verbs, but I also believe that's part of the contract 17:31:50 jroll: think of a programming API. if a function introduces a different return code, is that a change in the contract? 17:31:56 I said this before, but can the contract also be if you see a state you don't know about don't crash and don't try to do things on that node. 17:32:01 it seems to me that if someone does something to ironic using version X, we shouldn't have to guarantee that everything will work loverly if they then use version X-i. 17:32:42 rloo: but staying on version X and not hiding ADOPT means I will see ADOPT at some point 17:32:50 just because Ironic was upgraded, but api version stayed the same 17:33:01 devananda: well, it depends, right? do the docs for that function say "returns an integer" or "returns an integer, one of [0, 1, 2, 3]" 17:33:13 mat128: i mean microversion. you mean v1/v2 of the URL? 17:33:13 mat128, meaning someone in your cloud started using X+i and new features... 17:33:23 jroll: indeed 17:33:54 * mgould thinks we're doing this backwards 17:34:03 client sets the API version, server tries to handle it 17:34:16 it should be the server that sets the version, and the client that has to adjust 17:34:22 devananda: and here is our doc on the Node object in an api response http://docs.openstack.org/developer/ironic/webapi/v1.html#ironic.api.controllers.v1.node.Node.provision_state 17:34:30 mgould, well, that's not the intention of API versioning in our case :) 17:34:38 devananda: which is "Represent the current (not transition) provision state of the node" 17:34:39 mgould: that won't work; it'd really break clients. 17:34:42 why not hide anything that doesnt exist for a microversion under an "UNKNOWN" state? 17:34:47 mgould: we have a mechanism in place for the server to indicate the minimum version the client must support to interact with it 17:35:08 mat128, how is it different? people start seeing UNKNOWN nodes at random stages of their lifecycle 17:35:09 mgould: are you suggesting that we should raise that minimum version? 17:35:17 devananda, yes 17:35:26 hmmmmmm 17:35:27 that's interesting 17:35:29 dtantsur: yes, but at least it keeps working. If we require a new-enough client, that means I can't even upgrade Ironic 17:35:37 but IIRC the last time we had this discussion we concluded that we could never ever raise it 17:35:57 dtantsur: If you want to know what the UNKNOWN means, you can always use a newer API version 17:36:00 mat128, we don't require anything. you just should not make assumptions about things we explicitly don't guarantee. like that we'll never add more states. 17:36:01 because by definition that would break clients 17:36:05 we could, in a response that includes nodes with ADOPTING state, include the X-OpenStack-ironic-API-Min-Version: 1.xx header 17:36:07 just for that response 17:36:10 never ever is too heavy brick to carry 17:36:17 ... 17:36:20 pas-ha, exactly 17:36:25 devananda: pls no 17:36:26 i think raising the minimum version is a different discussion. unless you thinkwe should raise it whenever we have something that isn't 'backwards compatible' 17:36:26 I haven't thought this through yet - just tossing the idea out 17:36:41 rloo, YES! :-) 17:36:43 devananda, I already imaging getting bugzillas like "ironicclient crashes on my deployment"... 17:36:54 I mean, I like your idea, but only in an ideal world :) 17:36:55 jroll: I don't mean "raise it all the time" - just raise it for the response that includes incompatible things 17:37:01 dtantsur: hehe 17:37:08 rloo: mgould: that completely defeats the purpose of versioning at all 17:37:11 mgould: that is totally against the idea behind microversions 17:37:16 yeah 17:37:21 might as well just not version 17:37:33 * dtantsur feels like the discussion goes a bit too far 17:37:38 * lucasagomes feels the same 17:37:40 devananda: right, I think a minimum that changes based on the endpoint or response is HOLY COW 17:37:43 jroll: right, and i have to say, i like that idea. not versioning and not caring about breaking people's stuff. 17:37:46 so, I believe this is actually exactly what version negotiation is for 17:37:51 rather than the client to behave unexpectedly when it gets a result it does'nt understand 17:38:03 rloo++ 17:38:06 jroll, oh right, I don't like the idea of min-version being a function of endpoint either 17:38:07 it would fail early with a message such as "unable to talk to this endpoint, required version XX" 17:38:46 also, yea, we're pretty far off track now ... 17:38:47 real talk: do we expect a deployment that is using this feature to ever use a version lower than the one that introduces this feature? 17:39:02 I hope not, but I'm afraid yes 17:39:02 can we just state somewhere - don't do anything with a node in a state you don't know about? Is it enough? 17:39:03 wouldn't that lead to the client failing transiently? e.g. if I did a node-list it would work sometimes but not others 17:39:10 dtantsur: ++ 17:39:15 e.g. imagine people using 3rd party tooling for Ironic 17:39:22 great :| 17:39:33 ok, so this comes down to two sides: 17:39:36 jroll: absolutely 17:39:39 1) lie about the actual state of the node 17:39:56 2) pass an unknown state to clients 17:40:02 jroll: 1.1) lie in different ways about the actual state of the node to different clients 17:40:11 we have 3rd party tooling for Ironic here, and from checking: it wont crash for an unknown state (thankfully), but if we raise min-version is breaks :( 17:40:12 3) return the actual state 17:40:23 rloo: 2 == 3 17:40:24 I think 3==2 17:40:27 rloo, I think that's 2 17:40:29 yeah 17:40:32 oh, sorry. 17:40:35 I vote for 2 https://en.wikipedia.org/wiki/Robustness_principle 17:40:38 report the correct state, but indicate to the client that the version does not allow for manipulating that state? 17:40:40 2) pass a new unknown state to clients 17:40:58 As in the clients should be robust in accepting unknown states. 17:41:04 * rloo thought 2 was a new "unknown" state. 17:41:16 "UNKNOWN" or actual state should be no different if clients are coded correctly 17:41:17 2) pass a new unknown state (adopting) to clients 17:41:24 :) 17:41:27 I'm afraid they might not, so "UNKNOWN" might help us in the future 17:41:36 2) is consistent with what we are doing currently 17:41:42 wajdi: but then older clients won't understand this indication? :) 17:42:08 mat128, if they care about adopting UNKNOWN, they might as well care about avoiding hardcoding the whole list of states 17:42:10 do we need some sort of formal meeting/ML vote on this, or can we be adults and handle it in gerrit? 17:42:16 (and is there more to discuss?) 17:42:41 jroll: I think you shoud do a "vote" to clarify options due to the confusion in 2 17:42:42 why can't we vote now? 17:42:50 dtantsur: thats why I said "if they are coded properly", fwiw the only 3rd party client I know of would accept either 17:42:53 Does: pass a new unknown state to clients in this particular case mean "ADOPTING". Assuming it doesn't mean a state "UNKNOWN" 17:43:17 jroll: fwiw, after discussing this, I agree with (2) 17:43:31 I think 2 is consistent to what've done in the past. Plus, adopting is a rare (for lack of better word) state? Since it's used to migrate existing workloads to ironic and should not happen often 17:43:38 just pointing out that the author is not here for this. 17:43:55 NobodyCam: the author was fine with a vote on it. see her comments. 17:44:21 I had thought that (1) would allow it to be compatible with existing clients (eg, Nova), but it clearly won't be 17:44:27 lucasagomes: in some environments, it may not be all that rare 17:44:56 NobodyCam: line 136, https://review.openstack.org/#/c/275766/12/ironic/api/controllers/v1/node.py 17:44:58 devananda, fair, but it's like a operator driving action. It's not like CLEANING which is actually part of the "main loop" 17:45:05 lucasagomes: true 17:45:09 devananda, out of curiosity: do you envision using both Nova and ADOPT in one deployment? ADOPT does not play with nova at all, right? 17:45:15 okay are folks ready to vote on this then? 17:45:18 (feel free to answer in channel) 17:45:27 dtantsur: absolutely 17:45:40 imagine a phased migration of a very large existing bare metal deployment -- as existing DCs are connected to the nova+ironic management layer ,they get "adopted" 17:45:58 ready to vote 17:46:09 #startvote should we (1) change the provision_state in the api response to deploying or (2) return the actual (adopting) provision_state in the api response? 1, 2 17:46:10 Begin voting on: should we (1) change the provision_state in the api response to deploying or (2) return the actual (adopting) provision_state in the api response? Valid vote options are 1, 2. 17:46:12 Vote using '#vote OPTION'. Only your last vote counts. 17:46:12 devananda: then there's the issue of "how do I get instances without deploying anything?" :) 17:46:15 jroll: ++ 17:46:21 #vote 2 17:46:22 #vote 2 17:46:23 #vote 2 17:46:23 #vote 2 17:46:26 #vote 2 17:46:28 #vote 2 17:46:28 #vote 2 17:46:29 #vote 2 17:46:36 #vote 2 17:46:39 #vote 2 17:46:41 #vote 2 17:46:41 #vote 2 17:46:44 #vote 2 17:46:47 mat128: you mean eg. boot from volume? 17:47:01 and somehow we're still talking about this? :) 17:47:02 #vote 2 17:47:10 devananda: like I have a thousand machines to "import" into the OpenStack world, they come from an old world system 17:47:13 * jroll gives it another 2 minutes or so 17:47:24 I want instances and nodes, but must not touch power state or data 17:47:26 jroll: good job getting everyone to a concensus :) 17:47:30 heh 17:47:43 devananda: This bp helps me getting the nodes in, but instances are something else that has to be taken care of 17:48:12 mat128: ah - I see. you mean how to create the corresponding Nova instances? 17:48:14 mat128: yes, it doesn't address how to hook it in with nova. 17:48:20 devananda: exactly 17:48:29 mat128: insert into instances ...; "D 17:48:30 rloo: yup, that's future work 17:48:32 s/"D/:D 17:48:36 Haha 17:48:38 jroll: :) 17:48:46 we were aiming more for nova boot with nodes on the fake driver, but whatever works 17:48:50 you have to deal with Neutron and stuff 17:48:53 #offtopic 17:48:59 next? 17:49:02 ya 17:49:04 #endvote 17:49:05 Voted on "should we (1) change the provision_state in the api response to deploying or (2) return the actual (adopting) provision_state in the api response?" Results are 17:49:06 2 (14): lucasagomes, devananda, rloo, jlvillal, mariojv, mgould, mat128, dtantsur, jroll, NobodyCam, wajdi, sambetts, vdrok, thiagop 17:49:07 now 17:49:13 please go apply those votes in gerrit :) 17:49:30 #topic open discussion 17:49:50 * jroll welcomes people to throw random dates at him for midcycle-ing 17:50:17 the week of june 27 and july 18 are out 17:50:25 jroll, I would end of june ? 17:50:33 I will, * 17:50:37 jroll: would it be useful before or after nova or doesn't matter? 17:50:47 rloo: not sure it matters 17:50:49 jroll, btw, how many days? 3 days? 17:50:50 I'm out July 22-29 17:50:52 rloo: good question 17:51:01 fwiw, I'd like to do it earlier and maybe have a second one late in the cycle :) 17:51:09 lucasagomes: yeah, I think 3 days works 17:51:16 but whatever y'all think is good 17:51:29 June looks good for me. and early July. 17:51:39 same for me 17:51:39 ++ end of june 17:51:47 btw, here's newton schedule http://releases.openstack.org/newton/schedule.html 17:51:47 27-29 June 17:52:05 lucasagomes: I won't be around that week :/ 17:52:08 didn't jroll mention that the week of june 27 is out? 17:52:10 And I like the idea of trying to get in two of them. One soon and one later. 17:52:26 is june 20 too soon? 17:52:27 I guess we could do it that week, you all don't need me there :) 17:52:29 jroll, right, 20-22 maybe? 17:52:39 yeah I'm good with the week of the 20th 17:52:40 and when is nova's midcycle? 17:52:41 Maybe only two days for 2nd one. Third day was sort of quiet last time. 17:52:43 20th wfm too 17:52:52 I'll be out 21st as its my birthday 17:52:55 vdrok: july 19-21 17:53:21 july 11? 17:53:36 maybe a doodle would be good for this 17:53:37 7/11 wfm 17:53:42 mariojv: +1 for doodle 17:53:43 yeah, planning on a doodle 17:53:49 just wanted to hear initial ideas 17:54:11 i think those two weeks are the candidates. june 20 & july 11. cuz i said so :D 17:54:17 jroll: just wondering as there is this generic resource pools, we might want to sync on this somehow with nova? 17:54:48 vdrok: ++. but jroll will be at nova mid-cycle. 17:54:50 vdrok: totally, I'll try to get jaypipes at our midcycle, I'll also be at nova's 17:55:10 cool, thanks :) 17:55:32 it might almost be worth having a separate meeting *just* to discuss resource pools/etc. 17:55:36 yeah 17:56:15 like soon. in next 2 weeks or so. cuz i am guessing we will procrastinate and not look/think about it until we have to. 17:56:24 yeah 17:56:32 err. I mean, like after we get grenade working. 17:56:34 to be clear I don't think there's even the nova spec up for that 17:56:43 jroll: there is 17:56:46 but we should figure it out and get started on the ironic side 17:56:54 you mean jay pipe's spec? there is. 17:57:06 kinda, it's wip 17:57:08 https://review.openstack.org/#/c/312696/ 17:57:23 oh, y'all are already reviewing, good 17:57:29 yeah, that one. 17:58:01 also this one, knid of related - https://review.openstack.org/#/c/300176/ 17:58:36 vdrok: OH. I wondered if generic resource pools was already a thing or not. 17:58:39 *two minutes left* 17:58:47 yeah, that's the earlier step in the chain 17:58:51 rloo: not yet :) 17:59:14 vdrok: i didn't see anything in the first spec that mentions the second spec. 17:59:29 this ain't going to be done in Newton. 17:59:49 rloo: there is only a name of bp somewhere in the spec itself 17:59:53 probably not, but if we can all agree on the path, we can get whatever we need done on the ironic side 18:00:01 jroll: exactly. 18:00:12 we can do search api anyway 18:00:25 yup, i think search and claims API can still be done. 18:00:27 well, it's unclear if we need a search api 18:00:29 hi guys 18:00:35 oh, out of time 18:00:40 search API is useful regardless, don't you htink? 18:00:44 hello 18:00:45 flwang1: we'll be in #openstack-ironic if you're looking for us 18:00:46 time! 18:00:46 although maybe not a high priority any more. 18:00:47 #endmeeting