| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-08-29 | |||
| 14:14:58 | zigo | That commit just switches repo from queens to rocky for Debian and puppet-openstack. | |
| 14:14:58 | mriedem | any of those failed jobs? | |
| 14:15:02 | zigo | Yep. | |
| 14:15:05 | zigo | The first one for example. | |
| 14:15:33 | mriedem | yup so in this case we create the RP here http://logs.openstack.org/75/597175/1/check/puppet-openstack-integration-4-scenario001-tempest-debian-stable-luminous/fd38fcf/logs/nova/nova-compute.txt.gz#_2018-08-28_17_09_40_686 | |
| 14:16:48 | mriedem | here we POST to placement http://logs.openstack.org/75/597175/1/check/puppet-openstack-integration-4-scenario001-tempest-debian-stable-luminous/fd38fcf/logs/nova/nova-placement-api.txt.gz#_2018-08-28_17_09_40_683 | |
| 14:16:57 | zigo | mriedem: What I can do is artificially change the default 0.0 allocation ratio in the package. Would you advise me to do that? | |
| 14:17:18 | mriedem | here we add inventory http://logs.openstack.org/75/597175/1/check/puppet-openstack-integration-4-scenario001-tempest-debian-stable-luminous/fd38fcf/logs/nova/nova-placement-api.txt.gz#_2018-08-28_17_09_40_794 | |
| 14:18:08 | mriedem | zigo: i would probably not recommend that at this time no | |
| 14:18:19 | mriedem | i personally would like to figure out what we're dealing with first | |
| 14:18:29 | cdent | agreed | |
| 14:18:50 | cdent | as far as I can tell the nova-compute is never logging when it sets inventory? | |
| 14:18:59 | mriedem | no, it used to | |
| 14:20:12 | openstackgerrit | Merged openstack/osc-placement master: Add image link in README.rst https://review.openstack.org/586839 | |
| 14:20:25 | efried | stephenfin: Done (though I'm not a stable core): https://review.openstack.org/597421 | |
| 14:20:52 | stephenfin | efried: Ah, indeed. Good enough though | |
| 14:21:51 | dansmith | mriedem: we did discuss having the compute node not override the allocation ratio set on a provider, only use that value when creating it | |
| 14:21:55 | dansmith | did that ever happen? | |
| 14:22:07 | dansmith | I don't see those extra values in conf/compute | |
| 14:22:18 | mriedem | i don't remember that happening no | |
| 14:22:38 | dansmith | https://review.openstack.org/#/c/552105/ | |
| 14:23:21 | mriedem | yup, i have unanswered questions in there | |
| 14:23:36 | dansmith | yep, just offering evidence that it didn't | |
| 14:24:05 | mriedem | efried: would be helpful if provider tree's _update_generation method took an "operation" param or something, | |
| 14:24:12 | mriedem | i.e. we're updating the generation b/c inventory was updated or something | |
| 14:24:22 | sean-k-mooney | mriedem: i might add a live migration item to the nova-neutron ptg slot. | |
| 14:24:45 | sean-k-mooney | mriedem: i have stated to address the neutron bugs i have found but looks like there are other nova ones too | |
| 14:24:53 | efried | kosamara: I started going through the spec to make some content, but found it's really going to be easier if we can both post our updates to gerrit. | |
| 14:25:08 | efried | kosamara: I also wanted to know how much you'd looked at the cyborg project, if at all. | |
| 14:25:24 | mriedem | zigo: let me know if/when you have a nova bug posted and i can push some debug patches | |
| 14:25:59 | mriedem | so, | |
| 14:26:11 | efried | mriedem: I would expect the report client side to be logging what it's doing there. | |
| 14:26:12 | openstack | Launchpad bug 1789654 in OpenStack Compute (nova) "placement allocation_ratio initialized with 0.0" [Undecided,New] | |
| 14:26:12 | zigo | mriedem: Yeah, here: https://bugs.launchpad.net/nova/+bug/1789654 | |
| 14:26:17 | mriedem | my guess is that update_from_provider_tree is somehow not pushing inventory changes which include the updated allocation_ratio b/c of a cache | |
| 14:26:43 | openstackgerrit | Merged openstack/osc-placement master: Resource provider examples https://review.openstack.org/553461 | |
| 14:26:50 | zigo | mriedem: I can add some debian specific patches to my package, and rerun puppet, if you like. | |
| 14:27:06 | efried | mriedem: Ahem, libvirt's update_provider_tree is not setting allocation ratio. | |
| 14:27:10 | mriedem | efried: i know | |
| 14:27:12 | mriedem | the RT does | |
| 14:27:15 | mriedem | see the _normalize method | |
| 14:27:16 | efried | no | |
| 14:27:22 | zigo | RT stands for what? | |
| 14:27:28 | mriedem | ResourceTracker | |
| 14:27:29 | efried | that doesn't get run if you implemented update_provider_tree | |
| 14:27:35 | mriedem | sure it does | |
| 14:27:38 | efried | That said, it should be getting defaulted to 1.0, per handler/inventory | |
| 14:27:44 | mriedem | https://github.com/openstack/nova/blob/6522ea3ecfe99cca3fb33258b11e5a1f34e6e8f0/nova/compute/resource_tracker.py#L901 | |
| 14:28:15 | mriedem | and we don't log anything in the report client when we go to flush provider tree inventory changes if the provider tree doesn't think inventory has changed | |
| 14:28:17 | efried | oh wtf... | |
| 14:28:57 | efried | I totally traced this exact thing like last week and was sure we weren't hitting that. /me needs to rework a thing... | |
| 14:28:58 | mriedem | if we didn't call _normalize_inventory_from_cn_obj in this case, libvirt/xen/ironic wouldn't ever have allocation_ratio or reserved values set | |
| 14:29:32 | openstackgerrit | Konstantinos Samaras-Tsakiris proposed openstack/nova-specs master: Placement model for passthrough devices https://review.openstack.org/591037 | |
| 14:29:32 | mriedem | and it looks like in some racey cases we never update the inventory b/c the provider tree cache never thinks there is a change | |
| 14:29:34 | efried | edmondsw: Redundant goofy code alert --^ | |
| 14:30:13 | kosamara | efried: No problem, we'll coordinate. | |
| 14:32:12 | efried | mriedem: Are you saying it's "normal" for us to set alloc ratio to 0.0 for a sec, because we expect the next update to hit _normalize and then push the updated inventory? | |
| 14:32:19 | kosamara | efried: I had looked at Cyborg in spring, but haven't been following it since. The primary use case that I saw Cyborg enabling was FPGA function-aaS. | |
| 14:32:51 | mriedem | efried: i don't know what is pushing the initial inventory data | |
| 14:32:54 | mriedem | so i can't really say | |
| 14:32:54 | efried | kosamara: Yes, that's kind of the initial motivator, but the project is supposed to subsume all device management. | |
| 14:32:56 | mriedem | we don't log anything | |
| 14:33:28 | mriedem | so i'm going to push some debug patches so we can .... debug | |
| 14:33:43 | mriedem | my guess is the local provider tree cache is current but remote is not, and we never update | |
| 14:33:43 | efried | ack, let me know if I can help. | |
| 14:39:50 | efried | mriedem: Well, looking at has_inventory_changed, it *should* be paying attention to alloc ratio updates, whether the field exists and is being changed, or doesn't exist and is being added. | |
| 14:40:10 | efried | and has_inventory_changed being false is the only way we would avoid sending the update down to placement. | |
| 14:40:33 | efried | ...barring actual errors which we would see in the compute log | |
| 14:43:43 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Log the operation when updating generation in ProviderTree https://review.openstack.org/597553 | |
| 14:44:10 | efried | mriedem: FYI: http://paste.openstack.org/show/729053/ <== looks fine. | |
| 14:47:08 | kosamara | efried: Does that mean that instead of proposing improvements to the way Nova manages devices, we should contribute this functionality to Cyborg, because in the future Cyborg will have exclusive responsibility in that domain? | |
| 14:47:24 | efried | kosamara: Well, that's what needs to be discussed, really. | |
| 14:47:51 | efried | I am pretty far behind on the massive volume of cyborg specs that are out there | |
| 14:48:05 | efried | but I haven't yet seen one where they deal with discovery and whitelisting. | |
| 14:48:07 | kosamara | efried: I was going to ask if you have any pointers to similar work there | |
| 14:48:25 | efried | It's entirely likely that they've got that proposed and I just haven't gotten to it yet. | |
| 14:48:26 | kosamara | and modelling in Placement with RPs? | |
| 14:48:34 | efried | oh, yes, that's definitely their plan. | |
| 14:49:36 | efried | I'm going to try to ask about it in #openstack-cyborg, if you'd like to join me there. | |
| 14:49:42 | kosamara | But can Cyborg create RPs now, or it has to happen through nova, like neutron does in the network bandwidth providers spec? | |
| 14:49:48 | kosamara | ok | |
| 14:50:42 | efried | kosamara: Yeah, that's the question. The providers are intended to be created and "owned" by cyborg code, but I'm still not 100% clear whether that's at the behest/prompting of a nova flow or totally independent. | |
| 14:51:06 | efried | kosamara: Because obviously somebody has to coordinate those device RPs being parented to the compute node RP. | |
| 14:54:45 | openstackgerrit | Surya Seetharaman proposed openstack/nova master: Making instance listing skipping down cells configurable https://review.openstack.org/592428 | |
| 14:56:31 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add debug logs for when provider inventory changes https://review.openstack.org/597560 | |
| 14:56:51 | mriedem | naichuans: efried: cdent: jaypipes: zigo: ^ hopefully we can learn something from this | |
| 14:57:53 | mriedem | zigo: i updated your patch with a depends-on to that nova change | |
| 14:57:54 | efried | mriedem: dig | |
| 14:57:57 | cdent | mriedem: do we have a way of setting our test environments so they are more like what zigo and naichuans were experiencing? because apparently our test environments are configuring too much to reflect reality? | |
| 14:58:20 | mriedem | cdent: xenserver ci uses devstack | |
| 14:58:30 | mriedem | it's pretty stock outside of saying use the xen driver rather than libvirt | |
| 14:58:36 | zigo | mriedem: cdent: Would it help if I added these patches to my package and re-run puppet? | |
| 14:58:45 | mriedem | zigo's is using puppet and non-ubuntu but with libvirt | |
| 14:59:01 | zigo | non-ubuntu: Debian Stretch ... :P | |
| 14:59:01 | mriedem | zigo: so my depends-on nova change won't get pulled into that CI run? | |
| 14:59:14 | cdent | mriedem: I get that. The root of my question is: How come we didn't fail tempest or functional? | |
| 14:59:25 | mriedem | cdent: well that's what i'm trying to figure out... | |
| 14:59:38 | zigo | deb http://stretch-rocky.debian.net/debian stretch-rocky-backports main + deb http://stretch-rocky.debian.net/debian stretch-rocky-backports-nochange main | |
| 14:59:39 | mriedem | we do'nt configure allocation ratios in nova.conf in devstack | |
| 15:00:21 | cdent | I know, I'm not being a dick (at least I hope not), I'm just questioning-out-loud | |