Earlier  
Posted Nick Remark
#openstack-nova - 2024-10-02
17:08:14 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:40 sean-k-mooney basically meaning only thing that are fixed enuma not arbary values
17:08:55 sean-k-mooney *enums
17:09:45 sean-k-mooney so i could not supprot img_hv_requested_version and hw_maxphysaddr_bits which allwo you specify minium versions
17:10:19 sean-k-mooney i.e. hw_maxphysaddr_bits the image filter will pass any host that supprots at least hw_maxphysaddr_bits
17:10:52 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:11:16 sean-k-mooney that is why we have not deprecated or removed it
17:19: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:28 stephenfin not that it'll help us now, but in the long-term
17:21:26 sean-k-mooney stephenfin: some of them are libvirt specirc
17:21:35 sean-k-mooney hw_maxphysaddr_bits specificly is
17:22:27 stephenfin ah, indeed :(
17:22:29 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:57 sean-k-mooney stephenfin: is there a reason you want to remvoe it
17:23:14 stephenfin see tkajinam's comment above about distutils
17:23:42 sean-k-mooney why woud lthis matter it trivcial to remove that dep
17:23:50 sean-k-mooney we are just using it to parse the version string
17:25:16 sean-k-mooney we have like 5 diffent thing that do somethign similar
17:25:25 sean-k-mooney granted some of them proably use distutils
17:26:29 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:27:58 sean-k-mooney stephenfin: the hyper_version is alwasy an int i think by the way
17:28:56 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:31:06 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:32 sean-k-mooney ah i see
17:31:33 stephenfin so the solution is probably to vendor the code from cpython 3.11
17:31:37 stephenfin https://github.com/python/cpython/blob/3.11/Lib/distutils/versionpredicate.py
17:31:38 sean-k-mooney we supprot that for the compute capbality filter
17:32:38 sean-k-mooney ah sorry not that the json filter
17:32:42 sean-k-mooney https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L81-L112
17:33:21 sean-k-mooney or thather https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L81-L112
17:33:28 sean-k-mooney ... https://github.com/openstack/nova/blob/master/nova/scheduler/filters/json_filter.py#L31-L91
17:33:40 sean-k-mooney but yes that more ahhoying
17:34:16 sean-k-mooney stephenfin: we could certenly consider deprecating that but we have never remvoed an image property before
17:34:28 sean-k-mooney i dont know how people would fell about removing this
17:35:10 stephenfin Probably easiest to just vendor the code and go back to ignoring that filter until the next time it causes issues
17:36:09 sean-k-mooney vendor in https://github.com/openstack/oslo.utils/blob/master/oslo_utils/versionutils.py
17:36:12 sean-k-mooney or in nova
17:40:50 sean-k-mooney looking at https://github.com/python/cpython/blob/3.11/Lib/distutils/versionpredicate.py
17:41:21 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:42:16 sean-k-mooney i kind of understand why but dynamicly building a set of predicates by parsing a string using regexes fells... slow
19:22:32 opendevreview Merged openstack/placement master: Move upper functional job to py312 https://review.opendev.org/c/openstack/placement/+/931052
#openstack-nova - 2024-10-03
01:01:02 opendevreview melanie witt proposed openstack/nova master: WIP libvirt: Add image multi-backend https://review.opendev.org/c/openstack/nova/+/930967
01:01:03 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:47:14 opendevreview melanie witt proposed openstack/nova master: WIP libvirt: Add image multi-backend https://review.opendev.org/c/openstack/nova/+/930967
01:47:15 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
06:30:52 opendevreview melanie witt proposed openstack/nova master: libvirt: Move cache filename generation to imagebackend https://review.opendev.org/c/openstack/nova/+/930961
06:30:52 opendevreview melanie witt proposed openstack/nova master: DNM try minimalistic imagebackend refactor https://review.opendev.org/c/openstack/nova/+/925635
06:30: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
06:30: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
06:30:54 opendevreview melanie witt proposed openstack/nova master: virt: Add image_type to relevant DriverBlockDevice https://review.opendev.org/c/openstack/nova/+/930966
06:30:54 opendevreview melanie witt proposed openstack/nova master: objects: Add image_type to BlockDeviceMapping object https://review.opendev.org/c/openstack/nova/+/930965
06:30:55 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
06:30:55 opendevreview melanie witt proposed openstack/nova master: WIP libvirt: Add image multi-backend https://review.opendev.org/c/openstack/nova/+/930967
06:55:04 ioni hi guys, i used to be able for years to do openstack server list --all-projects --host hostname and get the servers deployed on hostname server. now with latest version of openstackclient and nova, im not able to
06:55:12 ioni it returns nothing
06:56:18 ioni openstack version is 2023.1
06:56:55 ioni in the nova logs, i see a call for servers in the same way of using older version of openstack client, but with older version of openstacklient, nova gets another call for flavors
06:57:24 ioni is it a bug or openstackclient changed his behavior and i need to use other options?
06:58:37 ioni i tried with -all, --long, --no-name-lookup but i cannot returned to old behavior
06:59:04 ioni i mostly want to get uuid, status of instances on specific hypervisor
08:14:37 melwitt ioni: what is your openstackclient version? "openstack --version" I just tried with 6.6.0 (albeit with nova from the master branch) and --host works as long as it's an exact match on the hostname. it won't do a regex match
08:30:39 ioni @melwitt, 7.1.2
08:34:00 ioni @melwitt, https://paste.xinu.at/Ixy6/
08:40:00 ralonsoh sean-k-mooney, hello! I'm pinging you regarding
08:40:03 ralonsoh (sorry)
08:40:22 ralonsoh regarding WSGIServer. We have a similar implementation in Neutron (UnixDomainWSGIServer)
08:40:52 ralonsoh and is implemented with eventlet
08:41:15 ralonsoh I'm wondering if you have an alternative or if you have already started migrating it
09:02:00 sean-k-mooney ralonsoh: so we had 2 converstain on related topic. the first related to the nova-api consol script where we were considering entirly removing it and only provide wthe wsgi script allowing people to run it under uwsgi,apache2 mod_wsgi or gunicorn the alternitive was to to use one of python built in web servers
09:02:02 sean-k-mooney (https://docs.python.org/3/library/wsgiref.html#module-wsgiref.simple_server or https://docs.python.org/3/library/http.server.html#http.server.ThreadingHTTPServer) or use and external one like ( gunicorn or flask)
09:02:50 sean-k-mooney ralonsoh: the second converastaion was the wsgi framework to use instead fo eventlet and i was suggeign movign to falsk since keystone already did
09:03:36 sean-k-mooney there are others like fastapi ectra but flask is already used in openstack so why add another depency if we can avoid it
09:06:32 sean-k-mooney ralonsoh: i know neutron is in a slightly diffent place because you did not have a wsgi script and that was not the default way to run the api
09:07:10 sean-k-mooney ralonsoh: for nova the nova-api console script/binary has not been the recommended way to run it for 6+ years
09:07:45 sean-k-mooney in production and even in devstack the freestandign wsgi script is how that was executed so we were not using the eventlet web server
09:07:58 opendevreview Pierre Riteau proposed openstack/nova master: Fix missing backtick in configuration option help https://review.opendev.org/c/openstack/nova/+/931253
09:15:27 bauzas ioni: just saw your message, could you try an older version of openstackclient by installing it in a venv ?
09:16:17 bauzas OSC changed a lot between 6.x and 7.x as it now uses the SDK but we may have another regression :(
10:02:35 ralonsoh sean-k-mooney, ok, I see. The WSGIServer is used in WSGIService and only for the API
10:03:49 ralonsoh we had a different problem: the UnixDomainWSGIServer is used on the agents to provide a wsgi server for the metadata
10:07:59 sean-k-mooney ralonsoh: i think you can just swap the socket passed to the http server with a unix domain socket instead of tcp
10:08:28 ioni @bauzas, ive downgraded python-openstackclient to 6.6.0, still the same issue
10:08:38 ioni should i downgrade sdk as well?
10:08:41 sean-k-mooney i have not tired that but i dont think the stdlib webserver actully depend on the transprot protocol
10:08:43 ioni to what version?
10:09:29 ralonsoh sean-k-mooney, UnixDomainWSGIServer is using a unix socket
10:09:39 bauzas ioni: well, could you then use DEBUG level with OSC to see the call and the return ?
10:10:26 ioni @bauzas, sure thing, can you give me instructions ?
10:14:24 sean-k-mooney ralonsoh: right but what i mean is i think they way you use https://docs.python.org/3/library/http.server.html#http.server.SimpleHTTPRequestHandler for example is you create a socket server use that to serve the web server
10:19:30 ioni bauzas, whats interesting is that in --debug, i can see details regarding servers on that hypervisor but it doesn't print them
10:20:17 bauzas ioni: so this is a OSC bug
10:20:26 sean-k-mooney ralonsoh: currently https://docs.python.org/3/library/socketserver.html only provide tcp and udp concreate implamtion but you coudl inherit form https://docs.python.org/3/library/socketserver.html#socketserver.BaseServer and create a unix variaint and use the https://docs.python.org/3/library/socketserver.html#socketserver.ThreadingMixIn if needed
10:20:48 bauzas ioni: can you please provide a paste ?
10:20:53 ioni sure
10:21:02 sean-k-mooney ralonsoh: there may be better wasy i.e. if flask has a unix server or one of our other exsitng deps does
10:21:31 bauzas (with the DEBUG level, but if you want, just modify the compute nodes)
10:22:26 ioni @bauzas, https://paste.xinu.at/ZFZ8ic/
10:22:33 ioni @bauzas, is this what you need?
10:23:02 bauzas ioni: perfect
10:23:17 ioni @bauzas, i will delete the paste when you are done with it

Earlier   Later