| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2024-08-02 | |||
| 16:08:45 | clarkb | elinux: people generally lurk. If you have a question its often best to just ask and if people are able they can answer | |
| 16:11:09 | elinux | I am trying to a add a new filter to nova scheduler. during that process, I want to execute a db command on nova db along these lines "select uuid from instances where project_id=<blah blah> and vm_state is not 'error'" | |
| 16:12:03 | elinux | i want to execute that command in that filter testing file to make a decission for custom filtering. How do I do it using any predefined nova or db objects ? | |
| 16:14:40 | elinux | my main target is to get the number of rows returned by that query | |
| 16:21:12 | gibi | elinux: the filters are filtering HostState objects and HostState already has an instances field https://github.com/openstack/nova/blob/bb2d7f9cad577f3a32cb9523e2b1d9a6d6db3407/nova/scheduler/host_manager.py#L144 that holds a dict of instance_uuid: Instance ovo pairs. So your custom filter just needs to look at the instances dict in each host state and count the instances is bad state. | |
| 16:22:30 | elinux | gibi: but can I filter out those instances per compute host per tenant or project ? | |
| 16:23:12 | gibi | the hoststate object is per compute 1:1. The Instance object has project_id field | |
| 16:24:04 | gibi | https://github.com/openstack/nova/blob/bb2d7f9cad577f3a32cb9523e2b1d9a6d6db3407/nova/objects/instance.py#L126 | |
| 16:41:51 | elinux | gibi: can you show me how to call this instance object for a host under host_pass function in a filter , for a specific project id ? | |
| 16:43:19 | elinux | gibi: unfortunately I am not able to trace the code using pdb for this. it is failing . so I am trying to use eventlet backdoor to attach to nova api wgi process but not able to get any source code loaded at pdb prompt | |
| 17:03:43 | gibi | https://paste.opendev.org/show/bcAOtsWiVKbbiTe94HBh/ something like that but I don't have an env right now where I can hack on this. | |
| 17:06:18 | elinux | gibi: how to trace the nova api service like we do with pdb in python ? but pdb in this case is not working since it is eventlet | |
| 17:06:44 | gibi | honestly I tend to debug by adding extra LOG statement | |
| 17:06:56 | dansmith | yeah, debug with LOG/print :) | |
| 17:07:14 | elinux | dansmith: no other way ? | |
| 17:09:01 | dansmith | elinux: I dunno, a debugger doesn't really lend itself to use in something like an eventlet environment.. we're telling you want nova core developers do, so ... | |
| 17:09:37 | dansmith | best thing is to write a test where you can control the environment and reproduce quickly | |
| 17:09:53 | gibi | ^^ this | |
| 17:09:54 | dansmith | you can't use a debugger with the tests normally either, but if you run them manually then you probably can | |
| 17:10:18 | dansmith | but I'd still recommend debugging with LOG/print and use the test environment to increase the speed at which you can iterate | |
| 18:36:02 | opendevreview | Ghanshyam proposed openstack/nova master: Remove default override for RBAC config options https://review.opendev.org/c/openstack/nova/+/925519 | |
| 18:36:29 | opendevreview | Ghanshyam proposed openstack/nova master: DNM: testing new RBAC default change in oslo policy https://review.opendev.org/c/openstack/nova/+/925515 | |
| 18:37:05 | opendevreview | Ghanshyam proposed openstack/nova master: DNM: testing new RBAC default change in oslo policy https://review.opendev.org/c/openstack/nova/+/925515 | |
| #openstack-nova - 2024-08-03 | |||
| 03:02:40 | opendevreview | melanie witt proposed openstack/nova master: DNM testing https://review.opendev.org/c/openstack/nova/+/925635 | |
| 07:48:03 | opendevreview | melanie witt proposed openstack/nova master: DNM testing https://review.opendev.org/c/openstack/nova/+/925635 | |
| 08:50:32 | opendevreview | melanie witt proposed openstack/nova master: DNM testing https://review.opendev.org/c/openstack/nova/+/925635 | |
| 12:16:46 | opendevreview | Merged openstack/nova stable/2023.1: cpu: Only check governor type on online cores https://review.opendev.org/c/openstack/nova/+/924518 | |
| 13:19:15 | opendevreview | Takashi Kajinami proposed openstack/placement master: Remove Python 3.8 support https://review.opendev.org/c/openstack/placement/+/925648 | |
| 18:35:54 | opendevreview | melanie witt proposed openstack/nova master: DNM testing https://review.opendev.org/c/openstack/nova/+/925635 | |
| 21:25:33 | opendevreview | melanie witt proposed openstack/nova master: DNM testing https://review.opendev.org/c/openstack/nova/+/925635 | |
| #openstack-nova - 2024-08-05 | |||
| 07:48:22 | jlejeune | bauzas, elodilles: hello, I sent you a message last week about a litte change (https://review.opendev.org/c/openstack/nova/+/899379) I don't know if you had time to review | |
| 10:11:18 | opendevreview | Julien Le Jeune proposed openstack/nova master: nova-condutor put instance in error state https://review.opendev.org/c/openstack/nova/+/901655 | |
| 11:03:50 | opendevreview | Takashi Kajinami proposed openstack/nova master: Detect AMD SEV-ES support https://review.opendev.org/c/openstack/nova/+/925685 | |
| 13:51:39 | opendevreview | Balazs Gibizer proposed openstack/nova master: [manila]Use client token when talking to manila https://review.opendev.org/c/openstack/nova/+/925277 | |
| 13:51:40 | opendevreview | Balazs Gibizer proposed openstack/nova master: [manila]Lock/Unlock share by the share_mapping https://review.opendev.org/c/openstack/nova/+/925606 | |
| 13:52:11 | opendevreview | Julien Le Jeune proposed openstack/nova master: nova-condutor put instance in error state https://review.opendev.org/c/openstack/nova/+/901655 | |
| 13:56:21 | opendevreview | Julien Le Jeune proposed openstack/nova master: Add mechanism to manage snapshot during nc init https://review.opendev.org/c/openstack/nova/+/873062 | |
| 14:23:55 | opendevreview | Takashi Kajinami proposed openstack/nova master: Detect AMD SEV-ES support https://review.opendev.org/c/openstack/nova/+/925685 | |
| 21:42:23 | opendevreview | Brian Haley proposed openstack/nova master: Support creating servers with RBAC SGs https://review.opendev.org/c/openstack/nova/+/811521 | |
| #openstack-nova - 2024-08-06 | |||
| 08:45:12 | songwenping | hi team, i have update libvirt-python to lastest version of 10.6.0, but also meet the error: module 'libvirt' has no attribute 'VIR_NODE_DEVICE_CREATE_XML_VALIDATE', any advice? | |
| 09:00:01 | gibi | songwenping: the libvirt api def still documents that flag https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceCreateXMLFlagsh | |
| 09:02:14 | gibi | and I can import it in 10.5.0 | |
| 09:02:22 | gibi | bash-5.1$ rpm -qa | grep python3-libvirt | |
| 09:02:22 | gibi | python3-libvirt-10.5.0-1.el9.x86_64 | |
| 09:02:22 | gibi | bash-5.1$ python3 | |
| 09:02:22 | gibi | Python 3.9.19 (main, Jul 18 2024, 00:00:00) | |
| 09:02:22 | gibi | [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] on linux | |
| 09:02:24 | gibi | Type "help", "copyright", "credits" or "license" for more information. | |
| 09:02:27 | gibi | >>> import libvirt | |
| 09:02:29 | gibi | >>> libvirt.VIR_NODE_DEVICE_CREATE_XML_VALIDATE | |
| 09:02:32 | gibi | 1 | |
| 09:02:34 | gibi | >>> | |
| 09:03:37 | songwenping | my OS is ubuntu2204, i will try 10.5.0 | |
| 09:04:35 | gibi | hm I pulled 10.6.0 from pypi and I can still import the constant : https://paste.opendev.org/show/b0IJ31RkWUw7MvcqpReb/ | |
| 09:06:26 | frickler | should one generally use libvirt-python from the distro to match the installed libvirt? and thus not use it from pypi at all? | |
| 09:07:01 | songwenping | yeah, tried 10.5.0, still has no this attribute. | |
| 09:07:55 | gibi | frickler: I would say, use the matching version | |
| 09:16:02 | frickler | fwiw I don't see the above symbol either on 22.04, libvirt version 8.0.0-1ubuntu7.10 | |
| 09:16:57 | frickler | songwenping: do you use libvirt from ubuntu or a newer version built from source? | |
| 09:18:12 | songwenping | libvirt on ubuntu with 'pip install libvirt-python' | |
| 09:21:44 | gibi | frickler: I don't see it either in ubuntui 22.04 installed python-libvirt with apt | |
| 09:23:30 | songwenping | i replace VIR_NODE_DEVICE_DEFINE_XML_VALIDATE with 1 and the vm is created successful. | |
| 09:26:30 | frickler | I only found this single ref in nova code, does it mean this is not tested on 22.04? or does it need newer libvirt from UCA? can't check the latter right now https://opendev.org/openstack/nova/blame/branch/master/nova/virt/libvirt/host.py#L1267 | |
| 09:27:41 | gibi | nova declares libvirt min version as 8.0.0 | |
| 09:27:49 | gibi | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L221 | |
| 09:28:38 | frickler | but devstack loads uca, so maybe this isn't really tested anywhere | |
| 09:28:50 | gibi | yeah | |
| 09:29:27 | frickler | also MIN_LIBVIRT_VERSION is still 7.0.0, NEXT_MIN_LIBVIRT_VERSION is only for the future, isn't it? | |
| 09:29:56 | gibi | frickler: sorry you are right | |
| 09:30:07 | gibi | frickler: so yeah we should work with 7.0.0 | |
| 09:31:14 | gibi | but the persistent mdev feature that introduced the usage of the constant only enabled with 7.3.0 or higher https://github.com/openstack/nova/commit/74befb68a79f8bff823fe067e0054504391ee179#diff-486ddc37ce8e7c105a51566dd2cffbda034f28fae7eaad2e74abf470ab296352R248 | |
| 09:31:31 | gibi | still it seems the constant is missing in those old libvirts | |
| 09:42:18 | frickler | seems uca no longer has newer libvirt, so devstack is running with the same 8.0.0 currently that I checked. makes me wonder why tests aren't failing, or maybe there is no integrated test for mdevs? | |
| 09:42:30 | gibi | frickler: we test with 8.0.0 https://zuul.opendev.org/t/openstack/build/38facdd66a1e4e69bd6995fea4174d82/log/job-output.txt#9305 we just don't test mdevs | |
| 09:43:30 | sean-k-mooney | frickler: we dont test mdevs upstream yet | |
| 09:43:43 | sean-k-mooney | frickler: it requires us to compile a kernel module | |
| 09:43:49 | gibi | I think we will test is via https://review.opendev.org/q/topic:%22mtty_support%22 | |
| 09:43:55 | sean-k-mooney | frickler: bauzas is currently working on a job for that | |
| 09:44:12 | sean-k-mooney | gibi: yep that the series | |
| 09:44:48 | sean-k-mooney | although at the moment bauzas is working on it in a different job instead of nova-next like we orginally proposed | |
| 09:44:52 | gibi | frickler, sean-k-mooney: so to conclude we have a bug on master as with libvirt 7.3.0 (or 8.0.0) the persistent mdev feature does not work due to the missing constant libvirt.VIR_NODE_DEVICE_CREATE_XML_VALIDATE | |
| 09:45:05 | gibi | I will file a bug... | |
| 09:45:34 | sean-k-mooney | am we are ment to have a falback | |
| 09:45:42 | sean-k-mooney | thats form melwitt's series | |
| 09:46:11 | sean-k-mooney | we only supprot persistance in a later libvirt and falback to the old way when runingon older libvirt | |
| 09:46:17 | sean-k-mooney | at least that was teh plan | |
| 09:46:44 | gibi | https://github.com/openstack/nova/commit/74befb68a79f8bff823fe067e0054504391ee179#diff-486ddc37ce8e7c105a51566dd2cffbda034f28fae7eaad2e74abf470ab296352R248-R252 | |
| 09:46:47 | gibi | these are the checks | |
| 09:46:57 | gibi | on the libvirt version | |
| 09:47:04 | gibi | but the constant is not even in 8.0.0 | |
| 09:47:28 | sean-k-mooney | i wonder if they complied it out | |
| 09:48:31 | gibi | I don't know how to check that | |
| 09:48:49 | sean-k-mooney | that or that support came later. | |
| 09:49:31 | sean-k-mooney | https://github.com/libvirt/libvirt/blob/049846497b9e8a3eec82bfdcf3ebfe7c15e62c55/include/libvirt/libvirt-nodedev.h#L152 | |
| 09:49:43 | sean-k-mooney | so that looks liek the validation is a 8.10.0 feature | |
| 09:49:45 | gibi | https://github.com/libvirt/libvirt/commit/d8791c3c7caa6e3cadaf98a5a2c94b232ac30fed | |
| 09:50:01 | gibi | yeah I found the same thing | |
| 09:50:29 | sean-k-mooney | so looking at that | |
| 09:50:36 | sean-k-mooney | the validation was only added in 8.10. | |
| 09:50:37 | gibi | so we either need to remove the flag or change the version guard | |