| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-10-17 | |||
| 09:22:54 | openstackgerrit | Andrey Volkov proposed openstack/osc-placement master: [WIP] RP list: member_of and resources parameters https://review.openstack.org/511183 | |
| 09:31:43 | priya__ | cdent : Could you please review https://review.openstack.org/#/c/508533/ | |
| 09:32:59 | cdent | priya__: yes, will put it on my list for today | |
| 09:33:54 | priya__ | thank you ! | |
| 10:45:13 | openstackgerrit | Naichuan Sun proposed openstack/nova master: VGPU_support: add enabled white list https://review.openstack.org/512580 | |
| 11:11:16 | openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/nova master: Change 'InstancePCIRequest' spec field https://review.openstack.org/449257 | |
| 11:16:23 | ralonsoh | alex_xu: hi, if you have time, can you take a look at https://review.openstack.org/#/c/502306/? | |
| 11:17:23 | ralonsoh | alex_xu: BTW, this one was approved last cycle. Half of the code is already merged. I would like to have it approved this cycle to continue the work: https://review.openstack.org/#/c/504895/ | |
| 11:24:17 | openstackgerrit | edan david proposed openstack/nova master: Don't overwrite binding-profile https://review.openstack.org/505613 | |
| 12:21:30 | cdent | alex_xu: if you didn’t see this bit of irc chat yesterday, it covers some of the issues with shared providers and traits: http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2017-10-16.log.html#t2017-10-16T18:37:18 | |
| 12:21:50 | cdent | it took quite a while to figure out what efried was talking about but we finally figured it out in that chat | |
| 12:25:05 | efried | That's me. It can take a while to figure out wtf I'm talking about. | |
| 12:25:28 | efried | I'd like to think it's because they're such advanced concepts, I have to explain them carefully to lesser mortals. | |
| 12:25:41 | efried | (In case you're just joining us, naw, that ain't it.) | |
| 12:26:25 | cdent | that ^^ was driven by alex’s latest comment on your spec, on the principle of more context is better | |
| 12:27:41 | efried | cdent I know, and I appreciate it. I'm just ribbin ya. | |
| 12:29:15 | cdent | I know, I’m giving you context on the context giving, for sake of contextualizing the people in our context, contextually | |
| 12:29:47 | alex_xu | ralonsoh: yea, add it to my review list | |
| 12:30:04 | cdent | soon the ai which is learning human behavior from the log of this channel will achieve consciousness, and presumably wipe us from the face of the earth | |
| 12:30:16 | alex_xu | cdent: efried yea, I read that today | |
| 12:30:37 | alex_xu | cdent: efried, the current trait implement supports that case | |
| 12:31:08 | alex_xu | the current trait implement will try to collect the traits from the RP and sharing RP which in the same aggregates | |
| 12:31:22 | efried | alex_xu The case where RAID5 and SSD are split across the compute RP and the shared storage RP? | |
| 12:32:32 | alex_xu | the problem is the current implementation of https://github.com/openstack/nova/blob/master/nova/objects/resource_provider.py#L2453 doesn't return the correct PRs | |
| 12:33:17 | alex_xu | _get_all_with_shared only return that root RP once. | |
| 12:33:34 | efried | alex_xu My contention is that it *can't* return the correct RPs for this scenario under the current semantics. | |
| 12:33:34 | cdent | alex_xu: root is a bad term in this context :) | |
| 12:33:51 | cdent | efried: your forthcoming test will make it all clear :D | |
| 12:34:10 | alex_xu | for that case, actually we expect return that root RP twoice, and then we should generate two combinations: #1 root RP with local disk, #2 root RP with shared disk | |
| 12:34:35 | alex_xu | cdent: forgive me, let me use root rp first :) that pain for me also | |
| 12:34:57 | efried | alex_xu Actually, it won't return the compute+localdisk combination, because that wouldn't satisfy the RAID5 trait. | |
| 12:34:59 | alex_xu | and then, the trait implementation will find out #1 and #2 which have enough trait | |
| 12:35:37 | efried | But it *will* return the compute+shared combination, even though it *shouldn't*. | |
| 12:36:23 | efried | It shouldn't because the shared storage doesn't satisfy the SSD trait. But placement has no way of knowing that RAID & SSD were both supposed to apply to the storage, whereas the HW_CPU... trait wasn't. | |
| 12:37:56 | alex_xu | efried: I didn't have test it, but I think the current code will return compute+local | |
| 12:38:09 | alex_xu | and it never return the compute+shared combination | |
| 12:38:18 | efried | alex_xu Because of that bug? Maybe. | |
| 12:38:47 | alex_xu | because the implement of _get_all_with_shared | |
| 12:39:32 | alex_xu | but that still doesn't correct, you are expecting _get_all_with_shared return two combinations | |
| 12:39:56 | efried | _get_all_with_shared is the piece that doesn't yet take traits into account? | |
| 12:40:01 | alex_xu | and then the trait implement will filter out the correct one | |
| 12:40:07 | alex_xu | efried: yes | |
| 12:40:27 | efried | Right, gotcha. So you're right: _get_all_with_shared *should* return *both* combinations. (If it's not, that's a bug.) | |
| 12:40:51 | efried | And then the code you're writing *should* filter *both* of them out and yield zero candidates. | |
| 12:40:55 | alex_xu | efried: because this https://github.com/openstack/nova/blob/master/nova/objects/resource_provider.py#L895 | |
| 12:41:04 | efried | But there's no way to write your code to do that. | |
| 12:41:25 | alex_xu | that condition assumes that there only have the one case in (local and shared) | |
| 12:41:55 | alex_xu | efried: but the first thing we should figure out is that whether we want to support that case | |
| 12:41:57 | efried | ohh, you're missing a LEFT JOIN | |
| 12:42:21 | efried | Well, I contend we can't *not* support that case. | |
| 12:42:26 | efried | At least not long term. | |
| 12:42:56 | purplerbot | <efried> ohh, you're missing a LEFT JOIN [2017-10-17 12:41:57.325623] [n 3Vz8] | |
| 12:42:56 | cdent | I’m going to save [t 3Vz8] because it is probably useful to whip out just about any time | |
| 12:43:34 | efried | (c) 2017 | |
| 12:44:09 | efried | So alex_xu, if we were going to say we don't support that scenario, how would that be worded? | |
| 12:44:43 | alex_xu | at least, currently the nova doesn't support the case we have local disk and shared disk | |
| 12:45:06 | alex_xu | actually nova doesn't know about the disk is local or shared, it just create the instance image in a directory | |
| 12:45:37 | alex_xu | under that directory, it maybe local or a NFS... | |
| 12:45:52 | efried | alex_xu What about local ephemeral (boot) plus volumes? | |
| 12:46:10 | alex_xu | and I didn't have any real world case similar to that in my mind | |
| 12:46:34 | alex_xu | efried: the resource class DISK_GB is only about local ephemeral disk | |
| 12:46:54 | alex_xu | s/local ephemeral disk/ephemeral disk/ | |
| 12:47:54 | openstackgerrit | Eric Fried proposed openstack/nova master: placement: set/check if inventory change in tree https://review.openstack.org/470575 | |
| 12:48:45 | efried | alex_xu fixed nit ^ | |
| 12:49:33 | efried | cdent Did you want me to rename that 'p' var ^ ? | |
| 12:50:25 | efried | cdent I don't think we can afford to sweep this under the rug now and just hope it doesn't rear its head later. | |
| 12:50:32 | efried | Sorry, that was meant for alex_xu | |
| 12:50:56 | efried | (I *totally* think we can sweep a terse variable name under the rug) | |
| 12:51:11 | efried | ('p' for 'precedent'.) | |
| 12:51:26 | efried | So let's try this again. | |
| 12:51:36 | efried | alex_xu I don't think we can afford to sweep this under the rug now and just hope it doesn't rear its head later. | |
| 12:52:10 | efried | alex_xu At the moment, the scope of where this code is used is very contained, and possibly never even makes its way to where the user can see it. | |
| 12:52:44 | alex_xu | efried: sorry, I still didn't get you :), maybe...not use the 'rug', I didn't get what rug is reference to after search the dictionary.. | |
| 12:53:19 | efried | alex_xu But once we start allowing drivers to model their RPs and operators to specify their resources generically, this will wind up being a nontrivial bug we'll have to scramble to fix. | |
| 12:53:35 | cdent | efried: I’ve lost the fight on terse variable names, and surrender graciously to fight other battles another day. | |
| 12:53:40 | efried | alex_xu Sorry, idiom. "Sweep under the rug" means "ignore it for now and hope nobody notices" | |
| 12:53:59 | mriedem | johnthetubaguy: can i get you to take a look at this file injection deprecation spec? has a +2 from sdague, looking for another +2 https://review.openstack.org/#/c/509013/ | |
| 12:55:53 | alex_xu | efried: ok, you mean the shared RP case, right? we can file a bug for it | |
| 12:57:10 | openstackgerrit | Eric Fried proposed openstack/nova master: placement: set/check if inventory change in tree https://review.openstack.org/470575 | |
| 12:57:56 | alex_xu | I should read the 'sweep this under the rug', not just panic on the single 'rug'. | |
| 13:00:21 | efried | alex_xu I can't find an equivalent Chinese idiom, but perhaps 掩饰 gets close. | |
| 13:00:23 | openstackgerrit | Matt Riedemann proposed openstack/nova-specs master: Rename add-zvm-driver spec https://review.openstack.org/512606 | |
| 13:02:45 | openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/os-vif master: Add memoize function using oslo.cache https://review.openstack.org/472773 | |
| 13:03:16 | alex_xu | efried: hehe, i get that | |
| 13:05:25 | efried | alex_xu Fixed that other docstring; cdent renamed the variable, just for you :) | |
| 13:06:40 | alex_xu | efried: cool, thanks | |
| 13:07:52 | alex_xu | efried: also leaved a question in https://review.openstack.org/#/c/510244/ | |
| 13:10:13 | alex_xu | ralonsoh: fyi first, I don't have +2 for the nova-spec :) | |
| 13:10:42 | ralonsoh | alex_xu: no problem! thanks for your time | |
| 13:12:19 | cdent | efried: the setUp in these compute manager related tests are … wow. Not the stuff you’ve added, but what was already there. | |
| 13:13:00 | efried | cdent I don't disagree. | |
| 13:13:08 | efried | I've got two more UTs to fix, btw. | |
| 13:13:12 | efried | But thanks for looking. | |
| 13:14:38 | cdent | efried: yeah, I know it’s not complete, I just went by because I wanted to understand the point of it all | |
| 13:15:15 | efried | cdent Hopefully the latest commit message makes it clear why we need this; let me know if not. | |
| 13:17:33 | cdent | yeah, it does | |
| 13:25:17 | efried | alex_xu Responded to that comment - let me know if you want to discuss. | |
| 13:25:35 | efried | alex_xu The code for looking stuff up in nested RPs - I'm not sure if that's part of Jay's series yet. | |
| 13:27:30 | alex_xu | efried: yea, I also want to ask the nested RP support for non-numbered request is implemented by which BP | |
| 13:27:52 | alex_xu | efried: I check the Jay's spec about nested RP, looks like that isn't included in the spec | |