Wednesday, 2024-10-02

opendevreviewmelanie witt proposed openstack/nova master: libvirt: Move cache filename generation to imagebackend  https://review.opendev.org/c/openstack/nova/+/93096101:53
opendevreviewmelanie witt proposed openstack/nova master: libvirt: Add base image format tracking with file extensions  https://review.opendev.org/c/openstack/nova/+/93096201:53
opendevreviewmelanie witt proposed openstack/nova master: db: Add image_type to block_device_mapping table  https://review.opendev.org/c/openstack/nova/+/93096401:53
opendevreviewmelanie witt proposed openstack/nova master: objects: Add image_type to BlockDeviceMapping object  https://review.opendev.org/c/openstack/nova/+/93096501:53
opendevreviewmelanie witt proposed openstack/nova master: virt: Add image_type to relevant DriverBlockDevice  https://review.opendev.org/c/openstack/nova/+/93096601:53
opendevreviewmelanie witt proposed openstack/nova master: WIP libvirt: Add image multi-backend  https://review.opendev.org/c/openstack/nova/+/93096701:53
opendevreviewmelanie 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/+/93096801:53
opendevreviewGhanshyam proposed openstack/osc-placement master: Update python classifier in setup.cfg  https://review.opendev.org/c/openstack/osc-placement/+/93111302:42
opendevreviewmelanie witt proposed openstack/nova master: WIP libvirt: Add image multi-backend  https://review.opendev.org/c/openstack/nova/+/93096703:01
opendevreviewmelanie 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/+/93096803:01
opendevreviewTakashi Kajinami proposed openstack/placement master: Move upper functional job to py312  https://review.opendev.org/c/openstack/placement/+/93105203:31
opendevreviewRajesh Tailor proposed openstack/nova master: Fix typos and punctuation issues  https://review.opendev.org/c/openstack/nova/+/87877906:19
opendevreviewTakashi Kajinami proposed openstack/nova master: Replace deprecated constant_time_compare  https://review.opendev.org/c/openstack/nova/+/93114609:28
opendevreviewAndrew Bonney proposed openstack/nova master: Don't reset port dns_name when shelving instances  https://review.opendev.org/c/openstack/nova/+/91996114:38
tkajinamI wonder if anyone knows a good replacement of distutils.versionpredicate ?14:41
tkajinamcontext behind my question is https://bugs.launchpad.net/oslo.versionedobjects/+bug/208351814:41
tkajinamdistutils was removed in Python 3.12 but that module is still used by nova and oslo.versionedobjects14:41
stephenfinI thought sean-k-mooney had deprecated ImagePropertiesFilter in favour of placement. Apparently not16:04
tkajinam:-(16:12
tkajinamI now understand how huge disaster the removal of pkg_resources and distutils is16:14
tkajinampy 3.12 is mess16:15
dansmithtkajinam: it's been a disaster in every community I'm in16:39
tkajinamyeah16:39
tkajinamand we may see more "exciting" situation with upcoming py313 ...16:40
dansmithyep16:41
dansmithI mean... "yep :("16:41
* JayF side-eyes eventlet16:42
tkajinam:-S16:43
sean-k-mooneystephenfin: i tought i did also. there may have been usecase my prefilter could not cover17:03
sean-k-mooneystephenfin: i did add a placement prefilter for image metadtaa17:03
sean-k-mooneystephenfin: https://specs.openstack.org/openstack/nova-specs/specs/ussuri/implemented/image-metadata-prefiltering.html in ussuri apparently17:05
sean-k-mooneyi 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-mooneybasically meaning only thing that are fixed enuma not arbary values 17:08
sean-k-mooney*enums17:08
sean-k-mooneyso i could not supprot img_hv_requested_version and hw_maxphysaddr_bits which allwo you specify minium versions17:09
sean-k-mooneyi.e. hw_maxphysaddr_bits the image filter will pass any host that supprots at least hw_maxphysaddr_bits 17:10
sean-k-mooneywe cant express that in placmeent today so whiel its less needed now there are still some cases that require it17:10
sean-k-mooneythat is why we have not deprecated or removed it17:11
stephenfinsean-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 example17:19
stephenfinnot that it'll help us now, but in the long-term17:19
sean-k-mooneystephenfin: some of them are libvirt specirc17:21
sean-k-mooneyhw_maxphysaddr_bits specificly is17:21
stephenfinah, indeed :(17:22
sean-k-mooneywe added that in caracal https://specs.openstack.org/openstack/nova-specs/specs/2024.1/implemented/libvirt-maxphysaddr-support.html17:22
sean-k-mooneystephenfin: is there a reason you want to remvoe it17:22
stephenfinsee tkajinam's comment above about distutils17:23
sean-k-mooneywhy woud lthis matter it trivcial to remove that dep17:23
sean-k-mooneywe are just using it to parse the version string17:23
sean-k-mooneywe have like 5 diffent thing that do somethign similar17:25
sean-k-mooneygranted some of them proably use distutils17:25
sean-k-mooneybut https://github.com/openstack/nova/blob/master/nova/scheduler/filters/image_props_filter.py#L87-L90 shoudl be fairly simple to repalce17:26
sean-k-mooneystephenfin: the hyper_version is alwasy an int i think by the way17:27
sean-k-mooneyso we can litrally just do versionutils.convert_version_to_str can then use gratherthan to do the comparison if im not missing something17:28
stephenfinversionpredicate 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 possible17:31
sean-k-mooneyah i see17:31
stephenfinso the solution is probably to vendor the code from cpython 3.1117:31
stephenfinhttps://github.com/python/cpython/blob/3.11/Lib/distutils/versionpredicate.py17:31
sean-k-mooneywe supprot that for the compute capbality filter17:31
sean-k-mooneyah sorry not that the json filter17:32
sean-k-mooneyhttps://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L81-L11217:32
sean-k-mooneyor thather https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L81-L11217:33
sean-k-mooney... https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L31-L9117:33
sean-k-mooneybut yes that more ahhoying17:33
sean-k-mooneystephenfin: we could certenly consider deprecating that but we have never remvoed an image property before17:34
sean-k-mooneyi dont know how people would fell about removing this17:34
stephenfinProbably easiest to just vendor the code and go back to ignoring that filter until the next time it causes issues17:35
sean-k-mooneyvendor in https://github.com/openstack/oslo.utils/blob/master/oslo_utils/versionutils.py17:36
sean-k-mooneyor in nova17:36
sean-k-mooneylooking at https://github.com/python/cpython/blob/3.11/Lib/distutils/versionpredicate.py17:40
sean-k-mooneywe have much of th elogic in the json filter bug i kind of hate all the regex logic that uses17:41
sean-k-mooneyi kind of understand why but dynamicly building a set of predicates by parsing a string using regexes fells... slow17:42
opendevreviewMerged openstack/placement master: Move upper functional job to py312  https://review.opendev.org/c/openstack/placement/+/93105219:22

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!