| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-01-29 | |||
| 16:28:19 | stephenfin | it's something simple, I'd suspect | |
| 16:30:06 | bauzas | yeah me too, but can't see the problem | |
| 16:30:22 | bauzas | it's just stestr which doesn't sound to accept --test-path | |
| 16:30:24 | bauzas | http://paste.openstack.org/show/788935/ | |
| 16:31:11 | bauzas | actually, nope | |
| 16:33:59 | bauzas | well, I'm puzzled | |
| 16:34:37 | stephenfin | ah, wait, have you added additional tests for nova-manage? | |
| 16:35:13 | stephenfin | There's a bug with oslo.config whereby the CLI parser is global'ish | |
| 16:35:49 | stephenfin | Yeah, '--remote_debug-port' is a nova-manage option. You're not mocking stuff properly | |
| 16:38:06 | stephenfin | bauzas: mriedem saw the issue pop up in a unit test at https://review.opendev.org/#/c/694806/2/ and it's currently causing an issue with glance and the latest version of cliff | |
| 16:40:19 | bauzas | stephenfin: interesting, if I use the functional-py36 target, it does work | |
| 16:40:49 | stephenfin | even if you rebuild the venv? | |
| 16:41:03 | bauzas | it was created, I never used the target yet | |
| 16:41:13 | stephenfin | gotcha | |
| 16:41:20 | stephenfin | weird | |
| 16:41:24 | stephenfin | then I'm not sure :( | |
| 16:41:25 | bauzas | to make it clear, the functional-py36 target works, but not the standard one | |
| 16:41:53 | bauzas | either way, I know what to do, but I have to look at the target differences in tox.ini | |
| 16:42:32 | efried | bauzas: would it be productive for me to read the current PS of the numa topo spec, or wait til you rev it? | |
| 16:43:06 | bauzas | efried: I'm wraping my head around the group_policy issue, but your thoughts could be helpful | |
| 16:43:59 | bauzas | efried: and we have a disagreement on the memory modeling with NUMA with sean-k-mooney, your opinion could help us finding a consensus | |
| 16:44:25 | bauzas | efried: to answer your question, yeah comments would be appreciated on the current rev | |
| 16:44:32 | efried | okay, I'll give it a read. My view on group_policy is that we should be ignoring it. It doesn't really have a place with granular groups and the other knobs we put in in recent microversions. | |
| 16:44:59 | efried | I at least proposed (though I don't remember if we actually pulled the trigger on this) making it no longer required in a recent microversion. | |
| 16:45:09 | sean-k-mooney | bauzas: sorry can we pick this up after the internal call | |
| 16:45:19 | sean-k-mooney | e.g. in 15 mins | |
| 16:45:29 | bauzas | sean-k-mooney: yeah, and I even wanted to discuss it during the internal call :D | |
| 16:45:42 | bauzas | (but I'm superseded by other topics :) ) | |
| 16:45:52 | sean-k-mooney | ya i saw | |
| 16:47:14 | efried | I won't be much help on the memory modeling, probably, as I really don't understand that level of detail of NUMA itself. But I'll give it a shot. | |
| 16:48:38 | bauzas | tbh, me too | |
| 16:49:13 | bauzas | the big question is should we iteratively model huge pages and have memory split now, or care about the whole now ? | |
| 16:51:02 | efried | I'll have to refresh my memory (heh) on whether we did things to support cross-provider accumulation of resources, e.g. so you could still land on a NUMA-modeled host with 128/128 if you asked for 256. | |
| 16:52:10 | efried | I seem to recall we tried to KISS by saying you land on a NUMA-modeled host by asking for NUMA-modeled resources, and the converse, but that may have only been a point in time in the discussion, not where we landed. | |
| 16:52:15 | efried | I'll have to swap this all back in. | |
| 16:53:05 | bauzas | efried: yeah that's what I recall too | |
| 17:03:35 | openstackgerrit | Vladyslav Drok proposed openstack/nova master: Fix volume attachment rollback https://review.opendev.org/704847 | |
| 17:07:39 | efried | nts: we did abandon "can_split" https://review.opendev.org/#/c/658510/ | |
| 17:08:03 | sean-k-mooney | yes we did | |
| 17:09:29 | stephenfin | sean-k-mooney: for that memory issue, is there a reason we need to continue to support floating memory when NUMA is used? | |
| 17:09:49 | stephenfin | do we do strict NUMA affinity when using a NUMA topology at the moment? | |
| 17:09:52 | sean-k-mooney | that depends. yes but the question is do we care | |
| 17:10:06 | stephenfin | for memory, that is | |
| 17:10:13 | sean-k-mooney | we would have to pin the memoyy based on the placemetn allocation of all vms | |
| 17:10:18 | stephenfin | I think we don't unless we explicitly request a pagesize, yeah? | |
| 17:10:34 | sean-k-mooney | but for vms with out a numa toplogy we could pin that vm aross host numa nodes | |
| 17:11:00 | stephenfin | okay, so that leads to my question: do we need to support that model? | |
| 17:11:10 | stephenfin | VMs with a NUMA topology alongside those without? | |
| 17:11:13 | efried | Again, I think we decided it was acceptable to enforce a segregated data center | |
| 17:11:15 | sean-k-mooney | if we want to support vms without a numa toplogy yes | |
| 17:11:21 | efried | where some hosts are NUMA-aware and some are not. | |
| 17:11:26 | stephenfin | sean-k-mooney: we could have a knob | |
| 17:11:32 | stephenfin | use_numa_in_placement | |
| 17:11:38 | efried | And if you ask for a NUMA topo, you land on the former, always, exclusively. And the converse. | |
| 17:11:46 | stephenfin | efried: right, thing we're talking about the same thing | |
| 17:11:48 | stephenfin | *think | |
| 17:11:54 | sean-k-mooney | i would prefer to handel it via resouce classes | |
| 17:12:05 | sean-k-mooney | so if you report memory_mb its non numa aware memory | |
| 17:12:12 | efried | Except for the upgrade issue, I think it wouldn't matter. | |
| 17:12:17 | sean-k-mooney | if you reprot mempage_small its numa aware | |
| 17:12:31 | efried | Upgrade is my only concern about doing MEMORY_MB now and pages later. | |
| 17:12:40 | efried | because now you have flavors that straddle both models | |
| 17:12:52 | stephenfin | sean-k-mooney: right, but that's duplication | |
| 17:12:57 | efried | but they are mutually exclusive as to the hosts they work with. | |
| 17:12:58 | sean-k-mooney | same for the cpu if you use VCPU its not numa aware and on the root provider if it SCPU its numa aware shared cpu | |
| 17:13:03 | stephenfin | and instances will have to consume both | |
| 17:13:08 | stephenfin | assuming we report both | |
| 17:13:11 | sean-k-mooney | stephenfin: no the host would only report one or the other | |
| 17:13:18 | efried | We shouldn't have the same resource represented by two different resource classes. We've nacked that idea many times in the past. | |
| 17:13:24 | stephenfin | what determines what type we report? | |
| 17:13:32 | sean-k-mooney | we did it with pcpus and vcpus | |
| 17:14:01 | sean-k-mooney | but if we say that then MEMORY_MB is not the correct baseline for memory | |
| 17:14:02 | efried | eh? No, the PCPU and VCPU counts represent different physical processors. | |
| 17:14:27 | stephenfin | oh, so you're saying instead of having a "turn on NUMA" flag, we have two flags: one for non-NUMA memory and one for NUMA memory? | |
| 17:14:28 | efried | yeah, I think we ought to bite the bullet on memory. If we're ever going to want it to be something other than MEMORY_MB, we should do that now. | |
| 17:14:29 | sean-k-mooney | they represetn different pools of hardware threads | |
| 17:14:40 | sean-k-mooney | but they are both the resouces | |
| 17:14:47 | sean-k-mooney | we just treat them as if they are different | |
| 17:14:48 | efried | my point is, they don't overlap | |
| 17:15:19 | sean-k-mooney | right so i think we should be modeling memory as mempages of a specifc size | |
| 17:15:34 | sean-k-mooney | we already do in the resouce tracker in the host numa toplogy blob | |
| 17:15:39 | efried | If we have N pages that total to M mb of ram, we should *either* model PAGES=N *or* MEMORY_MB=M, but *never* both at the same time. | |
| 17:15:48 | efried | I think we're agreeing on that, just want to be clear. | |
| 17:15:59 | stephenfin | Yup | |
| 17:16:13 | sean-k-mooney | yep although its slightly more complicated | |
| 17:16:26 | efried | sean-k-mooney: I also want us to make sure we're not tying ourselves to libvirt unless that's inherently unavoidable. | |
| 17:16:30 | sean-k-mooney | but in pricipal yes always one or the other | |
| 17:16:40 | efried | I.e. are there other drivers that don't think of their NUMA-based memory in terms of pages? | |
| 17:16:41 | sean-k-mooney | yes i want to add an abstration | |
| 17:16:43 | stephenfin | maybe we should make like the 90s and teach placement about OOP | |
| 17:16:53 | efried | Or that think of them as pages of a different size? | |
| 17:16:54 | sean-k-mooney | so mempages_small and mempages_larage | |
| 17:16:56 | stephenfin | 1GB_PAGES is_a PAGES | |
| 17:17:08 | efried | hahaha, you're a funny guy. | |
| 17:17:14 | sean-k-mooney | with 1G or 2MB large ppages modeld as a trait | |
| 17:17:25 | efried | NO | |
| 17:17:39 | sean-k-mooney | yes because we support hw:mem_page_size=large | |
| 17:17:41 | stephenfin | PAGES_1M, surely? | |
| 17:17:47 | efried | I hate that. | |
| 17:17:53 | stephenfin | PAGES_1M, PAGES_2K, PAGES_1G? | |