Earlier  
Posted Nick Remark
#openstack-nova - 2019-04-16
15:11:37 sean-k-mooney e.g. you can define my_randome_metadata_property=whatever
15:11:48 mriedem sean-k-mooney: ummm, are you sure?
15:11:59 sean-k-mooney yes if we cant we broke our api
15:12:15 mriedem i'm pretty sure we intentionally broke the api for this
15:12:19 mriedem and told people to upstream their forks
15:12:26 mriedem this is also why we haven't codified flavor extra specs
15:12:27 dansmith yeah, pretty sure you can have anything you want, we just enforce the format of the ones we know about
15:12:38 dansmith because otherwise you can't use some of the things like jsonfilter right?
15:12:38 sean-k-mooney operators use this for steaing guest to specific host using the image properites filter
15:13:11 mriedem the image properties filter works on like 3-4 known properties
15:13:34 mordred have I mentioed how much it sucks that images in v2 just take the extra properties in the root of the image object?
15:14:04 mriedem you mean flat rather than a special 'properties' sub-dict?
15:14:06 mordred v1's subdict where user-defined metadata went is SO MUCH JBETTER
15:14:08 mordred yeah
15:14:15 mordred flat is horrifically terrible
15:14:22 sean-k-mooney https://github.com/openstack/nova/blob/master/nova/scheduler/filters/aggregate_image_properties_isolation.py i think support all the image metadata keys
15:14:31 mriedem now you get to get the base properties and subtract anything to figure out the exras
15:14:32 mriedem weeee
15:14:36 mordred yup
15:14:59 mordred especially since some of the base properties have data types that aren't string
15:15:12 mordred so if you _don't_ deal with all of the base properties, you can be really screwed
15:15:34 dansmith mriedem: this is where we would enforce that all the ones in the dict have to be known right? https://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L580-L598
15:17:10 mriedem dansmith: i believe so
15:17:15 openstackgerrit Merged openstack/nova stable/rocky: Error out migration when confirm_resize fails https://review.openstack.org/652127
15:17:30 dansmith mriedem: so, I think we only process the ones we know about, ignore anything else you throw in there
15:17:50 sean-k-mooney ya thats what im seeing too
15:18:39 mriedem i remember people bringing this up in the ML but maybe they were just saying, "my special unicorn properties doesn't make it down to my forked compute manager code, why not?"
15:18:53 sean-k-mooney i dont remember a spec for removing this so this s a regression as it s an api change
15:18:57 dansmith mriedem: that's a different thing
15:19:09 mriedem sean-k-mooney: this has been this way for *years*
15:19:19 mriedem danpb did all this work
15:19:22 dansmith mriedem: the unknown image props don't get put into the object, so the compute nodes never see them, that's definitely true
15:19:45 sean-k-mooney well the unkonw ones are for the scheduler only
15:20:25 mriedem sean-k-mooney: https://github.com/openstack/nova/blob/master/nova/scheduler/filters/aggregate_image_properties_isolation.py#L45 is an ImageMetaProps object,
15:20:35 mriedem so if we don't know about the property, it won't be in that object and the filter can't filter on it
15:20:47 mriedem https://github.com/openstack/nova/blob/master/nova/scheduler/filters/aggregate_image_properties_isolation.py#L56
15:22:43 dansmith same for image_props_filter
15:22:50 dansmith I guess jsonfilter is only on host state
15:23:07 mriedem yeah the jsonfilter is a whole other unvalidated piece of gorp
15:23:25 dansmith yeah, but I thought it could operate on the image too, but no
15:23:54 NewBruce heading off line for a while; bbl
15:24:14 dansmith well, anyway, we definitely removed some functionality in the image props filter when we did that, but (a) it's been a long time with no real complaint that I know of and (b) I wouldn't call it an api breakage
15:25:21 mriedem liberty https://review.openstack.org/#/c/76234/
15:25:36 dansmith er, hmm, maybe we didn't actually
15:25:46 dansmith I thought image props filter could do more generic matching, but it doesn't
15:26:02 mriedem right it's like 3 or 4 properties
15:26:07 mriedem hw version, type, arch something like that
15:26:09 mriedem very specific
15:26:15 dansmith which is why I was thinking about the jsonfilter
15:26:28 dansmith so if there's not some other filter I'm thinking of I guess we're good
15:26:39 mriedem it's AggregateImagePropertiesIsolation
15:26:46 mriedem that's the generic one
15:26:49 sean-k-mooney ok do we have teh same restion now with flavor extra specs
15:26:52 mriedem to tie aggregates to images
15:27:29 dansmith mriedem: ah, just a straight match to host meta I see
15:27:37 sean-k-mooney yes
15:27:52 sean-k-mooney this was used for think like runt this image on the NFV aggrate
15:27:56 dansmith sean-k-mooney: no such restriction with flavors
15:29:22 dansmith mriedem: mostly unrelated to this, I wanted to throw something out there just for maybe future use
15:29:30 mriedem totally unrelated to this, but there are 2 simple changes below https://review.openstack.org/#/c/570202/ (which i need for cross-cell resize as well as rebuild from cell0) that have a +2 and i'm looking for another core to hit those
15:30:21 dansmith mriedem: when I was reading the two numa specs today I was reminded of something I was thinking about earlier, related to cases where we have instances which store old-format data, like something stuck in their flavor which needs to be migrated
15:30:22 sean-k-mooney dansmith: ok i had tought we still supported "bring your own" metadata key for image too i guess not
15:31:06 dansmith mriedem: things that we would need to online_migrate or something, and things that we would be tempted to resolve with "meh, just migrate all your instances left one rack to clean those up".. kinda like the recent discussion about reshape for that stuff
15:31:30 dansmith mriedem: we might benefit from a "needs upgrade" flag on the instance, that would be shown in detailed list, to admins only,
15:31:44 dansmith where I could list all tenants and see instances that have "needs upgrade"
15:32:16 sean-k-mooney so the old usecase woulould be achive with a member_of request in the flavor extra spec
15:32:25 dansmith anything could set that flag, like compute manager when it notices some legacy data, or even libvirt when it notices something like a disk format that needs to be upgraded or something
15:32:51 mriedem dansmith: if the thing setting the flag has to already calculate that it will set the flag, why not just do the online migration right then?
15:33:31 dansmith mriedem: well, because things like the resource topology thing would need to be done to all instances on the compute node at the same time, and after a config change
15:33:45 dansmith mriedem: referring to the thing stephenfin and jaypipes and bauzas and I were discussing last week
15:34:04 bauzas FWIW, on a 1.5h meeting atm
15:34:15 bauzas but listening
15:34:45 mriedem so instances a,b,c need an upgrade, but the admin doesn't know how to upgrade them, i.e. is it migrating them, running the online_data_migrations cli, restarting the compute they are on, etc
15:35:22 mriedem if the flag were an enum that's one way
15:35:41 dansmith mriedem: yeah, so it'd be nice if we also tagged "issues" to the instance that you whittle down until the upgrade flag goes away, but I think that's too heavy for the moment.. but if we LOG.warning() for each instance that we were setting the flag on, then you would at least have a record
15:35:55 dansmith mriedem: yeah, could be iterative, like service_version
15:36:01 dansmith if we always did those things in order
15:36:22 sean-k-mooney dansmith: could you tie it into a nova status check or something
15:36:42 mriedem i don't think i'd rely on someone catching that warning
15:36:49 openstackgerrit Merged openstack/nova stable/rocky: Delete allocations even if _confirm_resize raises https://review.openstack.org/652146
15:36:50 mriedem before their logs wrap or something
15:36:57 mriedem depends on how long they retain stuff in es
15:37:08 mriedem we already blast the logs with warnings that aren't useful
15:37:43 dansmith mriedem: sure, it just makes it lighter for the first rev of the idea, but if we made it a "schema version" sort of iterative "level" like service_version that could be easy, as you would look up the reason in the decoder ring
15:38:21 cdent Is there something up with the gate today? queue seems long and slow
15:38:22 dansmith and we could translate it in the api to "is current or not" if the version is backlevel (and show the version I guess)
15:38:33 mriedem cdent: it was like that yesterday too
15:38:53 mriedem dansmith: i'm not sure what service_version you're referring to
15:38:59 mriedem just the Service.version?
15:39:05 dansmith no,
15:39:34 openstackgerrit Merged openstack/nova stable/rocky: Don't warn on network-vif-unplugged event during live migration https://review.openstack.org/651797
15:39:37 dansmith SERVICE_VERSION is a global counter of things we've done to services, so we can tell if they're up to date or not
15:40:23 dansmith we could have a similar global "instance version" which was a little more like a schema version, where we record whether instance records had been modified for a specific transition
15:41:04 dansmith this is not important right now, I was thinking you'd latch onto this so we could expose more info to the operators about upgraded-ness, but I'll just bring it up the next time it's appropriate, like in those specs
15:41:34 mriedem ack
15:42:17 bauzas sean-k-mooney: so, about the upgrade impact of the cpu-resources thing, I had an idea
15:42:38 bauzas what we could do is potentially leave operators upgrading to Train without any impact
15:42:54 bauzas ie. config options act exactly like Stein
15:43:02 bauzas (for the existing ones)
15:43:07 mriedem cdent: http://grafana.openstack.org/d/T6vSHcSik/zuul-status?panelId=3&fullscreen&orgId=1

Earlier   Later