| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-11-20 | |||
| 14:57:30 | efried | It was because you don't necessarily know the UUID yet in a green field. | |
| 14:57:44 | efried | but you want your tripleo to be able to lay down the config a priori. | |
| 14:57:46 | dansmith | in which case, non-ironic? in that case you use $COMPUTE_NODE yeah? | |
| 14:58:12 | efried | Yeah, I would think so. gibi, can we convince you we don't need identification by name? | |
| 14:58:23 | efried | (I think it was gibi who talked us into it) | |
| 14:58:26 | dansmith | either way, | |
| 14:58:46 | dansmith | I'm not sure we really need to care that much if someone puts a thing in there twice | |
| 14:59:12 | efried | right, you kinda f'ed up if that happens, but the code has to do *something* in that case. | |
| 14:59:21 | dansmith | *if* we can detect and log an error later that's helpful, but.. | |
| 14:59:34 | dansmith | your concern is just not being able to detect that at startup? | |
| 14:59:40 | efried | right. | |
| 14:59:51 | gibi | efried: I'm sort on context. Is it about provider config? | |
| 15:00:05 | efried | if we can detect it at startup, we can halt the service and force you to fix it. But we don't want to kill the service if it creeps in after we've already started running. | |
| 15:00:07 | efried | gibi: yes | |
| 15:00:16 | dansmith | efried: if it's hard/impossible to do at start, is clearly wrong config, and we can log an error later I think that's reasonable | |
| 15:00:29 | dansmith | efried: no, don't halt.. log an error periodically | |
| 15:00:36 | efried | dansmith: ack | |
| 15:00:41 | gibi | efried: so in case of a compute RP the name is known before the compute was ever started but the uuid only known after the compute creates the RP | |
| 15:00:44 | dansmith | we should never kill nova-compute after it's hit steady-state | |
| 15:00:48 | efried | right | |
| 15:00:57 | dansmith | gibi: we have $COMPUTE_NODE for that | |
| 15:01:05 | efried | gibi: Right, in that case, we can use the special ``$COMPUTE_NODE`` ... yeah ^ | |
| 15:01:07 | gibi | dansmith: I see. | |
| 15:01:09 | dansmith | they don't need to know either the name or the uuid for the compute node | |
| 15:01:33 | gibi | so instead of allowing RP identification by name in general, we add a specific case for compute node | |
| 15:01:50 | dansmith | we have that already | |
| 15:02:03 | dansmith | uuid can be a uuid or the special string "$COMPUTE_NODE" | |
| 15:02:40 | gibi | so far I'm OK with this. I guess if other RPs needs to be identified by name then we will add other symboles for that or we re-think the identify-by-name feature | |
| 15:02:41 | dansmith | efried: note that I'm okay with either removing name, or just detecting and logging this case later | |
| 15:02:50 | bauzas | gibi: dansmith: I haven't paid attention yet to this convo as I'm dragged into some internal all-hands but when I was looking on how to use the new COMPUTE_NODE trait, I think that we miss the world of nested RPs | |
| 15:03:11 | bauzas | unless we have some way to have some traits to be cascaded into child RPs | |
| 15:03:24 | bauzas | (and I really want to avoid saying 'inheritance') | |
| 15:03:59 | bauzas | but for example, if you lookup some RP, you need to call the RP and check its trait to know whether the original RP is still related to a compute node | |
| 15:04:02 | efried | bauzas: The only rp we're supporting this "wildcard" for right now is the root. If we find we need a way to generically identify its children later, we'll have more designing to do. | |
| 15:04:23 | bauzas | you need to call the *root* RP | |
| 15:04:27 | bauzas | (sorry for confusing) | |
| 15:04:40 | dansmith | is bauzas talking about this same thing? | |
| 15:04:46 | efried | almost :P | |
| 15:04:53 | gibi | hm, the neutron device RPs (provising bandwidth) also has a stable name generated from the device name. But as I don't have a use case for provider config related to the bandwidth feature I rest my case. | |
| 15:05:01 | bauzas | efried: sure, I'm just saying this is only convenient when you're in a flat world | |
| 15:05:26 | efried | I agree. Predictably-named nested RPs make a case for identifying by name. | |
| 15:06:08 | efried | though I think we've talked about the brittleness of relying on names before. | |
| 15:06:32 | gibi | efried: we have predicatable named nested RPs | 1110cf59-cabf-526c-bacc-08baabbac692 | aio:Open vSwitch agent:br-test | |
| 15:06:55 | mnaser | sean-k-mooney: sorry, was in a meeting too then, but no that wasnt enabled, but they are much older and also running ddr3 memory for comparision | |
| 15:07:02 | mnaser | much lower latency but lower bandwidth | |
| 15:07:12 | gibi | efried: but as I said I have no direct use case so I don't want to push for the naming support in provider config | |
| 15:07:14 | sean-k-mooney | so that was cross socket latency | |
| 15:07:16 | bauzas | efried: FWIW, we stecked a few things at the PTG between gibi, stephenfin and me that were tied to naming conventions :) | |
| 15:07:23 | bauzas | we sketched* | |
| 15:07:24 | efried | I know, what I'm saying is that we shouldn't have architected anything to rely on naming conventions, and we shouldn't perpetuate such things. | |
| 15:07:35 | efried | but that ship has probably sailed. | |
| 15:07:37 | sean-k-mooney | mnaser: i was trying to figure out if the intel number were between socket or two numa nodes in the same socket | |
| 15:07:37 | mnaser | sean-k-mooney: yep! | |
| 15:07:43 | bauzas | efried: indeed | |
| 15:07:49 | sean-k-mooney | ya those latency numbers for amd are bad | |
| 15:07:54 | mnaser | nope, between two sockets, which is interesting in just how much faster cross socket latency is low | |
| 15:08:21 | efried | In any case, if gibi doesn't have any real, current bw use cases, and bauzas doesn't have any real, current vgpu use cases, I'm fine making the decision to remove identify-by-name to limit scope/complexity. | |
| 15:08:23 | gibi | efried: there are things already architectured that way. like the hostname of the compute node is an id neutron use. and nova user the name of the device RP from neutron | |
| 15:08:24 | mnaser | sean-k-mooney: im looking at the bios for the speed between the two sockets, i learned something about the amd architecture that doesnt seem ideal | |
| 15:08:41 | gibi | efried: agree with the limited scope | |
| 15:08:41 | efried | we've removed a lot of bells and whistles for that reason, just to make this go. | |
| 15:08:52 | gibi | efried: go for it | |
| 15:08:56 | sean-k-mooney | so that lend more crednece to enableing numa per ccx and usign muiti numa guests | |
| 15:08:56 | bauzas | efried: it's not really a vgpu thingy | |
| 15:08:59 | gibi | efried: we can always add that later | |
| 15:09:05 | bauzas | efried: it's more what gibi said | |
| 15:09:08 | efried | otoh, where I started this morning actually handles things including name pretty well IMO | |
| 15:09:19 | sean-k-mooney | mnaser: the fact the infity fabric speed used to be tied to the meory speed | |
| 15:09:19 | bauzas | efried: some other projets create their own RPs and we need to know them | |
| 15:09:20 | efried | and dustinc has mostly already coded it up | |
| 15:09:26 | efried | so it's really just a question of test surface | |
| 15:09:34 | mnaser | memory channels onto the Infinity Fabric to progress through the SoC. To achieve the lowest latency, you can set the memory frequency to be equal to the Infinity Fabric speed. Lowering the memory clock speed also results in power savings in the memory controller, thus allowing the rest of the SoC to consume more power potentially resulting in a performance boost elsewhere, depending on the workload." | |
| 15:09:34 | mnaser | sean-k-mooney: "By default, the BIOS for EPYC 7002 Series processors will run at the maximum allowable clock frequency by the platform. This configuration results in the maximum memory bandwidth for the processor, but in some cases, it may not be the lowest latency. The Infinity Fabric will have a maximum speed of 1467 MHz (lower in some platforms), resulting in a single clock penalty to transfer data from the | |
| 15:09:50 | bauzas | efried: for the moment, we infer their existences based on naming convention but I'm all up for other ideas :-) | |
| 15:10:26 | gibi | bauzas: a counter example is shared disk. there we said use the uuid of the placement aggregate instead of the name of the sharing RP in the nova conf. | |
| 15:10:34 | sean-k-mooney | mnaser: ya so in gen 1 they were tied of the same clock | |
| 15:10:48 | gibi | bauzas: so we are getting better at this | |
| 15:10:49 | bauzas | gibi: aaaaaand we discussed 30 mins of any potential issues with it :) | |
| 15:10:56 | dansmith | efried: reminder: I'm fine with logging the conflict late when the admin configured it wrong | |
| 15:11:02 | sean-k-mooney | so your memroy bandwith was limited by the speed at which the infinity frabric could run | |
| 15:11:04 | bauzas | the chicken-and-egg problem | |
| 15:11:10 | dansmith | maybe nobody else is :) | |
| 15:11:13 | gibi | bauzas: that is what PTG for. isn't it? ;) | |
| 15:11:21 | sean-k-mooney | mnaser: they split them to allwo you to tune them seperatly | |
| 15:11:34 | bauzas | gibi: that's surely some justification for my expense report, for sure :p | |
| 15:11:38 | sean-k-mooney | mnaser: so you can optimise for latency or througput | |
| 15:12:05 | efried | dansmith: That wfm too. The only question is, in addition to logging the error, we have to *pick one* to use. | |
| 15:12:10 | bauzas | "look ! this isn't a very expensive dinner, this was just a brainstorming session in a crowdy area !" | |
| 15:12:13 | efried | or, I suppose, refuse to use either. | |
| 15:12:19 | dansmith | efried: refuse to use either | |
| 15:12:33 | bauzas | "and we ordered snacks meanwhile" | |
| 15:12:39 | dansmith | IMHO | |
| 15:12:46 | efried | dansmith: ack. I agree. We shall make it so. | |
| 15:12:51 | efried | dansmith: Since you're being so nice already, and I've obv got you swapped out of whatever else you would be doing, can we talk about shelve-offloading an instance with a vTPM? | |
| 15:13:11 | dansmith | efried: yeah | |
| 15:13:37 | efried | Do you have a better idea than "create a glance (or maybe swift?) object for the vdev file"? | |
| 15:13:42 | gibi | bauzas: there wasn't too much snack provided during the PTG so _we had to_ order some :) | |
| 15:14:11 | efried | dansmith: seems like this is a natural for swift, but that adds yet another required component. | |
| 15:14:27 | bauzas | "good luck, expenses team, for understanding my bills !" | |
| 15:14:41 | dansmith | efried: that would be one place I guess, but yeah, can't really depend on swift being there | |