bauzas | happy implementation review day everyone | 08:26 |
---|---|---|
bauzas | as a reminder, please look at https://etherpad.opendev.org/p/nova-caracal-status | 08:26 |
gibi | o/ | 08:26 |
bauzas | gibi: ah was just adding your line :p | 08:28 |
gibi | :) | 08:28 |
dvo-plv | 0/ | 08:40 |
gboutry1 | Hi nova, I'm trying to setup live migration and the migration is failing at the step compareHypervisorCPU with CPU doesn't have compatibility. | 09:46 |
gboutry1 | I'm running an openstack cloud on two identical VMs, each running an hypervisor. here's the capabilities: https://pastebin.ubuntu.com/p/cvvngtk4PG/ | 09:46 |
gboutry1 | I've tried virsh cpu-compare cpu.xml, which returns CPU described in cpu.xml is identical to host CPU | 09:46 |
gboutry1 | When using virsh hypervisor-cpu-compare cpu.xml, I get: CPU described in cpu.xml is incompatible with the CPU provided by hypervisor on the host | 09:46 |
gboutry1 | Is there anyway to get what's the reason hypervisor-cpu-compare is failing ? | 09:46 |
*** ykarel|away is now known as ykarel | 10:06 | |
gboutry1 | Adding the --error flag, I get the following error: error: the CPU is incompatible with host CPU: Host CPU does not provide required features: ht, osxsave, ospke, waitpkg | 10:22 |
gboutry1 | But I can clearly see them in virsh capabilities | 10:23 |
gibi | gboutry1: you might hit by https://bugs.launchpad.net/nova/+bug/2039803 | 12:32 |
gboutry1 | thanks gibi, it looks close enough, do you know what's the workaround sean-k-mooney is talking about ? Maybe setting the cpu_mode to custom with a cpu model instead of configuring with host-model ? | 12:38 |
sean-k-mooney | loading context | 12:44 |
sean-k-mooney | but i belvie there are two workarounds | 12:45 |
sean-k-mooney | https://docs.openstack.org/nova/latest/configuration/config.html#workarounds.skip_cpu_compare_on_dest | 12:45 |
sean-k-mooney | or ya using a custom model might also work | 12:45 |
gibi | bauzas: how do you feel about https://review.opendev.org/c/openstack/nova/+/831193/34#message-95b03db3501a7b105700779fb484b5cf740087ea is this style difference worth a respin? | 13:00 |
gibi | (it is not formatting style difference) | 13:00 |
sean-k-mooney | it proably should use the ovo approch | 13:14 |
sean-k-mooney | this is not really an area i look at much in the code base so im generally less opinonated about hwo this is done | 13:15 |
gibi | yeah I don't know all the possible consequences of our common style so I cannot fully judge what this departure means. At a first glance what Uggla_ wrote works | 13:25 |
sean-k-mooney | i think it might be more error prone if we are adding filed perhaps but maybe not | 13:26 |
sean-k-mooney | in general a new object filed results in a new db field too so there is some benifit to delegating to the object implemention | 13:27 |
sean-k-mooney | presumably if we only set the filed that changed | 13:27 |
sean-k-mooney | there is a minutly smaller db update | 13:27 |
gibi | bottom line I won't block on this just wanted to highlight as others might have a reason to block on this :) | 13:29 |
sean-k-mooney | melaine or dan may have input. jay certenly would have had an opion on it but i cant guess what that would have been | 13:31 |
gibi | :) | 13:33 |
gibi | I miss Jay | 13:33 |
sean-k-mooney | so do i, but he has moved on to better things. he is still aroudn the k8s ecosystem i belive | 13:34 |
sean-k-mooney | as in he sometimes attends kubecon | 13:34 |
gibi | yeah when I started the k8s operator work I found his work in github doing k8s operators for aws services | 13:48 |
bauzas | gibi: sean-k-mooney: sorry guys was disconnecting a bit after a huge load | 14:54 |
bauzas | gibi: context, about calling the DB directly from the object ? | 14:55 |
gibi | bauzas: it is the way the db update is implemented by passing individual fields instead of passing an updates dict | 14:55 |
gibi | we tend to use obj_get_changes and get the dict and pass it to SQLA update() call | 14:56 |
gibi | s/and/to/ | 14:56 |
bauzas | I don't disagree with you, see the other comment from PS17 | 14:57 |
bauzas | https://review.opendev.org/c/openstack/nova/+/831193/comment/6cfa2a63_4b585a14/ | 14:58 |
bauzas | tl;dr: yeah we no longer need to create a specific interface for API DB | 14:58 |
bauzas | that said, given the number of changes we have, maybe we should just ask for a new follow-up change | 14:59 |
*** d34dh0r5- is now known as d34dh0r53 | 15:00 | |
dvo-plv | hello, All | 15:02 |
dvo-plv | I have a question regarding this comment | 15:02 |
dvo-plv | https://review.opendev.org/c/openstack/nova/+/876075/27/nova/api/validation/extra_specs/hw.py#540 | 15:02 |
sean-k-mooney | bauzas: sure this coudl be defered to a follow up patch | 15:02 |
sean-k-mooney | functionlaly it woudl eb equivalent | 15:02 |
dvo-plv | Do those docs are located in the doc folder in nova project, or I should find them anywhere else ? | 15:02 |
bauzas | dansmith: so you'll provide a new revision for https://review.opendev.org/c/openstack/nova/+/892800/ ? | 15:06 |
dansmith | bauzas: in minutes | 15:06 |
dansmith | that function isn't even used yet, I just added it for symmetry, but I'm changing it anyway | 15:06 |
bauzas | honestly, I'm fine with using 'assert', we already have a few calls for it in Nova IIRC | 15:06 |
opendevreview | Dan Smith proposed openstack/nova master: Support setting alias on libvirt disks https://review.opendev.org/c/openstack/nova/+/892800 | 15:07 |
opendevreview | Dan Smith proposed openstack/nova master: Set libvirt device alias for volumes https://review.opendev.org/c/openstack/nova/+/892801 | 15:07 |
opendevreview | Dan Smith proposed openstack/nova master: Detach disks using alias when possible https://review.opendev.org/c/openstack/nova/+/893068 | 15:07 |
dansmith | me too | 15:07 |
dansmith | it's more that it might be used to parse any alias, and thus be surprising, but the intent was (of course) to only use it to extract the identifier out of the user-specified format | 15:08 |
dansmith | but when I start using that we can see what makes the most sense | 15:08 |
dansmith | sean-k-mooney: on the volume id thing, I think that what I was seeing was actually our retries after we detach a volume, we go back and look it up to make sure it's gone, | 15:13 |
bauzas | anyway, /me just looks at your new revision | 15:13 |
dansmith | and we'll always fall back to the "old way" because we don't find it via alias (because it's gone) | 15:13 |
sean-k-mooney | dansmith: ack gone form the trainistae domain right | 15:14 |
dansmith | so I changed how we do that log to only log if we found it via the old way but not the new way, so we'll see how that looks | 15:14 |
dansmith | sean-k-mooney: well, both | 15:14 |
sean-k-mooney | or or just gone because it was detached in between | 15:14 |
dansmith | gone because we do get_disk(); detach(); get_disk() | 15:14 |
sean-k-mooney | ah ya ok | 15:14 |
dansmith | the latter will always fail to find via alias (because it's gone) and try the fallback | 15:14 |
sean-k-mooney | yep that makes sense | 15:15 |
sean-k-mooney | dansmith: on the assert thing do we want to put that back in the gate and revisit when you use it later or were you going to respin that anyway | 15:17 |
bauzas | yeah, in the spec we said we would try to use the alias but we could still support the the previous behaviour | 15:18 |
bauzas | so, everything looks good to me here | 15:19 |
bauzas | but I could be wrong | 15:19 |
sean-k-mooney | i think dansmith just wanted to understand why they were seeing the log message when they were not expecting too and now with the new version wants to minimise the false positives | 15:20 |
dansmith | the assert is in code that isn't even used, so it's really irrelevant | 15:26 |
dansmith | I'd rather just merge it as-is and if we start using it on one way or the other we can add the assert back or not | 15:26 |
dansmith | unrelated to the log message | 15:26 |
dansmith | sean-k-mooney: and I already respun to do that | 15:27 |
sean-k-mooney | ack | 15:27 |
bauzas | sean-k-mooney: good call on the libvirt api not supporting to query per alias | 15:32 |
bauzas | that's sad at least | 15:32 |
bauzas | but I wonder, maybe we have a get device per alias | 15:32 |
sean-k-mooney | we as in nova | 15:33 |
sean-k-mooney | i dont think so | 15:33 |
sean-k-mooney | but we can always ask the virt folks if this exists elsewhere in the python lib | 15:33 |
bauzas | but I don't see anything in https://libvirt.org/html/libvirt-libvirt-nodedev.html | 15:33 |
bauzas | we have a cap flag but not an alias one | 15:34 |
bauzas | https://libvirt.org/html/libvirt-libvirt-nodedev.html#virConnectListAllNodeDevices doesn't know a single bit about aliases | 15:35 |
bauzas | actually, I'm wrong, nodedev is only for host devices, here we're talking of guest devices hence the domain API | 15:41 |
opendevreview | Merged openstack/nova stable/2023.2: add a regression test for all compute RPCAPI 6.x pinnings for rebuild https://review.opendev.org/c/openstack/nova/+/900309 | 15:52 |
bauzas | one down, two to go | 15:53 |
opendevreview | Jay Faulkner proposed openstack/nova master: WIP: [ironic] Partition & use cache for list_instance* https://review.opendev.org/c/openstack/nova/+/900831 | 17:27 |
bauzas | stephenfin: or other lords of mypy: could someone tell me how to tell f..k to mypy here https://review.opendev.org/c/openstack/nova/+/899625/4/nova/virt/libvirt/driver.py#7975 ? | 17:36 |
bauzas | mypy isn't able to infer that the variable will never be None in that case | 17:36 |
JayF | Does it need to be a Tuple[str, Optional[Any]]? | 17:38 |
melwitt | bauzas: I think it's just that you need to use a % there instead of a comma? | 17:39 |
JayF | Any implies none per https://mypy.readthedocs.io/en/stable/kinds_of_types.html#the-any-type | 17:39 |
bauzas | melwitt: not in LOG() | 17:39 |
melwitt | but you're assembling the message separately before calling LOG.blah(..., ..., ...) | 17:39 |
bauzas | JayF: I guess I'll need to annotate the first call | 17:40 |
JayF | I think melwitt is right | 17:40 |
melwitt | you could do LOG.warning("mdev type default already set to %s", self.pgpu_type_default) | 17:40 |
dansmith | sean-k-mooney: yep, that was the problem with the falling-back log message, so that top patch should be good :) | 17:40 |
bauzas | I can try | 17:40 |
melwitt | but if you're making the string beforehand the comma won't work. LOG is the thing that handles the comma | 17:40 |
stephenfin | yeah, what melwitt said. That would have introduced a bug | 17:41 |
bauzas | ok | 17:42 |
bauzas | respinning pep8 locally to see whether that fixes my problem | 17:42 |
bauzas | uh, actually that's a separate tox target | 17:43 |
stephenfin | iirc we run all linters as part of the pep8 env. mordred had an idea of renaming pep8 to linters across projects years ago but backed off the idea | 17:46 |
stephenfin | too much work, too little ROI | 17:46 |
JayF | Ah, so that's why it's inconsistent everywhere now :-| | 17:46 |
stephenfin | afraid so | 17:47 |
stephenfin | bauzas: btw, https://review.opendev.org/c/openstack/nova/+/899979 is waiting for your doc eyes when you get a chance. There are references to AZs in there that melwitt thought you might have opinions on | 17:47 |
bauzas | stephenfin: ack, a bit overloaded as of now, but I'll look at it tomorrow morning | 17:49 |
stephenfin | nw, thanks (y) | 17:49 |
admin1 | > i accidentally mapped an IP to a wrong node .. i deleted it from inventory and compute service .. and gave the correct node to the IP .. but when i provision it, it still comes up wiht the old hostname .. which nova/placement table holds this record so that i can map the uuid to the correct hostname | 18:12 |
*** JasonF is now known as JayF | 18:47 | |
opendevreview | Jay Faulkner proposed openstack/nova master: WIP: [ironic] Partition & use cache for list_instance* https://review.opendev.org/c/openstack/nova/+/900831 | 19:27 |
mgariepy | hmm any pointer on : Migration pre-check error: Unacceptable CPU info: CPU doesn't have compatibility ? | 19:58 |
mgariepy | same server model cpu memory and all | 19:58 |
mgariepy | with 2023.1 release. | 19:58 |
opendevreview | Merged openstack/nova stable/2023.2: Fix rebuild compute RPC API exception for rolling-upgrades https://review.opendev.org/c/openstack/nova/+/900338 | 20:10 |
mgariepy | hmm like this one : https://bugs.launchpad.net/nova/+bug/2039803 | 20:17 |
opendevreview | melanie witt proposed openstack/nova master: Support create with ephemeral encryption for qcow2 https://review.opendev.org/c/openstack/nova/+/870932 | 20:38 |
opendevreview | Jay Faulkner proposed openstack/nova master: [ironic] Partition & use cache for list_instance* https://review.opendev.org/c/openstack/nova/+/900831 | 21:26 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!