| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-04-06 | |||
| 14:28:35 | sean-k-mooney | it would appear that some assumed after this spec all extra_spec changes would involve a micro version bump | |
| 14:29:16 | sean-k-mooney | which raise the question why have the policy. i made the opisite assumtion that we would continue to not bump the microver when altering extra_specs | |
| 14:29:55 | dansmith | is the question not the microversion for the validation param, but whether or not we bump the microversion for future validators? | |
| 14:30:34 | sean-k-mooney | there are two questions. do we bump the mircoverion for evey extra_spec change going forward | |
| 14:31:06 | sean-k-mooney | and what are the implciation of the validation parm in either case | |
| 14:31:48 | dansmith | so, I thought the plan was to make validation optional through the flag, isn't that right? | |
| 14:31:53 | bauzas | dansmith: see the open discussion in https://review.opendev.org/#/c/708436/16//COMMIT_MSG@12 | |
| 14:32:08 | sean-k-mooney | dansmith: yes that was the plan in the spec | |
| 14:32:27 | dansmith | because if so, I would expect that we don't treat the extra_specs *themselves* as versioned and schema-controlled, which means no microversion for each new one, | |
| 14:32:31 | bauzas | dansmith: the main concern we were discussing is whether there was an interop issue | |
| 14:32:40 | dansmith | and rather the only thing we're versioning is the *behavior* of optionally validating them | |
| 14:34:10 | openstackgerrit | Lee Yarwood proposed openstack/nova master: virt: Provide block_device_info during rescue https://review.opendev.org/700811 | |
| 14:34:11 | openstackgerrit | Lee Yarwood proposed openstack/nova master: libvirt: Add support for stable device rescue https://review.opendev.org/700812 | |
| 14:34:11 | openstackgerrit | Lee Yarwood proposed openstack/nova master: compute: Report COMPUTE_RESCUE_BFV and check during rescue https://review.opendev.org/701429 | |
| 14:34:12 | openstackgerrit | Lee Yarwood proposed openstack/nova master: api: Introduce microverion 2.86 allowing boot from volume rescue https://review.opendev.org/701430 | |
| 14:34:12 | openstackgerrit | Lee Yarwood proposed openstack/nova master: compute: Extract _get_bdm_image_metadata into nova.utils https://review.opendev.org/705212 | |
| 14:34:13 | openstackgerrit | Lee Yarwood proposed openstack/nova master: libvirt: Support boot from volume stable device instance rescue https://review.opendev.org/701431 | |
| 14:34:15 | johnthetubaguy | hmm, I guess I worry *what* validation is actually being done, i.e. what is the supported list of that given Nova endpoint | |
| 14:34:43 | dansmith | johnthetubaguy: meaning you say validation=true and you don't know if the endpoint is new enough to validate numa_nodes or something? | |
| 14:35:30 | bauzas | johnthetubaguy: dansmith: stephenfin: sean-k-mooney: gibi: honestly, can we just enable the feature by being permissive now (and not having a microversion now) and discuss about those concerns in a later change ? | |
| 14:35:30 | dansmith | because if so, the easy way is to make validation=(yes|no|strict), and if you ask for strict validation while passing a key it doesn't support, then it fails and tells you | |
| 14:36:02 | dansmith | bauzas: not sure how we would do that | |
| 14:36:03 | stephenfin | bauzas: It's not permissive at the moment though, it's a no-op | |
| 14:36:24 | johnthetubaguy | its strict by default in the new microversion right? | |
| 14:36:29 | stephenfin | yes | |
| 14:36:35 | bauzas | dansmith: I personnally feel we only need a microversion once we default to be strict | |
| 14:36:53 | dansmith | bauzas: we need a microversion as soon as we add a parameter, AFAIK | |
| 14:36:54 | bauzas | my counter-proposal is to enable this feature but be opt-in | |
| 14:37:14 | johnthetubaguy | dansmith: hmm, I guess, although I thought we were against that approach before. I am more worried about the user listing the extra specs and trying to understand them | |
| 14:37:36 | bauzas | dansmith: yeah, if you mean a extraspec key, I don't disagree | |
| 14:37:49 | dansmith | johnthetubaguy: to be honest, the importance of this feature is pretty low to me | |
| 14:37:57 | johnthetubaguy | the strict/permissive/disabled thing sure needs a microversion to be added | |
| 14:38:13 | dansmith | we have no param right now, so we need a microversion regardless right? | |
| 14:38:22 | johnthetubaguy | dansmith: +1 | |
| 14:38:23 | dansmith | and why as the yes/no/strict thing rejected before? | |
| 14:38:28 | dansmith | *was | |
| 14:38:40 | bauzas | okay, nevermind my counter-proposal, you're right | |
| 14:38:46 | bauzas | a microversion has to be added anyways | |
| 14:38:49 | stephenfin | it's not been rejected: that's what we have at the moment | |
| 14:38:53 | johnthetubaguy | it might have been silently ignored actually... | |
| 14:39:07 | bauzas | but I just feel we need to be permissive as default until we come up with a solid consensus on what we agree | |
| 14:39:18 | sean-k-mooney | johnthetubaguy: that would be an implemation detail of the route lib we are using if it was ignored | |
| 14:39:20 | stephenfin | johnthetubaguy: yeah, no query arg validation on that end point at the moment | |
| 14:39:23 | sean-k-mooney | its still an invalid query | |
| 14:39:26 | johnthetubaguy | (just because that API didn't have any query params before) | |
| 14:39:32 | bauzas | I tried to capture the problems and the proposals in https://review.opendev.org/#/c/708436/16//COMMIT_MSG | |
| 14:39:49 | dansmith | bauzas: I would prefer we default to non-strict validation if that's what you mean | |
| 14:39:57 | bauzas | correct | |
| 14:40:20 | bauzas | 2.86 would enable the feature | |
| 14:40:27 | bauzas | by being permissive | |
| 14:40:45 | johnthetubaguy | dansmith: OK, yeah, that would consistent with not needing a microversion for new extra specs, but lets admins opt into avoid a typo | |
| 14:41:14 | johnthetubaguy | honestly, my preference is to make these a real part of the API, and controlled in microversions, as I find the whole thing a mess to use right now | |
| 14:41:19 | sean-k-mooney | johnthetubaguy: extra specs are generaly backend speicic too so are not portabl in genreal | |
| 14:41:52 | dansmith | johnthetubaguy: but extra_specs are open-ended anyway, so it seems odd to me to have some set of them, not even namespaced, be hard-version-controlled | |
| 14:41:55 | bauzas | sean-k-mooney: and I hate this | |
| 14:41:57 | sean-k-mooney | e.g. they need knoladge of the way the cloud was configured (filters, virtdriver, versions) | |
| 14:42:15 | bauzas | sean-k-mooney: in particular the libvirt knobs we introduced | |
| 14:42:24 | dansmith | sean-k-mooney: that's why I don't really want this validation in the first place | |
| 14:42:26 | bauzas | those are utterly specifics | |
| 14:42:32 | sean-k-mooney | bauzas: sure but without normallising extra_spcs wich is a differnet topic we cant fix that | |
| 14:42:40 | bauzas | hence being permissive | |
| 14:42:47 | sean-k-mooney | bauzas: no the libvirt ones are no worse the the powervm or vmware ones | |
| 14:42:54 | openstackgerrit | Ghanshyam Mann proposed openstack/nova master: Add new default roles in tenant tenant usage policies https://review.opendev.org/717587 | |
| 14:43:07 | sean-k-mooney | bauzas: many of the other virt diriver stated using the libvirt ones after we standarised them | |
| 14:43:29 | johnthetubaguy | dansmith: I guess I like what we did with traits, and wanted that for scheduler hints and extra specs, granted its hard to do retrospectively | |
| 14:43:34 | bauzas | (12:17:50) bauzas: ... or we set it to permissive by default | |
| 14:43:57 | bauzas | tbc, there are two alternatives | |
| 14:44:07 | bauzas | option A : let the operators opt-in | |
| 14:44:15 | sean-k-mooney | johnthetubaguy: schduler hints are seperate | |
| 14:44:18 | bauzas | option B : microversion everything | |
| 14:44:18 | johnthetubaguy | sean-k-mooney: that was because we asked them to, so our API is an abstraction that is useful, rather than a bag of virt driver flags | |
| 14:44:20 | dansmith | johnthetubaguy: yeah, doesn't seem like we can do that now without a large migration of everyone's custom specs, or our system ones | |
| 14:44:43 | sean-k-mooney | johnthetubaguy: yep and i would like if we could add back abstrations | |
| 14:44:53 | sean-k-mooney | johnthetubaguy: i noted as much in early verion of the validation patch | |
| 14:45:04 | sean-k-mooney | johnthetubaguy: its why we have we should move x and other comment in the code | |
| 14:45:46 | johnthetubaguy | dansmith: yeah, I would sadly agree that doing that is likely a waste of our valuable time at this point, FWIW, I find the documentation and structure useful on its own, it helped with image props. | |
| 14:45:47 | sean-k-mooney | ya the migration of the instance embeded flavor would be a pain although we could do it if neded | |
| 14:46:21 | dansmith | johnthetubaguy: agree, it's not worth it at this point | |
| 14:46:23 | sean-k-mooney | johnthetubaguy: well part of stephens work is to imporve the docs | |
| 14:46:34 | johnthetubaguy | so my proposal earlier was to alias in the new microversion, so you add a prefix for all non-system ones, but its a pain | |
| 14:46:54 | dansmith | so, crazy idea | |
| 14:47:45 | dansmith | what if we add a new namespace prefix that itself implies that the spec is validated.. something like system:numa_nodes, which would require validation, but otherwise be the same as numa_nodes, at least for the foreseeable future? | |
| 14:48:20 | sean-k-mooney | dansmith: i would prefer to define custom: | |
| 14:48:21 | dansmith | that would give us something we could eventually warn people about, deprecate the non-system numa_nodes in the future and then eventually land on anything not in system: becomes the "wild west of custom stuff" | |
| 14:48:23 | sean-k-mooney | to opt out | |
| 14:48:26 | sean-k-mooney | rather then opt in | |
| 14:48:40 | sean-k-mooney | and just validate all other namespaced extra specs | |
| 14:48:40 | bauzas | sorry, need to drop, urgent kitchen issue | |
| 14:48:45 | dansmith | sean-k-mooney: well, the problem is right now the entire non-namespaced space is custom | |
| 14:48:46 | bauzas | (kids at home, lovely) | |
| 14:49:00 | sean-k-mooney | dansmith: actully not quite | |
| 14:49:06 | sean-k-mooney | we messed up one key | |
| 14:49:09 | sean-k-mooney | but more or less | |
| 14:49:27 | frickler | I'm seeing nova-api lockup when running under apache2 mod-wsgi-py3 on stein with >1 thread enabled, is this a known issue? traceback looks like this and the server stops responding after answering some few requests correctly http://paste.openstack.org/show/PhzU6ZXQnkfrDjyAAAoe/ | |
| 14:49:27 | dansmith | sean-k-mooney: like bauzas says, I think that throwing the switch to opt-out right now is not great | |
| 14:49:59 | sean-k-mooney | ya whcih is why the valdiation parma was added | |
| 14:50:04 | sean-k-mooney | or old micorverions | |
| 14:50:10 | dansmith | right, | |
| 14:50:26 | dansmith | but as johnthetubaguy has said, it's hard for people to know what is being checked or not | |
| 14:50:47 | sean-k-mooney | yes that is true | |