Friday, 2019-08-09

*** mriedem has quit IRC00:52
*** tetsuro has joined #openstack-placement01:37
*** altlogbot_1 has quit IRC02:44
*** altlogbot_3 has joined #openstack-placement02:45
*** tetsuro has quit IRC02:46
openstackgerritMerged openstack/placement master: Correct SQL docstring on _get_usages_by_provider_trees  https://review.opendev.org/67530203:40
*** tetsuro has joined #openstack-placement04:08
*** tetsuro has quit IRC04:12
*** tetsuro has joined #openstack-placement04:13
openstackgerritmelanie witt proposed openstack/osc-placement master: Add --aggregate option to 'resource provider inventory set'  https://review.opendev.org/64089804:57
openstackgerritmelanie witt proposed openstack/osc-placement master: Add --amend option to 'resource provider inventory set'  https://review.opendev.org/67552004:57
openstackgerritmelanie witt proposed openstack/osc-placement master: Add --dry-run option to 'resource provider inventory set'  https://review.opendev.org/67552104:57
*** tetsuro has quit IRC04:57
*** tetsuro_ has joined #openstack-placement04:57
*** e0ne has joined #openstack-placement05:40
*** e0ne has quit IRC05:59
*** tetsuro_ has quit IRC06:10
*** takashin has left #openstack-placement06:35
*** tssurya has joined #openstack-placement07:18
*** helenafm has joined #openstack-placement07:52
*** david-lyle has joined #openstack-placement08:24
*** dklyle has quit IRC08:24
*** e0ne has joined #openstack-placement09:24
*** cdent has joined #openstack-placement09:37
cdentgibi, 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
gibicdent: ack, I will look at them today.09:57
stephenfincdent: 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
cdentstephenfin: 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 process10:00
*** belmoreira has joined #openstack-placement11:39
openstackgerritChris Dent proposed openstack/placement master: WIP: Avoid duplicate ProviderSummary in _merge_candidates  https://review.opendev.org/67560612:15
cdentefried: 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 IRC12:48
*** cdent has joined #openstack-placement12:48
*** cdent has quit IRC12:49
*** cdent has joined #openstack-placement13:09
*** mriedem has joined #openstack-placement13:10
*** belmoreira has quit IRC13:17
cdentgibi: the copy thing is indeed weird, but true13:18
gibicdent: I learned a lot reading your performance patches13:21
cdentI learned a lot doing them. Python is rather suprising sometimes13:22
gibiI know that __slot__ is a thing but never see used it meaningfully13:22
cdentI think it really only comes into play when objects are accessed a _lot_13:24
*** artom has quit IRC13:33
*** belmoreira has joined #openstack-placement13:34
openstackgerritEric Fried proposed openstack/placement master: Copy AllocationRequestResource only when necessary  https://review.opendev.org/67541613:39
*** stephenfin is now known as finucannot13:46
*** david-lyle is now known as dklyle13:48
edleafecdent: it has more to do with object creation than access. Dicts require a lot more memory than fixed values.13:50
edleafehttps://book.pythontips.com/en/latest/__slots__magic.html13:50
cdentedleafe: I was basing that statement on the docs which say attribute access is sped up13:50
edleafeEither way, with just a few objects it isn't a significant difference. With lots of objects, though...13:52
* cdent nods13:56
*** jaypipes has joined #openstack-placement14:06
openstackgerritMerged openstack/placement master: Add __copy__ method to AllocationRequest{,Resource}  https://review.opendev.org/67537214:38
*** artom has joined #openstack-placement14:38
*** cdent has quit IRC14:42
*** cdent has joined #openstack-placement14:45
*** belmoreira has quit IRC14:49
*** belmoreira has joined #openstack-placement14:55
*** dklyle has quit IRC14:58
*** david-lyle has joined #openstack-placement14:58
*** david-lyle is now known as dklyle15:16
mriedemi wonder, if you took the VersionedObject base and set __slots__ = fields.keys()15:19
mriedema 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 java15:19
mriedeme.g. HostManager.cells is a list of CellMapping versioned objects, but those objects are pretty simple15:22
mriedemthough even with cern that's only like 72 cached cell mapping objects per scheduler process15:23
cdentmriedem: the cost of ovo tends to be the way in which all field setting and getting is through methods that type check or type coerce15:27
cdentand in placement it was very noticeable because there is such a huge number of object involvd15:28
*** helenafm has quit IRC15:30
mriedemyup, which is needed when you're sending those over rpc, but not if you're...not15:31
openstackgerritChris Dent proposed openstack/placement master: Avoid duplicate ProviderSummary in _merge_candidates  https://review.opendev.org/67560615:31
cdentefried: 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 IRC15:44
openstackgerritChris Dent proposed openstack/placement master: Use expanding bindparam in get_traits_by_provider_tree  https://review.opendev.org/67564815:44
*** belmoreira has quit IRC15:47
cdentwoot (sort of): json dumping is now nearly 23% of time15:48
*** cdent has quit IRC15:57
openstackgerritMerged openstack/placement master: Extract a _get_schema from list_allocation_candidates  https://review.opendev.org/67056716:03
*** tssurya has quit IRC16:03
*** dklyle has quit IRC16:06
*** cdent has joined #openstack-placement16:22
*** dklyle has joined #openstack-placement16:26
mriedemlooking at a scheduling failure for an ironic node,16:28
mriedemhttps://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_28080016:28
mriedemplacement returns 0 allocation candidates,16:29
mriedembut no explanation why,16:29
mriedemi thought there was some debug logging around that?16:29
mriedemah 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_00667016:30
mriedemlike, why wouldn't i see "found 0 providers after applying required traits filter" or something16:31
mriedemthis has got to be wrong now, it's not a tuple https://github.com/openstack/placement/blob/f49096ab7bdb9b3e5f6251b814c3fa4b8dfdfcc6/placement/objects/research_context.py#L101316:33
mriedemoh nvm, that's return16:34
mriedemthough it's filtered_rps and not filtered_rp_ids anymore, and won't be None16:34
*** dklyle has quit IRC16:37
*** dklyle has joined #openstack-placement16:37
mriedemnvm again, i guess they are ids, it's just a poorly named variable16:39
cdentmriedem: are you fully popped on the nevermind stack, or does a question still remain?16:41
mriedemtrying to figure out where a log message shoudl go saying we filtered down to 0 providers16:42
mriedembecause it seems we're getting into get_provider_ids_for_traits_and_aggs with an empty search context or whatever16:43
mriedemwhich i guess means get_provider_ids_matching is getting called with an empty search context16:43
mriedembut i'm not sure why, not familiar with this code, clearly the GET has stuff on it16:44
mriedemGET /placement/allocation_candidates?limit=1000&required=CUSTOM_GOLD%2C%21COMPUTE_STATUS_DISABLED&resources=CUSTOM_BAREMETAL%3A116:44
cdenti think the issue is that the logs in that method only prop if something returns16:44
*** irclogbot_2 has quit IRC16:47
*** irclogbot_2 has joined #openstack-placement16:48
efriedright, we only log filtery stuff if we get more than zero results out of the db query16:49
*** irclogbot_2 has quit IRC16:49
*** irclogbot_0 has joined #openstack-placement16:50
mriedemwhat do you mean "prop"?16:52
mriedemif 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#L102616:53
mriedemthis request has one required trait, one forbidden trait and one resource request16:53
cdentmriedem: you might be existing earlier, such as here: https://github.com/openstack/placement/blob/f49096ab7bdb9b3e5f6251b814c3fa4b8dfdfcc6/placement/objects/allocation_candidate.py#L10816:57
cdentexiting16:57
cdentand when I said "prop" I mean "pop"16:57
cdentsorry for requiring a translation layer16:57
mriedemyeah ok i see16:59
mriedemtime for me to storyboard!16:59
cdentwill you do that in the batcave?16:59
cdentit seems like something might do there16:59
mriedemidk what you're saying17:00
mriedemenglish cdent17:00
cdentsomething one might do there17:00
cdentit's irc. i really hate it.17:00
cdentit requires me to use the speaking part of my brain while typing. it all goes wrong.17:01
*** dklyle has quit IRC17:07
*** david-lyle has joined #openstack-placement17:07
mriedemi don't talk about what i do in the batcave17:08
* mriedem gets lunch17:08
*** david-lyle has quit IRC17:10
*** david-lyle has joined #openstack-placement17:10
cdenti'm outtie18:15
* cdent waves18:15
*** cdent has quit IRC18:15
*** efried is now known as efried_pto18:42
*** e0ne has joined #openstack-placement19:41
*** e0ne has quit IRC20:18
*** jaypipes has quit IRC20:22
*** artom has quit IRC21:01
*** artom has joined #openstack-placement21:17
artomAnd on http://lists.openstack.org/pipermail/openstack-discuss/2019-August/008401.html's happy note, I'm calling it a week.21:18
artomDoh, wrong channel21:19
*** e0ne has joined #openstack-placement21:21
*** e0ne has quit IRC21:32
*** artom has quit IRC21:33
*** e0ne has joined #openstack-placement21:35
*** e0ne has quit IRC21:45
*** mriedem has quit IRC22:17

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!