Earlier  
Posted Nick Remark
#openstack-nova - 2019-04-16
15:01:16 mordred mriedem: https://wiki.openstack.org/wiki/VirtDriverImageProperties - are those documented anywhere other than that wiki page?
15:01:28 mriedem https://docs.openstack.org/glance/latest/admin/useful-image-properties.html ?
15:01:45 mriedem stephenfin: the table format in ^ is bad now
15:01:47 mriedem is that a known issue?
15:02:00 mriedem that used to actually have grid lines like a .... table
15:02:02 mordred oh! thanks
15:02:32 stephenfin mriedem: kashyap spotted that a few days ago. It's a style thing done by openstackdocstheme
15:03:07 sean-k-mooney mordred: they are ment to be documened in teh glance metadef too but several are missing
15:03:12 kashyap stephenfin: What is "that"? The "if you reference the same ref twice you'll see funny rendering"?
15:03:26 mriedem mordred: there are some missing from that docs page too - like sean-k-mooney said for metadefs
15:03:28 stephenfin kashyap: The lack of borders on tables
15:03:34 sean-k-mooney mordred: stephenfin is working on a better way to defien and validate imave properties and flavor extra specs
15:03:41 mriedem i try to report glance bugs when i find missing properties in nova code
15:03:45 kashyap stephenfin: Ah, I missed to read the context earlier
15:03:52 mriedem https://bugs.launchpad.net/glance/+bug/1811897
15:03:53 openstack Launchpad bug 1811897 in Glance "Useful image properties in glance - hw_disk_bus is also used by the vmware driver" [Undecided,New]
15:03:57 mriedem https://bugs.launchpad.net/glance/+bug/1808868
15:03:58 openstack Launchpad bug 1808868 in Glance "Useful image properties in glance - hw_cdrom_bus is not documented" [Medium,Confirmed]
15:03:59 mordred sean-k-mooney: I would support anything that improves a better way to define and validate image properties :)
15:04:02 mriedem https://bugs.launchpad.net/glance/+bugs?search=Search&field.bug_reporter=mriedem&orderby=-datecreated&start=0 etc
15:04:28 sean-k-mooney mordred: in theroy they should all be defined here https://github.com/openstack/glance/tree/master/etc/metadefs
15:04:39 mordred trait:<trait_name> = required is a really special interfae
15:05:06 sean-k-mooney but it has not been maintained for all new specs and across all drivers
15:05:21 mordred sean-k-mooney: of course it hasn't :)
15:05:53 sean-k-mooney mordred: well we never added any testing to enforce it so it never will be.
15:06:03 mriedem i found out the other day that azure has a completely undocumented templating rest api and i was pretty surprised and somehow happy that even a giant closed source thing like azure has poor documentation
15:06:39 mriedem sean-k-mooney: core reviewers in nova can certainly say "i'm not going to approve your shiny nugget until i see the glance docs patch written"
15:06:48 mordred also - fwiw - in the docs, it says auto_disk_config should return true of falase
15:06:57 mordred and on rackspace it returned "disabled"
15:07:03 mordred so - you know - there's that
15:07:23 sean-k-mooney mriedem: true we have mentioned that for some of the recent windriver ones like vTPM
15:07:41 sean-k-mooney its a relitvly tirival change if you do it when you add the feature
15:07:42 mriedem mordred: auto_disk_config is a string field in the nova schema so it can be whatever as far as nova is concerned
15:07:56 mordred mriedem: awesome
15:08:22 mnaser mriedem: I'd probably avoid suggesting SIGHUP-ing things for now till we figure out the oslo.service stuff, but yeah, maybe worth restarting nova-conductor to reset its cache I guess
15:08:28 mriedem it does look like the xen driver tries to treat it as a bool though
15:08:40 sean-k-mooney mordred: you shoudl review https://review.openstack.org/#/c/638734/
15:08:49 mriedem like other booleans in the openstack rest api like 1/yes/true/True etc
15:09:22 mordred are _all_ of the extra properties liek that string fields?
15:09:27 mriedem mordred: btw, i think i kind of have a monopoly on depressing topics in this channel and i will fight you over territory
15:09:54 mordred mriedem: I will not fight back - I concede your supremacy in depressing topics in this channel
15:10:02 mriedem mordred: not all https://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L233
15:10:04 mordred I claim that monopoly in #openstack-sdks
15:10:35 mriedem everything in ^ should be documented in https://docs.openstack.org/glance/latest/admin/useful-image-properties.html and in glance metadefs
15:10:38 sean-k-mooney mordred: wehre there is a finite set we restict it but where there is not we dont
15:10:47 mriedem anything not in https://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L233 will fail in nova (unless you've forked nova)
15:11:11 sean-k-mooney mriedem: well if the key does not match anything in that we will allow it
15:11:26 mordred ok. so that nova file is essentally the ultimate truth
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

Earlier   Later