| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-05-09 | |||
| 14:39:35 | mriedem | efried: tssurya: it should be a 2 part series at least, | |
| 14:39:37 | ganso | mriedem: I have confirmed that the database has the value "2", so the database is wrong | |
| 14:39:41 | tssurya | efried: oh didn't realise in_tree was there in Stein since it was used only in train | |
| 14:39:52 | tssurya | but what you said makes sense | |
| 14:39:56 | mriedem | tssurya: but the bug goes back further than that | |
| 14:39:57 | efried | tssurya: I *think* it's in stein, sec... | |
| 14:40:06 | mriedem | in_tree usage in nova is new in train | |
| 14:40:08 | mriedem | from tetsuro | |
| 14:40:35 | tssurya | mriedem: yup I think the bug is from rocky, and it would be good for us to have it in rocky | |
| 14:41:02 | mriedem | it probably goes back further than that | |
| 14:41:12 | mriedem | my guess is pike | |
| 14:41:39 | efried | tssurya: Confirmed, in_tree is in Stein. | |
| 14:41:43 | efried | So you could do this in three parts. | |
| 14:41:51 | mriedem | efried: in_tree is in stein in placement right? | |
| 14:41:57 | efried | yes --^ | |
| 14:42:00 | efried | 1.31 | |
| 14:42:00 | mriedem | but the nova object usage of it is not | |
| 14:42:07 | efried | does that matter? | |
| 14:42:14 | mriedem | if you're using versioned objects it does yes | |
| 14:42:24 | efried | versioned objects | |
| 14:42:34 | efried | you mean the RequestSpec? | |
| 14:42:39 | mriedem | RequestGroup | |
| 14:42:40 | mriedem | but yes | |
| 14:42:52 | mriedem | https://review.opendev.org/#/q/topic:bug/1777591+(status:open+OR+status:merged) | |
| 14:43:29 | mriedem | it's really 2 changes, one to backport which just disables the limit if the server is in a group | |
| 14:43:34 | efried | groan, okay. | |
| 14:43:43 | mriedem | and another to be smarter about in_tree if it's in a strict affinity policy | |
| 14:43:49 | mriedem | but noting that ^ is racy | |
| 14:44:34 | tssurya | mriedem, efired: ok so we stick to what we discussed in the ptg right ? | |
| 14:44:49 | tssurya | the new in_tree affinity thing stays in train then | |
| 14:45:12 | tssurya | mriedem: yea you might be right, I can trace it back to at least queens | |
| 14:45:16 | mriedem | max_placement_results was new in queens so i guess it goes to queens | |
| 14:45:33 | mriedem | ganso: no not hypervisor list, sec | |
| 14:45:40 | efried | tssurya: That's not my favorite misspelling of my handle. | |
| 14:46:02 | mriedem | she's channeling her inner trump | |
| 14:46:04 | tssurya | efried: yikes, I didn't even realised I missplled it :D | |
| 14:46:21 | mriedem | tssurya is a big fan, some are saying the biggest fan | |
| 14:46:27 | mriedem | folks | |
| 14:46:37 | tssurya | mriedem: :P | |
| 14:46:37 | efried | anyway, +2 on this patch, thanks for explaining | |
| 14:47:17 | tssurya | thanks efried, mriedem | |
| 14:47:20 | mriedem | ganso: more like this https://docs.openstack.org/python-novaclient/latest/cli/nova.html#nova-hypervisor-servers | |
| 14:47:40 | mriedem | ganso: i'm wondering if ^ will show 4 for that node while running_vms shows 2 | |
| 14:47:46 | ganso | mriedem: oh I see! | |
| 14:47:52 | ganso | mriedem: will run it and report back! | |
| 14:47:53 | mriedem | if ^ shows 2 servers as well, then you have some issue | |
| 14:48:07 | mriedem | like, the db might say 2 of those guests you think are on that node actually aren't | |
| 14:48:12 | mriedem | e.g. failed live migration or something | |
| 14:50:08 | ganso | mriedem: it does list 4 VMs! =) | |
| 14:51:00 | mriedem | ok so yeah the stats stuff is busted somehow, but you'd likely need to add logging statements to the code to debug it | |
| 14:51:55 | ganso | mriedem: ok, so... I am curious on how I could reset the value, and double check if it is being recalculated incorrectly, or if it is not being recalculated at all | |
| 14:52:42 | ganso | mriedem: like, if I restart the service (nova-cpu I'd assume), it would reset to 0 and recalculate? Does it help if I set the value to 0 in the database and then restart the service? | |
| 14:53:13 | mriedem | the periodic should set it every time | |
| 14:53:26 | mriedem | so you could set it to 0 in the db if you want and wait for the periodic to run, or restart the service | |
| 14:54:21 | ganso | mriedem: ok, will try that, thank you! | |
| 14:54:43 | openstackgerrit | Merged openstack/nova stable/rocky: Use migration_status during volume migrating and retyping https://review.opendev.org/657577 | |
| 14:59:05 | mriedem | tssurya: comments in that change, but it's not just the group hint | |
| 14:59:14 | ganso | mriedem: sorry, one more question. I am trying to track the name of the periodic task, I haven't seen periodic_task decorators or where they are registered in resource_tracker.py. But it seems the periodic task is either "update_available_resource" or another method that invokes this one. Could you please confirm? | |
| 14:59:15 | mriedem | we also have same_host/different_host hints/filters | |
| 14:59:32 | mriedem | ganso: it's the ComputeManager.update_available_resource method | |
| 14:59:43 | mriedem | called on start of the compute service and in a periodic | |
| 14:59:44 | ganso | mriedem: oh it starts in the ComputeManager, thank you! | |
| 14:59:57 | tssurya | mriedem: oh hmm looking | |
| 15:01:18 | mriedem | https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#samehostfilter | |
| 15:01:41 | mnaser | so it looks like the kernel that enables nested by default (4.19) also added a gate that blocks live migrations if nested virt is enabled p | |
| 15:01:43 | jangutter | Did the ptg etherpad finally die? | |
| 15:02:10 | mnaser | ERROR nova.virt.libvirt.driver [-] [instance: 738eb188-1545-4126-b05b-54d384e55f73] Live Migration failure: internal error: unable to execute QEMU command 'migrate': Nested VMX virtualization does not support live migration yet: libvirtError: internal error: unable to execute QEMU command 'migrate': Nested VMX virtualization does not support live migration yet | |
| 15:02:29 | mnaser | so by default vmx is enabled, so every instance is not live migratable... | |
| 15:02:32 | tssurya | mriedem: I have never used that filter before, but since I am fixing it for the other two filters, I will update the patch for this one as well | |
| 15:02:54 | tssurya | and https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#differenthostfilter like you have said | |
| 15:03:21 | mriedem | i really wish we could functionally test this code to recreate the bug but i don't think there is an easy way to do that | |
| 15:03:35 | tssurya | jangutter: I have been trying to access it too :( not sure if someone has a backup | |
| 15:04:38 | tssurya | mriedem: you mean the bug I am working on ? | |
| 15:11:14 | mriedem | tssurya: yes | |
| 15:11:36 | mriedem | but there isn't really a good way to do that with functional tests that don't involve stubbing placement responses, which defeats the purpose of a functional test | |
| 15:14:45 | mnaser | I’m trying to figure out how I can make both nested virt available as an opt in | |
| 15:15:09 | mnaser | But also without making complicated host aggregates and flavour explosion | |
| 15:18:29 | mriedem | required trait on vmx? | |
| 15:20:44 | mriedem | libvirt computes with vmx enabled would report the HW_CPU_X86_VMX trait right? | |
| 15:20:59 | mriedem | and you could have flavors and/or images which require that trait so the user can opt into nested virt that way | |
| 15:30:50 | mriedem | live migration is going to be hairy though right? because you could have instances land on those hosts that don't want nested virt and then you can't live migrate them? | |
| 15:31:13 | mriedem | not sure if "Live Migration failure: internal error: unable to execute QEMU command 'migrate': Nested VMX virtualization does not support live migration yet: libvirtError: internal error: unable to execute QEMU command 'migrate': Nested VMX virtualization does not support live migration yet" is a problem if vmx is on the source, dest or both | |
| 15:31:28 | mnaser | right, but then the idea is to make it opt-in and have a note that says "you won't be live migrated if you enable nested virtualize" | |
| 15:31:32 | mnaser | virt* | |
| 15:31:38 | mriedem | my point is, | |
| 15:31:45 | mriedem | the people that aren't opting in could still land on those hosts | |
| 15:31:52 | mriedem | i.e. this is the exclusion problem in the scheduler | |
| 15:31:59 | mriedem | for which forbidden aggregates are going to be used | |
| 15:32:16 | mriedem | https://specs.openstack.org/openstack/nova-specs/specs/train/approved/placement-req-filter-forbidden-aggregates.html | |
| 15:33:00 | mriedem | i'm not sure how you get around this without aggregates | |
| 15:34:59 | mnaser | hmm, so its not necessarily possible to "request" a custom cpu flag for a specific instance | |
| 15:36:55 | openstackgerrit | Rodrigo Barbieri proposed openstack/nova stable/queens: [DEBUG] Add functional confirm_migration_error test https://review.opendev.org/658136 | |
| 15:37:12 | openstackgerrit | Dan Smith proposed openstack/nova master: Update the contributor doc for macos https://review.opendev.org/658137 | |
| 15:37:21 | dansmith | trivial contributor doc update ^ | |
| 15:43:58 | bnemec | efried: Would you be able to add the nova-specific freeze dates to https://releases.openstack.org/train/schedule.html ? | |
| 15:44:03 | bnemec | The keystone patch is a good example: https://review.opendev.org/#/c/653544/ | |
| 15:44:22 | bnemec | It came up last week that people were surprised by some Nova freeze dates so it would be good to get them on the common schedule. | |
| 15:44:38 | efried | bnemec: can do. I think melwitt conveniently created the schedule a month or two ago in the wiki, please hold. | |
| 15:44:54 | efried | bnemec: https://wiki.openstack.org/wiki/Nova/Train_Release_Schedule | |
| 15:44:55 | mriedem | mnaser: the user would request via the flavor/image which would have the required cpu flag as a trait | |