| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-08-30 | |||
| 19:00:45 | tzumainn | 2018-08-30 17:00:51.142 7 ERROR nova.compute.manager Traceback (most recent call last): | |
| 19:00:45 | tzumainn | 05cc-e872-49aa-aff4-1a91278b5cb3.: NotImplementedError: Cannot load 'id' in the base class | |
| 19:00:45 | tzumainn | 018-08-30 17:00:51.142 7 ERROR nova.compute.manager [req-73ba9d4b-b51d-4ab7-88c8-5fc3f27fd89e - - - - -] Error updating resources for node 0e57\ | |
| 19:00:47 | tzumainn | ailable_resource_for_node | |
| 19:00:57 | tzumainn | anyone have experience with this? sorry if the questions are vague, I'm a bit new to this | |
| 19:17:26 | mriedem | melwitt: jungleboyj: is there a specific nova/cinder etherpad for the ptg? i just see a topic section for cinder on thursday in the nova ptg | |
| 19:18:13 | melwitt | mriedem: not that I know of. I suggested people add topics on the nova ptg etherpad in the section in my email to the ML | |
| 19:18:32 | melwitt | we can have a separate etherpad to link to if you want | |
| 19:21:37 | mriedem | ack | |
| 19:21:47 | openstackgerrit | Eric Fried proposed openstack/nova master: Fix reshaper report client functonal test nits https://review.openstack.org/598330 | |
| 19:22:22 | melwitt | tzumainn: can you pastebin the full traceback? | |
| 19:23:34 | tzumainn | melwitt, it's at http://pastebin.test.redhat.com/639596 | |
| 19:25:34 | melwitt | thanks | |
| 19:27:46 | mriedem | how about a public paste? | |
| 19:28:03 | mriedem | paste.openstack.org or gist.github.com | |
| 19:28:21 | tzumainn | whoops, sorry! | |
| 19:29:43 | tzumainn | melwitt, http://paste.openstack.org/show/729177/ | |
| 19:29:51 | melwitt | the error is saying there's the 'id' field missing from the ComputeNode object, which means it wasn't created/obtained from the database (where the 'id' field comes from). but in the code, I see a cn.create() before _setup_pci_tracker is called, so 'id' should be populated | |
| 19:29:59 | mriedem | cdent: vmware ci might be hitting the same scheduling issues? http://207.189.188.190/logs/16/270116/12/check-vote/ext-nova-zuul/7a47690/ | |
| 19:30:04 | mriedem | lots of novalidhost in there | |
| 19:30:11 | mriedem | that's on the live migration for vmware change | |
| 19:30:12 | melwitt | tzumainn: what release is this? | |
| 19:30:17 | tzumainn | melwitt, this is rocky | |
| 19:30:25 | melwitt | ok | |
| 19:31:40 | mriedem | i was going to say https://review.openstack.org/#/c/520024/ but that's not in rocky | |
| 19:33:36 | melwitt | heh, that patch again | |
| 19:34:10 | mriedem | it's in the same code path | |
| 19:36:31 | mriedem | by the time we call _setup_pci_tracker there in that block on L563 we should have an existing instance, either created from the RT or pulled from the DB | |
| 19:36:41 | mriedem | *existing compute node record | |
| 19:36:54 | melwitt | yeah, according to the trace, the ComputeNode object in self.compute_nodes has no 'id' field populated | |
| 19:37:26 | melwitt | so there must be a way we're adding things to self.compute_nodes that are object shells, not gotten from the DB or newly created | |
| 19:41:31 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Default AZ for instance if cross_az_attach=False and checking from API https://review.openstack.org/469675 | |
| 19:49:07 | cdent | thanks mriedem will do some poking and prodding | |
| 19:49:50 | openstackgerrit | Chris Dent proposed openstack/nova master: VMware: Live migration of instances https://review.openstack.org/270116 | |
| 19:52:12 | mriedem | tzumainn: which virt driver? libvirt? ironic? | |
| 19:52:21 | mriedem | and are you doing anything when this happens? | |
| 19:52:35 | melwitt | it's ironic | |
| 19:52:39 | mriedem | like, is this on start of nova-compute or during a periodic task? | |
| 19:52:48 | mriedem | hmmm, is a rebalance happening? | |
| 19:53:10 | tzumainn | mriedem, ah, this is ironic - I've just enrolled four nodes, and am trying to figure out why they don't show up in 'openstack hypervisor list' | |
| 19:53:56 | mriedem | they won't show up in openstack hypervisor list until you've "discovered" them | |
| 19:54:02 | mriedem | see the nova-manage cell_v2 discover_hosts command | |
| 19:54:07 | mriedem | you'll need to discover by service | |
| 19:55:12 | tzumainn | ah, okay! I wasn't aware - I'm following the instructions in http://tripleo.org/install/advanced_deployment/baremetal_overcloud.html which I guess are out of date | |
| 19:56:26 | melwitt | the traceback was unrelated then. still don't see how the condition of no 'id' on a ComputeNode in self.compute_nodes can happen (thought it obviously can happen somehow) | |
| 19:56:43 | mriedem | yeah i don't really know how that's being hit | |
| 19:57:13 | mriedem | tzumainn: no idea re tripleo deployment, they have their own irc channel for that | |
| 19:57:16 | melwitt | remove_node removes things from the dict if orphaned, all of the setting of self.compute_nodes seem to be covered by actual DB gets or creates. weird | |
| 19:57:17 | mriedem | plus like 50 red hat cores | |
| 19:58:39 | tzumainn | mriedem, haha, yep - I started out talking with some ironic folks, and confusion all around has led me here : ) | |
| 19:58:55 | tzumainn | thanks for the information, I really appreciate it! | |
| 19:59:30 | mriedem | maybe related to https://review.openstack.org/#/c/587922/ ? | |
| 20:00:19 | jungleboyj | mriedem: I don't have a separate one. Asked people to mark the topics and then I was going to collect them up. | |
| 20:00:22 | mriedem | remove_node should likely be in the same semaphore as _update_available_resource_for_node | |
| 20:00:52 | mriedem | i guess i already said that https://review.openstack.org/#/c/587922/2/nova/compute/resource_tracker.py | |
| 20:01:21 | mriedem | so self.old_resources will default a ComputeNode object if an entry isn't in the dict... | |
| 20:02:25 | zigo | mriedem: Should I try your patch at https://review.openstack.org/#/c/598176/ and report the result? | |
| 20:02:45 | melwitt | does self.compute_nodes refer to self.old_resources at all? | |
| 20:03:01 | mriedem | they are compared in _resource_change | |
| 20:03:11 | mriedem | to determine if we should call ComputeNode.save() | |
| 20:03:28 | mriedem | zigo: we aren't going to ship that revert i don't think so probably would be a waste of your time | |
| 20:04:13 | zigo | mriedem: If it's only a temporary fix that I can use to validate all of Rocky, that's nice already, then I can still remove the patch... | |
| 20:04:34 | zigo | Hum... | |
| 20:04:39 | zigo | It doesn't apply at all anyway. | |
| 20:05:12 | zigo | mriedem: This wasn't in rocky. | |
| 20:05:16 | mriedem | cdent: melwitt: was also wondering if this somehow is contributing to the allocation ratio bug https://review.openstack.org/#/c/518294/ | |
| 20:05:19 | mriedem | but that was in queens | |
| 20:05:27 | mriedem | zigo: right | |
| 20:05:56 | melwitt | ack | |
| 20:06:44 | zigo | mriedem: Could you see something with the added logs in https://review.openstack.org/#/c/597175/ ? | |
| 20:06:54 | zigo | Both your patches were added there ... | |
| 20:06:58 | zigo | (the ones for logging...) | |
| 20:08:07 | mriedem | i added more debug logs this morning after a recreate in the xen ci, was just about to check those results | |
| 20:08:42 | mriedem | tzumainn: you might want to report a nova bug regardless so we don't lose track of what you hit | |
| 20:08:52 | mriedem | i'm not sure *how* you're hitting it, but that seems to be the theme this week with all bugs | |
| 20:09:00 | mriedem | "how in the hell is this even possible?" | |
| 20:09:12 | tzumainn | mriedem, hahaha - okay, I'll do that, thanks! | |
| 20:09:58 | openstackgerrit | Merged openstack/nova master: Report client: _reshape helper, placement min bump https://review.openstack.org/585034 | |
| 20:10:00 | mriedem | dansmith: is it weird that ComputeNode.save() doesn't check to see if 'id' is changed? | |
| 20:10:01 | mriedem | or not set? | |
| 20:10:31 | dansmith | create or save? | |
| 20:10:32 | mriedem | i guess if it weren't set we'd blow up | |
| 20:10:33 | mriedem | save | |
| 20:10:36 | melwitt | I was thinking save() would just fail if there's no id, because then how could it find the thing to update | |
| 20:10:46 | dansmith | not sure we usually check that it's set on save, but we could | |
| 20:11:01 | dansmith | on create we usually check to avoid re-create | |
| 20:11:03 | mriedem | melwitt: right we'd blow up if id wasn't set on save | |
| 20:11:07 | melwitt | yeah | |
| 20:11:08 | mriedem | yeah we check on create | |
| 20:11:18 | mriedem | i was wondering if id changed though and we saved | |
| 20:11:51 | mriedem | i guess we don't really check for that anywhere | |
| 20:11:54 | dansmith | we pop id out of the changes, | |
| 20:12:03 | melwitt | even if we did, that doesn't explain the complete lack of an 'id' on a ComputeNode object in self.compute_nodes | |
| 20:12:04 | dansmith | but I guess we try to save anyway even if that was the only thing | |
| 20:12:50 | melwitt | I still don't see how we could lose that, even with the self.old_resources compare | |
| 20:13:23 | dansmith | if id is actually not set then it's either an object created with no id (not from the db) or someone del'd it off an objet | |
| 20:13:24 | mriedem | i don't either, i was wondering if we were getting a blank ComputeNode from old_resources which uses defaultdict and somehow shoved that blank one into self.compute_nodes | |
| 20:13:25 | mriedem | but we don't | |
| 20:13:51 | melwitt | yeah | |
| 20:16:17 | mriedem | there is a very small window where self.compute_nodes could have a ComputeNode in it without an id | |