Wednesday, 2018-08-08

openstackgerritMatt Riedemann proposed openstack/nova master: Fix bad links for admin-guide  https://review.openstack.org/58025900:12
openstackgerritMerged openstack/nova stable/queens: Add recreate test for RT.stats bug 1784705  https://review.openstack.org/58792100:32
openstackbug 1784705 in OpenStack Compute (nova) queens "ResourceTracker.stats can leak across multiple ironic nodes" [High,In progress] https://launchpad.net/bugs/1784705 - Assigned to Matt Riedemann (mriedem)00:32
*** mriedem has quit IRC01:06
openstackgerritzhufl proposed openstack/nova master: xx_instance_type_id in list_migrations should be integer  https://review.openstack.org/58848101:23
*** lei-zh has joined #openstack-placement03:08
openstackgerritMerged openstack/nova stable/queens: Make ResourceTracker.stats node-specific  https://review.openstack.org/58797603:18
openstackgerritMerged openstack/nova master: Fix none-ascii char in doc  https://review.openstack.org/58842203:18
openstackgerritMerged openstack/nova master: Add microversion info in the os-server-groups API samples  https://review.openstack.org/58900603:19
openstackgerritMerged openstack/nova master: api-ref: Add descriptions for rebuild  https://review.openstack.org/58893103:19
*** lei-zh has quit IRC04:03
*** jaypipes has quit IRC04:11
*** jaypipes has joined #openstack-placement04:11
*** tetsuro has joined #openstack-placement04:18
*** takashin has joined #openstack-placement05:11
openstackgerritTakashi NATSUME proposed openstack/nova master: [placement] api-ref: add description for 1.29  https://review.openstack.org/58940705:18
*** e0ne has joined #openstack-placement05:40
*** e0ne has quit IRC05:52
*** e0ne has joined #openstack-placement06:03
*** nicolasbock has joined #openstack-placement06:03
*** takashin has left #openstack-placement06:39
*** e0ne has quit IRC06:51
*** s10 has joined #openstack-placement06:58
openstackgerritTetsuro Nakamura proposed openstack/nova master: api-ref: fix min_version for parent_provider_uuid in responses  https://review.openstack.org/57957707:05
openstackgerritTetsuro Nakamura proposed openstack/nova master: [placement] api-ref: add description for 1.29  https://review.openstack.org/58940707:05
*** s10 has quit IRC07:08
*** tetsuro_ has joined #openstack-placement08:06
*** tetsuro has quit IRC08:07
openstackgerritBalazs Gibizer proposed openstack/nova master: Use placement 1.28 in scheduler report client  https://review.openstack.org/58366708:10
*** cdent has joined #openstack-placement08:20
*** tssurya has joined #openstack-placement08:27
*** tetsuro_ has quit IRC08:41
openstackgerritKevin Zhao proposed openstack/nova master: Skip CPU comparison in Aarch64  https://review.openstack.org/58976909:15
openstackgerritLee Yarwood proposed openstack/nova master: libvirt: Reduce calls to qemu-img during update_available_resource  https://review.openstack.org/58951309:21
openstackgerritLee Yarwood proposed openstack/nova master: libvirt: Add workaround to stop use of qemu-img by the RT  https://review.openstack.org/58956709:21
openstackgerritOpenStack Release Bot proposed openstack/osc-placement stable/rocky: Update .gitreview for stable/rocky  https://review.openstack.org/58977309:34
openstackgerritOpenStack Release Bot proposed openstack/osc-placement stable/rocky: Update UPPER_CONSTRAINTS_FILE for stable/rocky  https://review.openstack.org/58977409:34
openstackgerritOpenStack Release Bot proposed openstack/osc-placement master: Update reno for stable/rocky  https://review.openstack.org/58977509:34
*** edmondsw has joined #openstack-placement09:45
*** edmondsw has quit IRC09:49
openstackgerritChris Dent proposed openstack/nova master: Add explicit functional-py36 tox target  https://review.openstack.org/58982510:05
openstackgerritBoxiang Zhu proposed openstack/nova master: Refactor cell_type in compute/api.py  https://review.openstack.org/58983310:38
openstackgerritSergii Golovatiuk proposed openstack/nova master: Fix URI for IPv6  https://review.openstack.org/58954810:43
openstackgerritSergii Golovatiuk proposed openstack/nova master: Fix URI for IPv6  https://review.openstack.org/58954811:02
openstackgerritSergii Golovatiuk proposed openstack/nova master: Fix URI for IPv6  https://review.openstack.org/58954811:05
openstackgerritChen proposed openstack/nova master: Update ssh configuration doc  https://review.openstack.org/58984411:20
openstackgerritChen proposed openstack/nova master: Update ssh configuration doc  https://review.openstack.org/58984411:23
openstackgerritMerged openstack/nova master: Fix resize revert to use non-legacy alloc handling  https://review.openstack.org/58942511:42
openstackgerritLee Yarwood proposed openstack/nova master: libvirt: Always escapte IPv6 addresses when used in migration URI  https://review.openstack.org/58954812:13
*** tssurya has quit IRC12:13
jaypipesefried: when does stein open again?12:18
*** e0ne has joined #openstack-placement12:34
*** tssurya has joined #openstack-placement12:36
*** mriedem has joined #openstack-placement12:59
*** edmondsw has joined #openstack-placement13:05
edleafejaypipes: usually when RC1 is cut, so I think this Thursday13:06
jaypipesack, thx edleafe13:07
*** e0ne has quit IRC13:18
cdentedleafe, efried, jaypipes: I'm doing some hand-wavey scale explorations on placement and I have some tentative results that are going to warrant some additional digging (to see where the time is lost):13:18
cdentI create 1000 resources providers, all with the same generic vcpu, disk, memory inventory13:19
cdenthttp://127.0.0.1:8081/allocation_candidates?resources=VCPU:1,MEMORY_MB:256,DISK_GB:10&limit=5 is taking approx 17 seconds13:20
cdentif I take off the limit it is still about 17 seconds, but the amount of data returned is much more, so that suggests it is in the results creation, not serializing those results to json or sending them out the door13:21
cdentif I do just one resource class the time drops to 8 seconds13:22
cdentno traits, nested or shared yet13:22
cdentI'll be doing further experiments. The initial code is at https://github.com/cdent/placeload13:23
openstackgerritMatthew Booth proposed openstack/nova master: fixtures: Track volume attachments within CinderFixtureNewAttachFlow  https://review.openstack.org/58701313:23
efriedcdent: Wow, very interesting. Previously you've said most performance issues could be resolved by giving the placement service more umph. Not so in this case?13:25
cdentefried: I think things have changed a lot since: https://anticdent.org/placement-scale-fun.html13:27
cdentand also the tests in ^ were only 75 resource providers13:27
jaypipescdent: yeah, that's way out of line. should be milliseconds with only 1000 providers.13:28
cdentI'm going to switch from my containery thing to devstack so I can put in some profiling more easily13:29
jaypipescdent: am I missing something in placeload I don't see any calls to a-c?13:30
cdenti did the a-c calls by hand after the data was loaded13:30
cdentusing curl13:30
*** e0ne has joined #openstack-placement13:31
cdentjaypipes: my intention was to get a bit further along and have more in placeload itself, but I paused to do a sanity check and things didn't seem sane, so I've diverted13:31
jaypipescdent: ah.13:31
jaypipescdent: how many candidates are returned from the initial call to a-c before any claiming? the expected 1000?13:32
cdentif it's any consolation writing all the resource providers and allocations is _very_ fast13:33
cdent(when doing the asyncio fun)13:33
cdentas far as I can tell the json results are as expected13:34
openstackgerritTakashi NATSUME proposed openstack/nova master: [placement] api-ref: add description for 1.29  https://review.openstack.org/58940713:37
openstackgerritMatthew Booth proposed openstack/nova master: fixtures: Fail deleting non-existent attachment in CinderFixtureNewAttachFlow  https://review.openstack.org/58990013:37
openstackgerritTakashi NATSUME proposed openstack/nova master: [placement] api-ref: add description for 1.29  https://review.openstack.org/58940713:38
openstackgerritMatt Riedemann proposed openstack/nova master: Update the parameter explain when updating a volume attachment  https://review.openstack.org/56518113:46
openstackgerritMatt Riedemann proposed openstack/nova master: Update the parameter explain when updating a volume attachment  https://review.openstack.org/56518113:48
cdentconfirmed in devstack13:50
efriedcdent: How easy to revert to an earlier commit and try again?13:54
cdentefried: not too difficult, but I'm going to some random logs in places first to be able to make a reasonable guess on which commit to go back to13:55
efriedcdent: Curious if the granular stuff is what's killing us. I haven't looked and don't remember clearly, but it's possible we're still doing "merge math" on the whole set of candidates even though not using granular groups.13:55
efriedcdent: Okay, so logging will tell that too.13:55
efriedI assume you're going to wrap the various sql bits in logs.13:56
cdentpretty much yeah13:59
cdentefried, jaypipes : part of it is the ResourceProvider.get_by_uuid added in https://review.openstack.org/#/c/567113/  line 3610 of objects/resource_provider.py14:15
cdentthat's maybe half of it14:15
efriedugh, that's going to be a bear to unwind14:17
cdenti don't think we want to unwind it, I think we want to fix it14:17
cdentwe've already loaded all the resource providers many times throughout this set of queries14:18
efriedIt would be easy enough to prefetch a cache of RPs according to the root_idZ extracted from rp_tuples, but that's only going to help you where there's more than one candidate per RP, which there isn't in this case.14:18
efriedYeah, implement some caching in get_by_uuid?14:18
efriedin such a way that the cache only survives for the duration of the transaction.14:19
cdentno, that's not what I mean14:20
cdentprior to getting to this point in the code we've already gathered all the data necessary to construct the rps, we don't need to requery, we need to reuse the information we already have14:20
efriedfrom e.g. the provider summaries, yah.14:21
efriedWell, I'm guessing the other half of the hit is the get_by_uuidZ we did to retrieve 'em the first time...14:21
openstackgerritLee Yarwood proposed openstack/nova master: libvirt: Reduce calls to qemu-img during update_available_resource  https://review.openstack.org/58951314:22
cdentthere are two other hot spots that haven't quite narrowed down14:23
cdentsomething in _build_provider_summaries14:23
cdentand then somewhere in the building of the allocation requests14:24
cdentyeah same thing in _build_provider_summaries14:26
efriedget_by_uuid?14:26
jaypipescdent: ugh, I can't believe I failed to catch that N+1 queries problem in that patch. :(14:27
jaypipesffs14:27
cdentI'll have a diff with commentary here in a few minutes and will put it on a bug and we can figure out what to do14:28
jaypipeswe're doing 1000 separate SELECT * FROM resource_providers WHERE uuid = ? queries there on line 3610.14:28
efriedyes14:28
efriedbut... shouldn't we be able to do that?14:28
jaypipesso it's not actually one of the "complicated" queries. it's the fact that we're calling RP.get_by_uuid() from within a loop. :(14:29
efriedand... is it really more efficient to do SELECT * FROM resource_providers WHERE uuid IN (1000 uuids) ?14:29
efriedor is it building the OVOs that's killing us?14:29
jaypipesefried: yes. it's 1000% more efficient.14:29
jaypipesefried: has little to nothing to do with ovo.14:29
efriedOkay, so back-of-napkin: 1) pull out the RP IDs so we can do a single query; 2) reuse providers retrieved earlier14:30
openstackgerritMatthew Booth proposed openstack/nova master: fixtures: Track volume attachments within CinderFixtureNewAttachFlow  https://review.openstack.org/58701314:33
openstackgerritMatthew Booth proposed openstack/nova master: fixtures: Fail deleting non-existent attachment in CinderFixtureNewAttachFlow  https://review.openstack.org/58990014:33
jaypipesefried, cdent: the only reason we're doing RP.get_by_uuid() there is to get the root_provider_uuid value. :(14:40
efriedjaypipes: We need it for the provider summaries anyway.14:41
jaypipesefried: right, but we should have that information already before looping over things.14:41
jaypipescdent: good on ya for locating the source of the performance problems. I consider this the highest priority thing to fix right now. (for rocky)14:43
* cdent is making the bug14:43
jaypipescdent: it will take more than a little refactoring, but I'm happy to do it.14:43
cdentjaypipes, efried : https://bugs.launchpad.net/nova/+bug/178605514:50
openstackLaunchpad bug 1786055 in OpenStack Compute (nova) "performance degradation in placement with large number of resource providers" [High,Confirmed]14:50
cdentthe diff within already has one of the fixes (maybe; the functional tests still pass) and that fix is the one that saves the most time14:51
cdentlet me know if I'm not making any sense in that report14:51
efriedThanks cdent, nice work sir.14:54
cdents/saves.*/recovers about half the time/14:54
cdent15 -> 7 seconds14:54
cdenti'd happily do this sort of stuff all the time if we could find time for it14:54
efriedjaypipes: Are you working on N-SELECTs-to-1 refactor rn?14:57
*** e0ne has quit IRC14:58
openstackgerritEric Fried proposed openstack/nova master: Fix host validity check for live-migration  https://review.openstack.org/40100915:02
efriedcdent: What about putting your code into an "experimental" job (is that what they call it?) so we can run it via zuul from time to time.15:03
jaypipesefried: yes15:04
openstackgerritMatthew Booth proposed openstack/nova master: fixtures: Track volume attachments within CinderFixtureNewAttachFlow  https://review.openstack.org/58701315:05
openstackgerritMatthew Booth proposed openstack/nova master: fixtures: Fail deleting non-existent attachment in CinderFixtureNewAttachFlow  https://review.openstack.org/58990015:05
cdentjaypipes: is my second chunk fix okay, or are we missing tests that would be upset by that change?15:07
cdentefried: that's probably a good idea. let me do some poking around15:08
efriedcdent: The second-chunk fix (we're talking about getting the rps from the provider summaries, yah?) is glorious. I don't think it needs extra testage.15:09
* cdent nods15:09
efriednot sure what you would do to test it anyway.15:09
cdentit's not that I think it needs extra testage15:09
cdentbut rather that it seems so obvious looking at it that I wonder if it is wrong and is only passing because of twists of fate15:10
cdentbut if those summaries are already "full" then cool15:10
jaypipescdent: that'll work for now. but I'm currentl fixing the root of the problem (pun intended) which is that _build_provider_summaries() also does the whole RP.get_by_uuid() thing.15:11
cdentjaypipes: presumably fixing that could be contained to _build_provider_summaries, in which case the second chunk fix stands15:11
efriedwonder if we could implement some kind of fixture hack that would issue a warning when we call the same method with the same args15:13
efriedcdent: We *should* be guaranteed that the providers summaries contain all of the providers we will need. If it doesn't, that's a bug and I'm okay blowing up hard so we can find it and fix it.15:14
jaypipescdent: not really, since all the callers to _build_provider_summaries() need to find, but like I said, your fix is quick and addresses half of the perf issues.15:15
cdentjaypipes: I'm not able to parse what you just said15:16
cdentjaypipes, efried: or to put it another way: should I go ahead and submit a patch for the small change, or is that all under control in jay's changes?15:18
efriedjaypipes: IMO cdent's fix still makes sense regardless. Even if you cut the 7s down to .07, cdent's cuts the overall hit in half.15:19
jaypipescdent: submit the small change.15:19
efriedbut yeah, fix in one patch or two? I say two.15:19
efriedyeah.15:19
cdentroger15:19
jaypipestwo, yes15:19
jaypipessorry if I wasn't clear on that.15:19
openstackgerritTakashi NATSUME proposed openstack/nova master: [placement] api-ref: add description for 1.29  https://review.openstack.org/58940715:21
openstackgerritChris Dent proposed openstack/nova master: [placement] Avoid rp.get_by_uuid in allocation_candidates  https://review.openstack.org/58994115:29
openstackgerritLiam Young proposed openstack/nova master: Remove Neutron MetaAPIProxy from cellsv2-layout  https://review.openstack.org/58852515:35
openstackgerritSergii Golovatiuk proposed openstack/nova master: libvirt: Always escape IPv6 addresses when used in migration URI  https://review.openstack.org/58954815:35
openstackgerritJay Pipes proposed openstack/nova master: get provider IDs once when building summaries  https://review.openstack.org/58994515:42
* cdent clicks15:42
jaypipescdent: ^ and that should dovetail nicely with your fix.15:42
jaypipescdent: if you wouldn't mind running that (along with your fix) through your bench tool, that would be awesome.15:44
cdentayup15:46
* cdent waits for devstack15:54
cdentI need to further automate my container building workflow15:55
*** tssurya has quit IRC15:57
* jaypipes waits for cdent-ci.org to complete.16:08
cdentunfortunately I just had a ci build failure because I was trying to be clever16:08
cdentso starting over16:08
cdentwe'll be with you shortly caller, all our cpus are busy16:08
openstackgerritMatt Riedemann proposed openstack/nova master: Add the guideline to write API reference  https://review.openstack.org/56905816:15
cdentjaypipes, efried : neither patch: 15.6s. jay's patch: 13.507. my patch: 7.159. both: 3.858s16:32
cdentjay's change is having less impact than I would have expected16:33
jaypipescdent: well, my patch cuts your patch in halfish.16:35
jaypipescdent: and your patch cuts master by halfish16:35
cdentthat's not layered16:35
cdentthat's either or16:35
jaypipescdent: sorry, I mean that put *together*, they seem to make a very positive difference.16:36
cdentwell yes, but it's confusing why yours is not more oomph16:36
cdenti agree it is overall a win16:36
cdentbut I was expecting more16:36
jaypipescdent: it's likely that without your patch, my patch doesn't have as much impact (since your patch clearly cuts down on the first (maybe?) rounds of N-loop queries)16:37
jaypipescdent: I can try a more invasive approach but that would be a ton of work.16:37
jaypipes:)16:37
jaypipescdent: I say let's go with these for now.16:38
cdentyeah, agree16:38
* cdent tries something for sake of curiousity16:38
jaypipesfrom 15.6s to 3.9s is a great improvement for a few hours of hacks.16:38
jaypipescdent: but first... lunch. :)16:39
cdentmy "try something" not particular useful16:53
cdentI saw we merge em and in a few days I'll find something else16:54
*** e0ne has joined #openstack-placement17:11
cdentmriedem: if you've got time to look at https://review.openstack.org/#/q/topic:bug/1786055 those fix the pretty critical perf problem discussion earlier17:12
openstackgerritDan Smith proposed openstack/nova master: Update compute rpc version alias for rocky  https://review.openstack.org/58997217:12
cdents/ion/ed/17:12
mriedemcdent: discussed earlier...in this channel or your blog post?17:27
mriedemprobably doesn't matter to me really17:27
mriedem"makes perf better"17:27
cdentmriedem: sorry, meant here in the channel17:28
cdentwhere we were talking about the bug17:28
mriedemok, so tl;dr makes perf better?17:29
cdentmriedem: makes perf better, just like it says on the reviews17:33
mriedemjust for that,17:34
* mriedem breaks out the red pen17:34
cdent\o/17:34
mriedemi assume ResourceProvider.get_by_uuid is maybe expensive b/c of the joins to find root provider?17:37
mriedemroot & parent17:37
cdentit's not that. it's that is a separate sql call, with all the overhead of making a new conversation with the db17:39
cdent(even when there is connection pooling)17:39
mriedem+217:40
mriedemon yours17:40
cdentso the combined change here is to 2000 calls to get_by_uuid (each with one sql statement)17:40
openstackgerritMerged openstack/nova master: conf: Deprecate 'network_manager'  https://review.openstack.org/53092317:40
cdentinto 1 sql call17:40
cdentthere's still a lot of looping overhead which could be further fixed (later) but it is basically 1/4 the time it was before the changes17:41
mriedemthis goes back to what, pike?17:42
mriedemi'm sure cern would appreciate this....having ~20k providers...17:42
cdentno, this is fairly new17:42
cdentone sec17:43
cdentone problem was introduced here: https://review.openstack.org/#/c/567113/17:43
cdentsorry, wrong17:45
mriedemno that looks right17:46
mriedemhttps://review.openstack.org/#/c/567113/14/nova/api/openstack/placement/objects/resource_provider.py@361017:46
cdentyeah, I was confusing it with https://review.openstack.org/#/c/564351/17:46
cdentthose are the two places17:47
cdentso both are pretty new17:47
cdentmriedem: the root cause of the get_by_uuid was making sure the ProviderSummary has access to root and parent provider info17:49
cdentthe cost of doing get_by_uuid for each one was apparently non-obvious17:49
*** e0ne has quit IRC18:03
*** e0ne has joined #openstack-placement18:20
openstackgerritmelanie witt proposed openstack/nova master: Add functional test for affinity with multiple cells  https://review.openstack.org/58507318:23
openstackgerritmelanie witt proposed openstack/nova master: Make scheduler.utils.setup_instance_group query all cells  https://review.openstack.org/54025818:23
openstackgerritmelanie witt proposed openstack/nova master: Use TLSv1.2 for secure VNC access  https://review.openstack.org/58999218:35
jaypipescdent, mriedem, efried: we're aiming to get these perf fixes into rocky, right? (I hope so, just want to check with you)18:57
mriedemone is approved18:58
mriedemthe other could be backported or put into rc2 if necessary18:58
mriedemask melwitt i guess if it's worth tagging with rocky-rc-potential18:58
mriedemgiven rc1 is tomorrow18:58
melwittit sounds like a major perf improvement, so I'd want to get it into an RC. I don't know if it needs to be RC119:00
openstackgerritMatt Riedemann proposed openstack/nova master: FakeDriver: adding and removing instances on live migration.  https://review.openstack.org/24361319:09
*** e0ne has quit IRC19:11
*** e0ne has joined #openstack-placement19:19
*** e0ne has quit IRC19:23
melwittI've tagged the bug with rocky-rc-potential19:23
melwittit's really a major perf regression, so important enough for an RC19:25
cdenti'm comfy with both, and think jay's thing is fine as is; we can tweak it for more betterness later19:39
efriedcdent, jaypipes, mriedem, melwitt: Back at the keys. What's the status of the perf fixes? They merging yet?19:42
melwittone is approved19:42
melwittjaypipes's is under review and is a candidate for RC2 being that it is low risk and solves a major perf regression19:43
efriedmelwitt: Okay, I upgraded https://review.openstack.org/#/c/589945/ to +2.19:43
efriedmelwitt: What's "RC2", and what's the approved one in if not that, and why wouldn't both of these go into the same place(s)?19:44
melwittif it lands before EOD tomorrow, we won't need a RC219:44
melwittdoes that change not need any test coverage?19:44
efriedmelwitt: No. We could add unit tests for it, but it's _well_ covered by object-level and functional tests all over the place.19:45
melwittok19:45
cdentmelwitt: it's effectively the same as the other one: existing func tests cover it. there are quite a lot of placement sql-related things for which large chunks are taking "as is" because it's mostly just "make me a sql query"19:45
melwittI see19:46
melwittso it's an in-place swap that is covered by existing coverage19:46
cdentpretty much19:46
efriedcdent: The test whose results you quoted on https://review.openstack.org/#/c/589945/ -- that was GET /a_c with how many resources?19:48
cdentefried: it says right there: "with 1000 resource providers"19:48
efriedcdent: GET /a_c?<what here?>19:49
efriedcause you had mentioned one run with only one resource class and another with more than that.19:49
cdentoh, in the resources param, same as before: 3 resource classes19:49
efriedokay. Then your patch should really be getting us from 4000 calls down to 1000.19:50
efriedand then with jay's, down to 119:50
efriedbecause before we were doing get_by_uuid for each AllocationRequestResource19:51
cdentyeah, that makes sense19:51
cdentI feel like perhaps there's a lot we can do to make this stuff much better (later)19:52
efriedI too am surprised that jaypipes' only improved by ~13.5%19:52
efriedactually, it seems to be a bit more linear than that.19:53
jaypipesefried: it improved from baseline 13.5%. It improved from cdent's patch 50%.19:53
cdentbecause if that is 3000 loop because of that tuple arrangement, that seems... wastleful19:53
efriedjaypipes: yeah. I guess because the db is doing some kind of caching or whatever.19:53
jaypipesefried: like I mentioned in a response, I *think* the reason is b/c cdent's patch addresses an outer loop and mine addresses an inner loop of sort.19:54
cdentjaypipes: i'm not sure that's the case, I don't see the loops19:54
cdentit's create summaries -> use summaries19:54
jaypipesefried: or vice versa... I'm not entirely sure but I think it's clear that merging both patches is better than merging either.19:55
efriedcertainly19:55
cdenttotally agree we should merge both19:55
cdentsometime soon we should do a more complete analysis19:55
jaypipescdent: right, but my patch modifies the "create summaries" part to be a single query instead of 1000 queries.19:55
jaypipescdent: so maybe my part is the "outer loop" I've been talking about...19:55
cdentyes, but the loops do not intersect19:56
jaypipesin any case, not really worth debating :)19:56
cdentloop A then loop B19:56
cdent:)19:56
jaypipescdent: ack.19:56
cdentsomeday it is worth understanding, I hope, but not now19:56
jaypipes++19:56
jaypipesit will all be rewritten in rust tomorrow anyway.19:56
cdentoh it's rust now? cool19:57
cdentthe conversation in the nova channel reminds of a thing which today's performance issue made me realize may be less interesting that I though: having a "super-placement" server that manages multiple regions. each region's rps identified by a sort of auto-aggregate19:59
jaypipescdent: I was joking of course. :)20:00
openstackgerritMerged openstack/nova master: Refactor cell_type in compute/api.py  https://review.openstack.org/58983320:00
jaypipescdent: having a sharding key in the placement DB would be a good thing, yes.20:01
cdentme too, I assumed "in rust tomorrow" is the new "in go tomorrow"20:01
jaypipescdent: well, with PEP 572, we're moving Python one step closer to being Golang. Much to dansmith's everlasting joy I presume.20:01
dansmithdude I effing love golang20:02
* dansmith checks to see if any recruiters were watching20:02
efriedjaypipes, cdent: FWIW, I looked around for other places we're looping get_by_uuid. Notwithstanding a TODO in nova.api.openstack.placement.handlers.allocation._resource_providers_by_uuid, this (GET /a_c) is really the only place we're likely to be doing it for more than a small handful of providers. E.g. querying for allocations, aggregates, traits, etc. - it's either a single provider, or (for allocations) is likely t20:02
cdentlikely t$20:02
cdentefried: seems you trunc'd20:03
efriedis likely to involve only a few providers.20:03
efriedweird20:03
mriedem+W on the 2nd perf patch from jay20:03
efriedwait, which 'likely' did I trunc on?20:03
* efried waits for eavesdrop to catch up20:04
cdent"for allocations) is likely t"20:04
cdentpurpler is always up to date: http://p.anticdent.org/logs/openstack-placement?dated=2018-08-08%2020:04:37.232431#bottom20:04
efriedokay, yeah20:04
cdentof course purpler has a nice bug: [t 2kaq]20:05
purplerbot<efried> jaypipes, cdent: FWIW, I looked around for other places we're looping get_by_uuid. Notwithstanding a TODO in nova.api.openstack.placement.handlers.allocation._resource_providers_by_uuid, this (GET /a_c) is really the only place we're likely to be doing it for more than a small handful of providers. E.g. querying for allocations, aggregates, traits, etc. - it's either a single provider, or (for allocations) is likely t [20120:05
efriedeek20:05
cdentoh interesting, the bug has changed20:05
cdentan overly long line used to cause it to crash20:06
melwittmriedem: thanks. we are on track for RC1andOnly20:07
mriedemhow romantic20:09
jaypipesmelwitt: RCAllFor1?20:09
mriedembut i've got a promise ring for rc220:09
melwitt;p;20:09
melwittI mean, lol20:09
mriedemi'll be out of the country for rc2 anyway so doesn't matter to me20:09
mriedemyou a-holes are on your own20:09
jaypipes:)20:09
melwittwell!20:09
jaypipesmriedem: have fun on your yearly pilgrimage to antarctica.20:10
mriedemi vomit chewed up fish into orphaned penguin mouths20:10
melwittsounds like a vacation20:10
cdentif you get a chance, highly recommended (antarctica, not the vomit)20:11
cdenthttps://www.flickr.com/photos/cdent/tags/antarctica/20:12
dansmithjaypipes: pretty sure the place mriedem is going is the opposite of antarctica20:13
melwitttropical?20:14
melwittheated?20:14
jaypipescdent: great pics :)20:14
cdentit was pretty amazing. penguins make some serious smell.20:15
efriedye gods please never ever ever20:15
efriedWinter in Texas pisses me off. Places with permanent ice? Forgetaboutit.20:16
efriedI've been known to go to cold places when there's skiing to be had.20:16
cdentfor CVO permanent20:17
cdentnight all20:31
*** cdent has quit IRC20:31
openstackgerritmelanie witt proposed openstack/nova master: Add a prelude release note for the 18.0.0 Rocky GA  https://review.openstack.org/58930320:39
openstackgerritSergii Golovatiuk proposed openstack/nova master: libvirt: Always escape IPv6 addresses when used in migration URI  https://review.openstack.org/58954820:51
openstackgerritSergii Golovatiuk proposed openstack/nova master: libvirt: Always escape IPv6 addresses when used in migration URI  https://review.openstack.org/58954821:07
openstackgerritJay Pipes proposed openstack/nova master: split gigantor SQL placement query into multiple  https://review.openstack.org/59004121:13
efriedooo ^21:13
openstackgerritMerged openstack/nova master: xx_instance_type_id in list_migrations should be integer  https://review.openstack.org/58848121:19
jaypipesefried: yeah, I'd like cdent to run that patch through his benchmarks to validate it doesn't have too much of a negative impact on performance (it shouldn't, but good to check)21:22
efriedI'm waiting for test results. Did you run locally?21:22
jaypipesefried: of course21:24
efriedyou say that like it's a foregone conclusion. I can reheat my coffee with my laptop if I try that.21:25
*** mriedem has quit IRC21:30
*** mriedem has joined #openstack-placement21:31
openstackgerritMerged openstack/nova master: Add explicit functional-py36 tox target  https://review.openstack.org/58982521:38
openstackgerritMerged openstack/nova master: Add the guideline to write API reference  https://review.openstack.org/56905821:38
openstackgerritMerged openstack/nova master: Remove Neutron MetaAPIProxy from cellsv2-layout  https://review.openstack.org/58852521:56
*** nicolasbock has quit IRC22:06
*** edmondsw has quit IRC22:10
openstackgerritMatt Riedemann proposed openstack/nova master: Docs: Add guide to migrate instance with snapshot  https://review.openstack.org/58444222:50
*** stephenfin_ has joined #openstack-placement23:02
*** sean-k-mooney has quit IRC23:02
*** stephenfin has quit IRC23:02
openstackgerritmelanie witt proposed openstack/nova stable/ocata: [stable only] Handle quota usage during create/delete races  https://review.openstack.org/58241323:04
openstackgerritMatt Riedemann proposed openstack/nova master: Update nova network info when doing rebuild for evacuate operation  https://review.openstack.org/38285323:11
openstackgerritMatt Riedemann proposed openstack/nova master: Update nova network info when doing rebuild for evacuate operation  https://review.openstack.org/38285323:12
openstackgerritMatt Riedemann proposed openstack/nova stable/pike: Fix instance evacuation with PCI devices  https://review.openstack.org/59005923:18
openstackgerritMatt Riedemann proposed openstack/nova stable/queens: Update nova network info when doing rebuild for evacuate operation  https://review.openstack.org/59006223:33
openstackgerritMerged openstack/nova master: get provider IDs once when building summaries  https://review.openstack.org/58994523:34
openstackgerritMerged openstack/nova master: libvirt: Reduce calls to qemu-img during update_available_resource  https://review.openstack.org/58951323:57
openstackgerritMerged openstack/nova master: Add tempest-slow job to run the tempest slow tests  https://review.openstack.org/56769723:57
openstackgerritMerged openstack/nova master: Fix bad links for admin-guide  https://review.openstack.org/58025923:57
openstackgerritMerged openstack/nova master: [placement] Avoid rp.get_by_uuid in allocation_candidates  https://review.openstack.org/58994123:57
openstackgerritMerged openstack/nova master: api-ref: fix min_version for parent_provider_uuid in responses  https://review.openstack.org/57957723:57
openstackgerritMerged openstack/nova master: doc: mark the max microversion for rocky  https://review.openstack.org/58959823:57

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