opendevreview | melanie witt proposed openstack/nova master: libvirt: Move cache filename generation to imagebackend https://review.opendev.org/c/openstack/nova/+/930961 | 01:53 |
---|---|---|
opendevreview | melanie witt proposed openstack/nova master: libvirt: Add base image format tracking with file extensions https://review.opendev.org/c/openstack/nova/+/930962 | 01:53 |
opendevreview | melanie witt proposed openstack/nova master: db: Add image_type to block_device_mapping table https://review.opendev.org/c/openstack/nova/+/930964 | 01:53 |
opendevreview | melanie witt proposed openstack/nova master: objects: Add image_type to BlockDeviceMapping object https://review.opendev.org/c/openstack/nova/+/930965 | 01:53 |
opendevreview | melanie witt proposed openstack/nova master: virt: Add image_type to relevant DriverBlockDevice https://review.opendev.org/c/openstack/nova/+/930966 | 01:53 |
opendevreview | melanie witt proposed openstack/nova master: WIP libvirt: Add image multi-backend https://review.opendev.org/c/openstack/nova/+/930967 | 01:53 |
opendevreview | melanie witt proposed openstack/nova master: api: Add microversion 2.97 to add image_type to block_device_mapping_v2 https://review.opendev.org/c/openstack/nova/+/930968 | 01:53 |
opendevreview | Ghanshyam proposed openstack/osc-placement master: Update python classifier in setup.cfg https://review.opendev.org/c/openstack/osc-placement/+/931113 | 02:42 |
opendevreview | melanie witt proposed openstack/nova master: WIP libvirt: Add image multi-backend https://review.opendev.org/c/openstack/nova/+/930967 | 03:01 |
opendevreview | melanie witt proposed openstack/nova master: api: Add microversion 2.97 to add image_type to block_device_mapping_v2 https://review.opendev.org/c/openstack/nova/+/930968 | 03:01 |
opendevreview | Takashi Kajinami proposed openstack/placement master: Move upper functional job to py312 https://review.opendev.org/c/openstack/placement/+/931052 | 03:31 |
opendevreview | Rajesh Tailor proposed openstack/nova master: Fix typos and punctuation issues https://review.opendev.org/c/openstack/nova/+/878779 | 06:19 |
opendevreview | Takashi Kajinami proposed openstack/nova master: Replace deprecated constant_time_compare https://review.opendev.org/c/openstack/nova/+/931146 | 09:28 |
opendevreview | Andrew Bonney proposed openstack/nova master: Don't reset port dns_name when shelving instances https://review.opendev.org/c/openstack/nova/+/919961 | 14:38 |
tkajinam | I wonder if anyone knows a good replacement of distutils.versionpredicate ? | 14:41 |
tkajinam | context behind my question is https://bugs.launchpad.net/oslo.versionedobjects/+bug/2083518 | 14:41 |
tkajinam | distutils was removed in Python 3.12 but that module is still used by nova and oslo.versionedobjects | 14:41 |
stephenfin | I thought sean-k-mooney had deprecated ImagePropertiesFilter in favour of placement. Apparently not | 16:04 |
tkajinam | :-( | 16:12 |
tkajinam | I now understand how huge disaster the removal of pkg_resources and distutils is | 16:14 |
tkajinam | py 3.12 is mess | 16:15 |
dansmith | tkajinam: it's been a disaster in every community I'm in | 16:39 |
tkajinam | yeah | 16:39 |
tkajinam | and we may see more "exciting" situation with upcoming py313 ... | 16:40 |
dansmith | yep | 16:41 |
dansmith | I mean... "yep :(" | 16:41 |
* JayF side-eyes eventlet | 16:42 | |
tkajinam | :-S | 16:43 |
sean-k-mooney | stephenfin: i tought i did also. there may have been usecase my prefilter could not cover | 17:03 |
sean-k-mooney | stephenfin: i did add a placement prefilter for image metadtaa | 17:03 |
sean-k-mooney | stephenfin: https://specs.openstack.org/openstack/nova-specs/specs/ussuri/implemented/image-metadata-prefiltering.html in ussuri apparently | 17:05 |
sean-k-mooney | i think the gap, if there is one is mainly aournd 2 things. one the prefilter can only support thigns that can be mapped to traits | 17:08 |
sean-k-mooney | basically meaning only thing that are fixed enuma not arbary values | 17:08 |
sean-k-mooney | *enums | 17:08 |
sean-k-mooney | so i could not supprot img_hv_requested_version and hw_maxphysaddr_bits which allwo you specify minium versions | 17:09 |
sean-k-mooney | i.e. hw_maxphysaddr_bits the image filter will pass any host that supprots at least hw_maxphysaddr_bits | 17:10 |
sean-k-mooney | we cant express that in placmeent today so whiel its less needed now there are still some cases that require it | 17:10 |
sean-k-mooney | that is why we have not deprecated or removed it | 17:11 |
stephenfin | sean-k-mooney: I wonder if we want to keep supporting those long-term. The docs say they were mainly for HyperV which is no longer a thing. It feels unlikely that people use them to request a specific libvirt version, for example | 17:19 |
stephenfin | not that it'll help us now, but in the long-term | 17:19 |
sean-k-mooney | stephenfin: some of them are libvirt specirc | 17:21 |
sean-k-mooney | hw_maxphysaddr_bits specificly is | 17:21 |
stephenfin | ah, indeed :( | 17:22 |
sean-k-mooney | we added that in caracal https://specs.openstack.org/openstack/nova-specs/specs/2024.1/implemented/libvirt-maxphysaddr-support.html | 17:22 |
sean-k-mooney | stephenfin: is there a reason you want to remvoe it | 17:22 |
stephenfin | see tkajinam's comment above about distutils | 17:23 |
sean-k-mooney | why woud lthis matter it trivcial to remove that dep | 17:23 |
sean-k-mooney | we are just using it to parse the version string | 17:23 |
sean-k-mooney | we have like 5 diffent thing that do somethign similar | 17:25 |
sean-k-mooney | granted some of them proably use distutils | 17:25 |
sean-k-mooney | but https://github.com/openstack/nova/blob/master/nova/scheduler/filters/image_props_filter.py#L87-L90 shoudl be fairly simple to repalce | 17:26 |
sean-k-mooney | stephenfin: the hyper_version is alwasy an int i think by the way | 17:27 |
sean-k-mooney | so we can litrally just do versionutils.convert_version_to_str can then use gratherthan to do the comparison if im not missing something | 17:28 |
stephenfin | versionpredicate supports anything you can put on the right side of a dependency in requirements.txt, so something like '> 6.1, < 7.0, != 6.1.0, != 6.1.1, != 6.1.2' is possible | 17:31 |
sean-k-mooney | ah i see | 17:31 |
stephenfin | so the solution is probably to vendor the code from cpython 3.11 | 17:31 |
stephenfin | https://github.com/python/cpython/blob/3.11/Lib/distutils/versionpredicate.py | 17:31 |
sean-k-mooney | we supprot that for the compute capbality filter | 17:31 |
sean-k-mooney | ah sorry not that the json filter | 17:32 |
sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L81-L112 | 17:32 |
sean-k-mooney | or thather https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L81-L112 | 17:33 |
sean-k-mooney | ... https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L31-L91 | 17:33 |
sean-k-mooney | but yes that more ahhoying | 17:33 |
sean-k-mooney | stephenfin: we could certenly consider deprecating that but we have never remvoed an image property before | 17:34 |
sean-k-mooney | i dont know how people would fell about removing this | 17:34 |
stephenfin | Probably easiest to just vendor the code and go back to ignoring that filter until the next time it causes issues | 17:35 |
sean-k-mooney | vendor in https://github.com/openstack/oslo.utils/blob/master/oslo_utils/versionutils.py | 17:36 |
sean-k-mooney | or in nova | 17:36 |
sean-k-mooney | looking at https://github.com/python/cpython/blob/3.11/Lib/distutils/versionpredicate.py | 17:40 |
sean-k-mooney | we have much of th elogic in the json filter bug i kind of hate all the regex logic that uses | 17:41 |
sean-k-mooney | i kind of understand why but dynamicly building a set of predicates by parsing a string using regexes fells... slow | 17:42 |
opendevreview | Merged openstack/placement master: Move upper functional job to py312 https://review.opendev.org/c/openstack/placement/+/931052 | 19:22 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!