Earlier  
Posted Nick Remark
#openstack-nova - 2020-04-06
14:27:00 sean-k-mooney i understand where you are comming form and i was supportive of this because i wanted the api to be stricter
14:27:18 dansmith should I just read the scrollback?
14:28:07 sean-k-mooney dansmith: we were talking about the flavor extra specs validatiors, specifcally the query arg to contol validation
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

Earlier   Later