| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-03-14 | |||
| 20:34:51 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Deal with cross-cell resize in _remove_deleted_instances_allocations https://review.openstack.org/639453 | |
| 20:34:53 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add RevertResizeTask https://review.openstack.org/638046 | |
| 20:34:53 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add finish_revert_snapshot_based_resize_at_source compute method https://review.openstack.org/637647 | |
| 20:34:54 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add revert_snapshot_based_resize conductor RPC method https://review.openstack.org/638047 | |
| 20:34:55 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Confirm cross-cell resize while deleting a server https://review.openstack.org/638268 | |
| 20:34:55 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Revert cross-cell resize from the API https://review.openstack.org/638048 | |
| 20:34:56 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add CrossCellWeigher https://review.openstack.org/614353 | |
| 20:34:57 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add cross-cell resize policy rule and enable in API https://review.openstack.org/638269 | |
| 20:37:45 | mgoddard | hi nova. Hitting an issue on ubuntu bionic where libvirt has a guest arch (armv6l) unknown to nova, causing nova-compute to error | |
| 20:38:02 | mgoddard | InvalidArchitectureName: Architecture name 'armv6l' is not recognised | |
| 20:38:11 | mgoddard | http://logs.openstack.org/08/643308/4/check/kolla-ansible-ubuntu-source/eee856d/primary/logs/kolla/nova/nova-compute.txt.gz#_2019-03-14_19_11_31_709 | |
| 20:38:27 | mgoddard | Is this a known issue? | |
| 20:42:03 | mgoddard | qemu 2.11.1 | |
| 20:42:21 | mgoddard | libvirt 4.0.0 | |
| 20:43:40 | melwitt | looks like it, if the arch isn't in this list, calls to canonicalize() will raise that exception https://github.com/openstack/nova/blob/master/nova/objects/fields.py#L102 | |
| 20:44:49 | mgoddard | melwitt: better hope no one invents any new arches after a nova release then :) | |
| 20:45:00 | melwitt | haha, yeah | |
| 20:45:14 | melwitt | I don't know the story behind it, dansmith or someone might know | |
| 20:45:28 | dansmith | the story behind why we have enums? | |
| 20:45:39 | mgoddard | melwitt: I'll push a patch for armv6l, but maybe an item for the nova team TODO list to make it a bit more resilient to the unknown? | |
| 20:46:04 | melwitt | dansmith: yeah, why it's a limited set that has to be added to when new arch arrive | |
| 20:46:15 | dansmith | melwitt: kindof the definition of an enum right? | |
| 20:46:32 | melwitt | dansmith: well, ok, then yes, why we have enum. you know what I mean | |
| 20:46:38 | dansmith | we have enums for known image properties so one we don't support doesn't sneak into place, and we have enums for virt drivers for ... | |
| 20:47:18 | dansmith | I mean, everything on the wire could just be strings and dicts, but, the whole point of this stuff was to nail it down so we could tell when something changed | |
| 20:47:37 | melwitt | mgoddard: in what way, a better error maybe? like ArchitectureUnknown? | |
| 20:47:57 | mgoddard | the problem here is that a new arch in libvirt capabilities causes nova-compute to fail | |
| 20:48:22 | mgoddard | it doesn't have to support the arch, but it shouldn't break everything else | |
| 20:49:15 | dansmith | sure, so the driver maybe should catch the failure to set the enum, log an error and exit on startup | |
| 20:50:21 | mgoddard | exit? | |
| 20:50:30 | melwitt | nova meeting in 10 min | |
| 20:51:05 | mgoddard | I don't think that libvirt adding an obscure new arch should break nova | |
| 20:51:24 | dansmith | mgoddard: I haven't clicked on your link so I don't know what's happening specifically | |
| 20:51:46 | dansmith | mgoddard: obviously if it's just a new supported emulated arch, then the driver just needs to not fail when it can't set that on an object, for sure | |
| 20:51:54 | mgoddard | dansmith: +1 | |
| 20:51:58 | melwitt | ok, looks like update_available_resource is raising because of the unknown arch | |
| 20:52:08 | dansmith | mgoddard: if it's something more fundamental like it's the native system arch or something, it would make sense for it to not start if it isn't going to function | |
| 20:52:56 | melwitt | I know we've talked before about whether we should except-continue for things that raise during update_available_resource. maybe this would be an acceptable one. for anything else, we let it halt | |
| 20:53:19 | openstackgerrit | Eric Fried proposed openstack/nova master: WIP/PoC: Bypass ironicclient for node.get https://review.openstack.org/642899 | |
| 20:53:28 | dansmith | it of course depends on the context of the issue | |
| 20:53:38 | dansmith | if it's unable to do something fundamental, it should abort | |
| 20:54:05 | dansmith | if it just can't expose support for some thing because of a new libvirt (which is sounds like in this case) then of course it should just not break on forward compat | |
| 20:54:07 | melwitt | yeah, I mean in update_available_resource, if InvalidArchitectureName is raised | |
| 20:55:02 | dansmith | it's some virt specific place it's crashing I imagine, so it would be in there, not directly in update_available_resource() | |
| 20:55:17 | dansmith | you surely don't want the resource tracker ignoring something like ArchNotSupported | |
| 20:55:32 | dansmith | but the libvirt driver can know if it's okay to skip that | |
| 20:55:45 | melwitt | oh | |
| 20:56:00 | dansmith | _get_instance_capabilities() | |
| 20:56:11 | dansmith | just needs to catch and ignore that | |
| 20:56:13 | openstackgerrit | Mark Goddard proposed openstack/nova master: Add armv6l to Architecture enum https://review.openstack.org/643455 | |
| 20:56:15 | mriedem | this is why it breaks https://review.openstack.org/#/c/356067/ | |
| 20:56:45 | mriedem | i mean, there is no major reason for that change except "use the enums we have" | |
| 20:56:50 | mriedem | w/o considering side effects | |
| 20:57:39 | mgoddard | I'll leave this one in your capable hands - it's long past home time here. Thanks for your input | |
| 20:57:45 | dansmith | mriedem: one reason (even if presumptive) so that each driver doesn't call the arches something slightly different causing the api to return inconsistent results | |
| 20:57:46 | mriedem | it would blow up before that as well https://review.openstack.org/#/c/356067/12/nova/compute/arch.py | |
| 20:57:57 | mriedem | so this is super latent behavior | |
| 20:58:26 | mriedem | dansmith: like the 50 different ways to describe power | |
| 20:58:32 | dansmith | point being, the bug (aside from the missing arch) is just in the libvirt driver being stupid | |
| 20:59:39 | dansmith | we need a catch and ignore right here, is all: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L5942-L5945 | |
| 20:59:42 | melwitt | mgoddard: ok, thanks for letting us know. I can open a bug for that and propose a patch, if no one else wants to | |
| 21:00:23 | dansmith | melwitt: I'm already rage typing it | |
| 21:00:34 | mriedem | i would not be surprised if that value is used elsewhere though | |
| 21:00:39 | mriedem | and could blow up elsewhere | |
| 21:00:39 | melwitt | dansmith: cool | |
| 21:01:08 | dansmith | mriedem: could be, but it's clearly wrong for that loop to not continue | |
| 21:01:32 | mriedem | yeah sure | |
| 21:01:39 | mriedem | just exclude that one with a warning i guess | |
| 21:02:12 | dansmith | I don't thin it should even be that, otherwise we'll log that over and over for every instance and every run of the periodic | |
| 21:02:28 | mriedem | oh right this is the periodic | |
| 21:02:44 | mriedem | well you could log once and set a flag in the driver instance, or are you just going to exit? | |
| 21:03:16 | dansmith | no, not exit that makes no sense, just continue the loop | |
| 21:03:26 | dansmith | nova should expose whatever arches libvirt reports that it supports, that's really all | |
| 21:03:35 | dansmith | this code is intending to do that, assuming it knows about everything | |
| 21:11:38 | openstackgerrit | Dan Smith proposed openstack/nova master: Avoid crashing while getting libvirt capabilities with unknown arch names https://review.openstack.org/643458 | |
| 21:14:42 | openstackgerrit | Dan Smith proposed openstack/nova master: Avoid crashing while getting libvirt capabilities with unknown arch names https://review.openstack.org/643458 | |
| 21:26:53 | openstack | Launchpad bug 1815799 in OpenStack Compute (nova) "Attempting to delete a baremetal server places server into ERROR state" [Low,Confirmed] | |
| 21:26:53 | mriedem | jroll: TheJulia: fyi https://bugs.launchpad.net/nova/+bug/1815799 | |
| 21:27:03 | mriedem | maybe a simple retry loop in the ironic driver on node destroy would solve that | |
| 21:28:03 | TheJulia | mriedem_away: we should be able to just pass on it if if we've already started the process of deleting the node in ironic | |
| 21:36:45 | openstackgerrit | Takashi NATSUME proposed openstack/nova master: Remove mox in virt/test_block_device.py https://review.openstack.org/566153 | |
| 21:37:29 | openstackgerrit | Takashi NATSUME proposed openstack/nova master: Fix cleaning up console tokens https://review.openstack.org/637716 | |
| 21:44:22 | openstackgerrit | Marcin Juszkiewicz proposed openstack/nova master: virt/arch: use 'armv6l' for ARMV6 architecture https://review.openstack.org/643467 | |
| 21:46:33 | hrw | that ^^ change may fix Kolla CI error | |
| 21:57:17 | melwitt | dansmith ^ | |
| 22:02:54 | hrw | and sorry for writing 3rd patch to what looks the same | |
| 22:07:12 | hrw | dansmith: after reading https://review.openstack.org/#/c/643458 and https://review.openstack.org/#/c/643455 I think that 643355 is wrong, your patch is good (left comment) and mine https://review.openstack.org/643467 just fixes to comply with capabilities contents | |
| 22:07:30 | hrw | but that's me - random guy from the internet D: | |
| 22:13:24 | openstackgerrit | Merged openstack/nova master: Customize irrelevant-files for nova-live-migration job https://review.openstack.org/643346 | |
| 22:13:43 | openstackgerrit | Merged openstack/nova master: Re-enable Ceph in live migration testing https://review.openstack.org/643150 | |
| 22:21:35 | openstackgerrit | Eric Fried proposed openstack/nova master: WIP/PoC: Bypass ironicclient for node.get https://review.openstack.org/642899 | |
| 22:26:57 | dansmith | melwitt: what are you pointing me to? | |
| 22:27:25 | melwitt | dansmith: hrw's patch https://review.openstack.org/643467 | |
| 22:28:04 | melwitt | it's related to the unknown arch blowup, sort of | |
| 22:28:28 | dansmith | yeah, I'm not sure which is the official arch name and/or if they're both legit as I'm not an arm specialist | |
| 22:28:52 | dansmith | but my patch is still something we should do as (as hrw said) | |
| 22:29:12 | hrw | dansmith: armv6 armv6l depends on kernel. | |
| 22:29:13 | melwitt | hrw: if you think https://review.openstack.org/643455 is wrong, it would be helpful to put your comment on it about why. I'm curious anyway | |
| 22:29:23 | dansmith | hrw: my concern would be it might also depend on libvirt behavior | |
| 22:29:40 | melwitt | dansmith: yeah, not saying your patch isn't something we should do. just that along that line, if you knew anything about changing that enum, hrw's patch was there | |