| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-10-19 | |||
| 18:25:21 | openstackgerrit | Merged openstack/nova stable/pike: Fix sending legacy instance.update notification https://review.openstack.org/510957 | |
| 18:25:26 | openstackgerrit | Merged openstack/nova stable/pike: Keep updating allocations for Ironic https://review.openstack.org/513198 | |
| 18:25:31 | dansmith | penick_: so I'd look to see if maybe you're pegging those whereas before you were doing a bunch of direct access with lower latency? | |
| 18:26:06 | dansmith | mriedem's thing was also a single compute, so lots of contention for things in the claim process | |
| 18:26:17 | dansmith | whereas I assume penick_ has a plethora of computes | |
| 18:26:33 | dansmith | a veritable cornucopia of bountiful resources | |
| 18:26:42 | mriedem | oh yeah, i guess on _complete_deletion we are updating the rt, | |
| 18:26:45 | mriedem | which grabs the lock | |
| 18:26:48 | penick_ | The ocata clusters are all dev and qe with only a 1-5 computes each, they're sitting pretty much idle. But i'll doublecheck to make sure we don't have something else cropping up gobbling up the resources on them | |
| 18:26:52 | mriedem | and makes all of the deletes on a single node serialized | |
| 18:28:26 | ildikov | jgriffith: added some answers | |
| 18:29:04 | mriedem | so looking way back https://github.com/openstack/nova/blob/0ca98979da842f9accf0f8d8c4eb7d4f1f9eac7a/nova/compute/manager.py#L612 | |
| 18:29:07 | mriedem | before versioned objects | |
| 18:29:22 | mriedem | we always updated an instance state using that method, which also updated the RT | |
| 18:29:24 | mriedem | which grabs the lock | |
| 18:29:38 | mriedem | so we have some vestigial use of that now, updating RT unnecessarily | |
| 18:29:52 | mriedem | RT should only care if you're creating, moving or deleting an instance | |
| 18:30:00 | mriedem | not that you're setting up networking | |
| 18:31:41 | penick_ | The ocata api hosts running the conductor service are all idle | |
| 18:31:54 | dansmith | penick_: during a delete storm? | |
| 18:32:26 | penick_ | That I don't know yet, i'm going to set one up. I'll let you know what I come up with. | |
| 18:32:38 | dansmith | at idle I'd expect them to be idle ;) | |
| 18:33:15 | penick_ | But first our -juno- conductors are all exploding as they're being deployed. Gotta help the team tune those first | |
| 18:34:14 | penick_ | I set myself up for that :| | |
| 18:35:06 | melwitt | exploding meaning they won't run? or they are overloaded and you need to adjust workers? | |
| 18:38:16 | penick_ | Overloaded, we're only running 26 workers per node, on 3 nodes. Going to try adding more | |
| 18:40:48 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Don't update RT in _allocate_network https://review.openstack.org/513473 | |
| 18:51:26 | openstackgerrit | sean mooney proposed openstack/nova-specs master: Use neutron's new port binding API for live migration https://review.openstack.org/375580 | |
| 18:53:13 | melwitt | penick_: that seems like a lot to me but would have to consult dansmith. I don't remember what the sane starting point for number of workers per node is | |
| 18:54:25 | dansmith | workers per node is not a useful metric, it's workers per compute | |
| 18:54:57 | dansmith | 26*3 is a fair number of conductor workers, but if you have a thousand computes, then ... probably not insane | |
| 18:55:04 | dansmith | it also depends on what is happening | |
| 18:55:17 | dansmith | if everything is idle, that's probably more than enough | |
| 18:55:20 | melwitt | okay, sorry I think I was thinking of earlier when penick_ said 1-5 computes but if he's talking about juno then that would be 100s of computes | |
| 18:55:33 | melwitt | the 1-5 computes is the ocata testing | |
| 18:55:53 | openstackgerrit | Jay Pipes proposed openstack/nova master: placement: integrate ProviderTree to report client https://review.openstack.org/415921 | |
| 18:55:54 | openstackgerrit | Jay Pipes proposed openstack/nova master: placement: allow filter providers in tree https://review.openstack.org/377215 | |
| 18:55:54 | openstackgerrit | Jay Pipes proposed openstack/nova master: placement: add nested resource providers https://review.openstack.org/377138 | |
| 18:55:55 | openstackgerrit | Jay Pipes proposed openstack/nova master: placement: update client to set parent provider https://review.openstack.org/385693 | |
| 18:55:55 | openstackgerrit | Jay Pipes proposed openstack/nova master: placement: adds REST API for nested providers https://review.openstack.org/384807 | |
| 18:55:59 | jaypipes | dansmith: ^ | |
| 18:57:36 | dansmith | melwitt: right | |
| 19:13:52 | sahid | jaypipes: ci is green https://review.openstack.org/#/c/485522/ | |
| 19:14:31 | sahid | btw mriedem, did you take descison for this: https://review.openstack.org/#/c/511188/ ? | |
| 19:21:42 | mriedem | sahid: no | |
| 19:21:47 | mriedem | it's not on my list | |
| 19:24:02 | sahid | mriedem: thanks | |
| 19:31:15 | penick_ | melwitt: this particular cluster is about 1500 nodes. But I think I found the issue. They had the hypervisors set to use the conductor service, but the API was still configured to use local conductor. Which i'm pretty sure will never work. I had them fix it and so far it appears things are working. They'll do some more tests and get back to me | |
| 19:32:11 | melwitt | aha, cool | |
| 19:32:40 | dansmith | penick_: APIs should use always go straight to the db for object access | |
| 19:32:59 | dansmith | and in juno I'm not sure there was anything in conductor that apis needed to access, but local conductor for them should be fine | |
| 19:33:16 | dansmith | penick_: what was "fixed" .. the load on the conductors? | |
| 19:34:48 | efried | jaypipes This is old news, but I definitely saw a way to get None there. The placement call fails, but report client uses raise_exc=False so the response just comes back, and the caller is doing soft gets everywhere, so populates the inventory with {} and no generation. That percolates down to the code in question. | |
| 19:34:50 | melwitt | oh, oops. local conductor on API | |
| 19:39:08 | dansmith | yeah: https://github.com/openstack/nova/blob/juno-eol/nova/cmd/compute.py#L65 | |
| 19:39:15 | dansmith | no such line there for api, which means it ignores the local conductor flag | |
| 19:39:44 | dansmith | also, github groaned at me when I selected the juno-eol tag | |
| 19:39:50 | dansmith | so penick_ owes me a beverage | |
| 19:39:58 | penick_ | melwitt: this particular cluster is about 1500 nodes. But I think I found the issue. They had the hypervisors set to use the conductor service, but the API was still configured to use local conductor. Which i'm pretty sure will never work. I had them fix it and so far it appears things are working. They'll do some more tests and get back to me | |
| 19:40:02 | penick_ | dansmith sorry about that | |
| 19:40:34 | dansmith | heh | |
| 19:41:05 | melwitt | penick_: yeah, as dansmith said, that shouldn't matter. the nova/cmd/api.py doesn't consider the local conductor conf setting | |
| 19:41:08 | dansmith | actually I'm pretty sure penick_ has bought me beverages before | |
| 19:41:17 | dansmith | so I'm probably in beverage debt | |
| 19:41:23 | melwitt | penick_: and that API is supposed to access the database directly anyhow | |
| 19:41:33 | melwitt | (it does so automatically) | |
| 19:41:34 | dansmith | yeah, | |
| 19:41:52 | penick_ | that makes sense | |
| 19:41:54 | dansmith | so maybe after updating the config a bunch of computes were storming the castle and it settled down near the time you flipped that flag, | |
| 19:42:01 | dansmith | thinking it was causal? | |
| 19:42:54 | efried | What is "cold migration" aka? E.g. in the support matrix https://docs.openstack.org/nova/latest/user/support-matrix.html | |
| 19:43:08 | dansmith | efried: resize | |
| 19:43:09 | dansmith | efried: or nova migrate | |
| 19:43:35 | efried | dansmith thx | |
| 19:43:55 | mriedem | ildikov: easy fixes in https://review.openstack.org/#/c/499777/ - you want to update quick? otherwise i can | |
| 19:44:18 | efried | how do you tell it to resize to another host? | |
| 19:44:44 | melwitt | resize automatically goes to another host | |
| 19:45:00 | dansmith | well | |
| 19:45:05 | mriedem | efried: only way it can go back is the config option | |
| 19:45:07 | dansmith | unless configured | |
| 19:45:09 | mriedem | allow_resize_to_same_host | |
| 19:45:09 | dansmith | yeah | |
| 19:45:14 | melwitt | unless you have configured "allow_resize_to_same_host" it won't consider the same host | |
| 19:45:23 | efried | whoah, okay. | |
| 19:45:34 | melwitt | note that means it CAN go to the same host if you config that, not that it will ONLY go there | |
| 19:45:50 | efried | And if you only have one host, presumably, you don't need to switch the setting on? | |
| 19:45:52 | melwitt | some ppl get confused by it | |
| 19:45:53 | mriedem | efried: remember that cold migrate is called 'resize' in the code, | |
| 19:45:57 | mriedem | just like evacuate is called rebuild | |
| 19:46:02 | mriedem | totally not confusing | |
| 19:46:08 | cdent | efried: force resize to same has been discussed at various times and I’m sure patched in by vairous people | |
| 19:46:10 | mriedem | and migrate != live migration | |
| 19:46:11 | efried | "remember", sure. | |
| 19:46:14 | mriedem | because if it's not live, it's old | |
| 19:46:15 | mriedem | *cold | |
| 19:46:34 | mriedem | takashi has a spec for specifying a host for cold migratoin | |
| 19:46:41 | mriedem | it was only approved after i got him to remove the 'force' flag option | |
| 19:46:47 | mriedem | specifying a host is fine as long as the scheduler validates it first, | |
| 19:46:56 | efried | Oh, not the same spec as 'abort cold', the reviewing of which led me to this series of questions? | |
| 19:46:57 | mriedem | force flag bypasses the scheduler which gets all sorts of crazy | |