*** mriedem has quit IRC | 00:52 | |
*** tetsuro has joined #openstack-placement | 01:37 | |
*** altlogbot_1 has quit IRC | 02:44 | |
*** altlogbot_3 has joined #openstack-placement | 02:45 | |
*** tetsuro has quit IRC | 02:46 | |
openstackgerrit | Merged openstack/placement master: Correct SQL docstring on _get_usages_by_provider_trees https://review.opendev.org/675302 | 03:40 |
---|---|---|
*** tetsuro has joined #openstack-placement | 04:08 | |
*** tetsuro has quit IRC | 04:12 | |
*** tetsuro has joined #openstack-placement | 04:13 | |
openstackgerrit | melanie witt proposed openstack/osc-placement master: Add --aggregate option to 'resource provider inventory set' https://review.opendev.org/640898 | 04:57 |
openstackgerrit | melanie witt proposed openstack/osc-placement master: Add --amend option to 'resource provider inventory set' https://review.opendev.org/675520 | 04:57 |
openstackgerrit | melanie witt proposed openstack/osc-placement master: Add --dry-run option to 'resource provider inventory set' https://review.opendev.org/675521 | 04:57 |
*** tetsuro has quit IRC | 04:57 | |
*** tetsuro_ has joined #openstack-placement | 04:57 | |
*** e0ne has joined #openstack-placement | 05:40 | |
*** e0ne has quit IRC | 05:59 | |
*** tetsuro_ has quit IRC | 06:10 | |
*** takashin has left #openstack-placement | 06:35 | |
*** tssurya has joined #openstack-placement | 07:18 | |
*** helenafm has joined #openstack-placement | 07:52 | |
*** david-lyle has joined #openstack-placement | 08:24 | |
*** dklyle has quit IRC | 08:24 | |
*** e0ne has joined #openstack-placement | 09:24 | |
*** cdent has joined #openstack-placement | 09:37 | |
cdent | gibi, stephenfin : if you have some time, couple more (hopefully last two for a while) performance-related changed: https://review.opendev.org/#/c/675416/ https://review.opendev.org/#/c/675372/ | 09:56 |
gibi | cdent: ack, I will look at them today. | 09:57 |
stephenfin | cdent: I'll trade you for input on https://review.opendev.org/#/c/674895/3/nova/virt/libvirt/driver.py@7342, if you could provide it (I don't know how well you know how nova does this stuff internally) | 09:58 |
cdent | stephenfin: certainly, that tab was already open for exactly that and at least as far as I understand thing, you're not going to be happy with the answer, but I'll try to write it out clearly and maybe something will reveal itself in that process | 10:00 |
*** belmoreira has joined #openstack-placement | 11:39 | |
openstackgerrit | Chris Dent proposed openstack/placement master: WIP: Avoid duplicate ProviderSummary in _merge_candidates https://review.opendev.org/675606 | 12:15 |
cdent | efried: gonna need your helpful brains on that ^. It's identified at least two interesting flaws, and I think you'll realize when looking at it that there are probably additional. | 12:20 |
*** cdent has quit IRC | 12:48 | |
*** cdent has joined #openstack-placement | 12:48 | |
*** cdent has quit IRC | 12:49 | |
*** cdent has joined #openstack-placement | 13:09 | |
*** mriedem has joined #openstack-placement | 13:10 | |
*** belmoreira has quit IRC | 13:17 | |
cdent | gibi: the copy thing is indeed weird, but true | 13:18 |
gibi | cdent: I learned a lot reading your performance patches | 13:21 |
cdent | I learned a lot doing them. Python is rather suprising sometimes | 13:22 |
gibi | I know that __slot__ is a thing but never see used it meaningfully | 13:22 |
cdent | I think it really only comes into play when objects are accessed a _lot_ | 13:24 |
*** artom has quit IRC | 13:33 | |
*** belmoreira has joined #openstack-placement | 13:34 | |
openstackgerrit | Eric Fried proposed openstack/placement master: Copy AllocationRequestResource only when necessary https://review.opendev.org/675416 | 13:39 |
*** stephenfin is now known as finucannot | 13:46 | |
*** david-lyle is now known as dklyle | 13:48 | |
edleafe | cdent: it has more to do with object creation than access. Dicts require a lot more memory than fixed values. | 13:50 |
edleafe | https://book.pythontips.com/en/latest/__slots__magic.html | 13:50 |
cdent | edleafe: I was basing that statement on the docs which say attribute access is sped up | 13:50 |
edleafe | Either way, with just a few objects it isn't a significant difference. With lots of objects, though... | 13:52 |
* cdent nods | 13:56 | |
*** jaypipes has joined #openstack-placement | 14:06 | |
openstackgerrit | Merged openstack/placement master: Add __copy__ method to AllocationRequest{,Resource} https://review.opendev.org/675372 | 14:38 |
*** artom has joined #openstack-placement | 14:38 | |
*** cdent has quit IRC | 14:42 | |
*** cdent has joined #openstack-placement | 14:45 | |
*** belmoreira has quit IRC | 14:49 | |
*** belmoreira has joined #openstack-placement | 14:55 | |
*** dklyle has quit IRC | 14:58 | |
*** david-lyle has joined #openstack-placement | 14:58 | |
*** david-lyle is now known as dklyle | 15:16 | |
mriedem | i wonder, if you took the VersionedObject base and set __slots__ = fields.keys() | 15:19 |
mriedem | a versioned object can take more attributes obviously, and can be dict-like (but only if you're using a mixin for dict compat), but for the most part it's a typed class with typed fields like java | 15:19 |
mriedem | e.g. HostManager.cells is a list of CellMapping versioned objects, but those objects are pretty simple | 15:22 |
mriedem | though even with cern that's only like 72 cached cell mapping objects per scheduler process | 15:23 |
cdent | mriedem: the cost of ovo tends to be the way in which all field setting and getting is through methods that type check or type coerce | 15:27 |
cdent | and in placement it was very noticeable because there is such a huge number of object involvd | 15:28 |
*** helenafm has quit IRC | 15:30 | |
mriedem | yup, which is needed when you're sending those over rpc, but not if you're...not | 15:31 |
openstackgerrit | Chris Dent proposed openstack/placement master: Avoid duplicate ProviderSummary in _merge_candidates https://review.opendev.org/675606 | 15:31 |
cdent | efried: that ^ fixes the things I was wanting your brains for earlier, but it turns out it needed quite a bit of changing (probably good changing) | 15:32 |
*** e0ne has quit IRC | 15:44 | |
openstackgerrit | Chris Dent proposed openstack/placement master: Use expanding bindparam in get_traits_by_provider_tree https://review.opendev.org/675648 | 15:44 |
*** belmoreira has quit IRC | 15:47 | |
cdent | woot (sort of): json dumping is now nearly 23% of time | 15:48 |
*** cdent has quit IRC | 15:57 | |
openstackgerrit | Merged openstack/placement master: Extract a _get_schema from list_allocation_candidates https://review.opendev.org/670567 | 16:03 |
*** tssurya has quit IRC | 16:03 | |
*** dklyle has quit IRC | 16:06 | |
*** cdent has joined #openstack-placement | 16:22 | |
*** dklyle has joined #openstack-placement | 16:26 | |
mriedem | looking at a scheduling failure for an ironic node, | 16:28 |
mriedem | https://logs.opendev.org/91/675391/3/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/d62ad32/controller/logs/screen-placement-api.txt.gz#_Aug_09_03_31_03_280800 | 16:28 |
mriedem | placement returns 0 allocation candidates, | 16:29 |
mriedem | but no explanation why, | 16:29 |
mriedem | i thought there was some debug logging around that? | 16:29 |
mriedem | ah yeah like earlier here https://logs.opendev.org/91/675391/3/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/d62ad32/controller/logs/screen-placement-api.txt.gz#_Aug_09_03_31_02_006670 | 16:30 |
mriedem | like, why wouldn't i see "found 0 providers after applying required traits filter" or something | 16:31 |
mriedem | this has got to be wrong now, it's not a tuple https://github.com/openstack/placement/blob/f49096ab7bdb9b3e5f6251b814c3fa4b8dfdfcc6/placement/objects/research_context.py#L1013 | 16:33 |
mriedem | oh nvm, that's return | 16:34 |
mriedem | though it's filtered_rps and not filtered_rp_ids anymore, and won't be None | 16:34 |
*** dklyle has quit IRC | 16:37 | |
*** dklyle has joined #openstack-placement | 16:37 | |
mriedem | nvm again, i guess they are ids, it's just a poorly named variable | 16:39 |
cdent | mriedem: are you fully popped on the nevermind stack, or does a question still remain? | 16:41 |
mriedem | trying to figure out where a log message shoudl go saying we filtered down to 0 providers | 16:42 |
mriedem | because it seems we're getting into get_provider_ids_for_traits_and_aggs with an empty search context or whatever | 16:43 |
mriedem | which i guess means get_provider_ids_matching is getting called with an empty search context | 16:43 |
mriedem | but i'm not sure why, not familiar with this code, clearly the GET has stuff on it | 16:44 |
mriedem | GET /placement/allocation_candidates?limit=1000&required=CUSTOM_GOLD%2C%21COMPUTE_STATUS_DISABLED&resources=CUSTOM_BAREMETAL%3A1 | 16:44 |
cdent | i think the issue is that the logs in that method only prop if something returns | 16:44 |
*** irclogbot_2 has quit IRC | 16:47 | |
*** irclogbot_2 has joined #openstack-placement | 16:48 | |
efried | right, we only log filtery stuff if we get more than zero results out of the db query | 16:49 |
*** irclogbot_2 has quit IRC | 16:49 | |
*** irclogbot_0 has joined #openstack-placement | 16:50 | |
mriedem | what do you mean "prop"? | 16:52 |
mriedem | if the request has required traits but there are no providers with that trait, we'd log here yeah? https://github.com/openstack/placement/blob/f49096ab7bdb9b3e5f6251b814c3fa4b8dfdfcc6/placement/objects/research_context.py#L1026 | 16:53 |
mriedem | this request has one required trait, one forbidden trait and one resource request | 16:53 |
cdent | mriedem: you might be existing earlier, such as here: https://github.com/openstack/placement/blob/f49096ab7bdb9b3e5f6251b814c3fa4b8dfdfcc6/placement/objects/allocation_candidate.py#L108 | 16:57 |
cdent | exiting | 16:57 |
cdent | and when I said "prop" I mean "pop" | 16:57 |
cdent | sorry for requiring a translation layer | 16:57 |
mriedem | yeah ok i see | 16:59 |
mriedem | time for me to storyboard! | 16:59 |
cdent | will you do that in the batcave? | 16:59 |
cdent | it seems like something might do there | 16:59 |
mriedem | idk what you're saying | 17:00 |
mriedem | english cdent | 17:00 |
cdent | something one might do there | 17:00 |
cdent | it's irc. i really hate it. | 17:00 |
cdent | it requires me to use the speaking part of my brain while typing. it all goes wrong. | 17:01 |
*** dklyle has quit IRC | 17:07 | |
*** david-lyle has joined #openstack-placement | 17:07 | |
mriedem | i don't talk about what i do in the batcave | 17:08 |
* mriedem gets lunch | 17:08 | |
*** david-lyle has quit IRC | 17:10 | |
*** david-lyle has joined #openstack-placement | 17:10 | |
cdent | i'm outtie | 18:15 |
* cdent waves | 18:15 | |
*** cdent has quit IRC | 18:15 | |
*** efried is now known as efried_pto | 18:42 | |
*** e0ne has joined #openstack-placement | 19:41 | |
*** e0ne has quit IRC | 20:18 | |
*** jaypipes has quit IRC | 20:22 | |
*** artom has quit IRC | 21:01 | |
*** artom has joined #openstack-placement | 21:17 | |
artom | And on http://lists.openstack.org/pipermail/openstack-discuss/2019-August/008401.html's happy note, I'm calling it a week. | 21:18 |
artom | Doh, wrong channel | 21:19 |
*** e0ne has joined #openstack-placement | 21:21 | |
*** e0ne has quit IRC | 21:32 | |
*** artom has quit IRC | 21:33 | |
*** e0ne has joined #openstack-placement | 21:35 | |
*** e0ne has quit IRC | 21:45 | |
*** mriedem has quit IRC | 22:17 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!