Earlier  
Posted Nick Remark
#openstack-nova - 2018-02-16
21:24:31 fried_rice Right; the first one succeeds but the second one barfs
21:24:33 fried_rice right?
21:24:34 jroll um
21:24:43 jroll well, both fail
21:24:48 mriedem fried_rice: changing the uuid would be kinda bad
21:24:52 jroll but my um: how do we feel about adding a cn.save() here: https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py?utf8=%E2%9C%93#L525
21:25:11 fried_rice jroll: I was going to suggest that.
21:25:20 fried_rice but also not knowing if it's The Right Thing.
21:25:28 fried_rice I was also going to suggest setting the UUID before save()ing.
21:25:35 fried_rice But mriedem won't come to my birthday party if I do that.
21:25:51 jroll nah, the UUID should be fine, we're updating an existing CN
21:26:21 fried_rice But I thought that was the whole problem.
21:26:46 fried_rice btw, assuming _resource_change returns True, that .save() should be getting done at L859.
21:27:28 jroll yeah, I'm not sure it will, the schedulable resources should be the same as before, only the host attribute is changing
21:30:14 jroll ok, I get it now, we did get a new UUID, wtf
21:30:29 fried_rice w, indeed, tf
21:30:47 jroll sorry, I got confuzzled
21:31:40 jroll you know...
21:32:04 jroll does a compute_node record get deleted at some point if the compute service disappears?
21:32:13 jroll and if so, do we clean up the resource providers?
21:33:09 fried_rice I could answer that second question if I knew the answer to the first. But I don't. mriedem? (Or mriedem if you'd care to delegate, who's around who knows this stuff?)
21:33:36 jroll so um
21:33:43 jroll this is pike->queens, afaik
21:33:53 jroll can we please land https://review.openstack.org/#/c/527423/ .
21:33:56 openstackgerrit Eric Fried proposed openstack/nova master: WIP: Make sure rebalance saves the compute node https://review.openstack.org/545464
21:34:07 fried_rice jroll: Here's a quickie to make sure that save() is happening ^
21:34:40 fried_rice jroll: But where the error happens, we're clearly running that code.
21:34:45 jroll er, the one I'm looking at is queens->master
21:34:47 jroll yeah
21:35:01 fried_rice So whereas I agree we should land that backport, that's not gonna be your fix here.
21:35:15 mriedem jroll: it doesn't
21:35:20 jroll sorry, we've been having issues with this job since before queens was cut, so I've been getting confused
21:35:23 mriedem compute_nodes hang out until manually removed
21:35:29 jroll damn
21:35:56 mriedem there are some bugs that tssurya opened for removing compute nodes and providers
21:36:14 jroll I was hoping compute nodes did get deleted but not RPs
21:36:18 jroll that would explain things
21:36:26 mriedem https://bugs.launchpad.net/nova/+bug/1749734
21:36:26 openstack Launchpad bug 1749734 in OpenStack Compute (nova) "Purge the compute_node records, resource provider records and host_mappings when doing force delete of the host" [Medium,Confirmed] - Assigned to Surya Seetharaman (tssurya)
21:36:30 jroll thanks
21:37:26 fried_rice jroll: I can get a little more aggressive with the hacking.
21:38:27 jroll fried_rice: feel free, I'm just trying to wrap my head around some of this
21:38:48 jroll this seems wrong. http://logs.openstack.org/50/544750/10/check/ironic-grenade-dsvm-multinode-multitenant/d7a1ee7/logs/screen-n-cpu.txt.gz#_Feb_16_17_06_33_592313
21:39:09 jroll oh, there we are http://logs.openstack.org/50/544750/10/check/ironic-grenade-dsvm-multinode-multitenant/d7a1ee7/logs/screen-n-cpu.txt.gz#_Feb_16_17_04_22_814020
21:39:35 jroll but we can't talk to placement, so the RP stays
21:39:57 jroll because Feb 16 17:04:22.591129 ubuntu-xenial-rax-ord-0002580076 nova-compute[28778]: DEBUG nova.virt.ironic.driver [None req-969cdb75-026b-4cac-ba09-3f3be962a09d service nova] Returning 0 available node(s) {{(pid=28778) get_available_nodes /opt/stack/old/nova/nova/virt/ironic/driver.py:757}}
21:40:01 jroll because ironic is down
21:40:05 jroll got dang.
21:40:30 jroll I remember this code landing to fix something else
21:40:47 fried_rice jroll: Is there any chance that this ironic node being rebalanced has allocations?
21:41:05 jroll fried_rice: yes, we create an instance before the upgrade AFAIK
21:41:43 fried_rice So we have to do more than just delete the old RP. We have to move his allocations to the new one. This ain't gonna work.
21:41:50 jroll this crap is burning us: https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L607-L616
21:41:57 jroll right, we shouldn't be deleting the compute node or the RP
21:42:16 jroll so here's what's going on, in short:
21:42:26 fried_rice The answer is quite simply to make sure the compute node doesn't change its freakin uuid.
21:42:42 jroll n-cpu has a bunch of ironic nodes it's managing
21:42:48 jroll ironic goes down for upgrade
21:42:54 jroll n-cpu does a RT update
21:42:59 jroll n-cpu can't reach ironic
21:43:18 jroll n-cpu thinks all the ironic nodes are gone, for good, as if ironic returned I have no nodes
21:43:25 jroll n-cpu deletes the compute_node records
21:43:28 jroll ironic comes back
21:43:40 jroll n-cpu does an RT update, sees nodes, creates compute_node records
21:44:17 jroll meanwhile, n-cpu couldn't delete the resource providers from placement, and so it tries to create new ones and *boom*
21:45:02 fried_rice n-cpu deletes the compute_node records?
21:45:02 jroll btw, s/ironic goes down for upgrade/keystone goes down for upgrade/, which is why neither ironic nor placement can be reached
21:45:17 fried_rice I thought we decided that wasn't happening.
21:45:21 jroll yes
21:45:25 jroll http://logs.openstack.org/50/544750/10/check/ironic-grenade-dsvm-multinode-multitenant/d7a1ee7/logs/screen-n-cpu.txt.gz#_Feb_16_17_04_22_814020
21:45:40 jroll because: http://logs.openstack.org/50/544750/10/check/ironic-grenade-dsvm-multinode-multitenant/d7a1ee7/logs/screen-n-cpu.txt.gz#_Feb_16_17_04_22_591129
21:45:48 jroll because: https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L607-L616
21:46:42 jroll (maybe it is apache that is down, don't know, don't care, things are down and n-cpu can't deal)
21:47:44 jroll for the curious, the commit message and bug here explain why we're returning an empty list of nodes there: https://review.openstack.org/#/c/487925/
21:48:04 jroll fried_rice: that all make sense?
21:48:11 jroll TheJulia: ^ fyi, I think I nailed it down.
21:50:33 jroll thanks, my gas can is nearly empty
21:53:33 jroll turns out lying to the resource tracker is wrong, who'da thought
21:57:05 jroll so the only way n-cpu will blow up by ironic not being reachable is because of this: https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L524
21:57:10 jroll which will happen on the first RT run
21:57:54 jroll or not even? wtf
21:58:29 jroll oh, there used to be a _refresh_cache() there
21:58:54 jroll but even before 487925 we would return an empty list
21:59:57 jroll ah jeez https://github.com/openstack/nova/commit/cce06a1e9855d9eed3f7c653200853f23466d791
22:01:19 jroll hm, 5pm friday
22:01:35 fried_rice jroll: Need anything from me?
22:01:52 jroll fried_rice: whiskey may be needed
22:01:54 jroll :)
22:01:56 fried_rice Can https://review.openstack.org/545464 be abandoned?
22:02:06 jroll yes, believe so
22:02:27 fried_rice jroll: The fact that you're a time zone ahead of me indicates I have no way of getting you a bottle in time to save you.
22:02:27 TheJulia jroll: I will buy you whiskey in Dublin
22:02:34 fried_rice Yeah, that ^
22:02:36 jroll heh
22:02:57 TheJulia And next time I'm through your part of the country, I'll make a point of bringing really good whiskey on my RV
22:03:15 jroll :o <3
22:16:19 mrjk About nova.cfg, something is not clear. Let's say I've conductor, api and any other service. Most of settings are in the DEFAULT section, but is it possible to override some default parameters for a specific service ? Let's say I want to change the debug mode for only one service, and not the others ...
22:17:01 mriedem debug is global
22:17:19 mriedem as long as you have all of your controller services running on the same host, they are going to share config from the [DEFAULT] section
22:17:21 mrjk How could I find out this info by myself ?

Earlier   Later