Tuesday, 2018-06-26

*** tetsuro has quit IRC00:24
*** tetsuro has joined #openstack-placement00:26
*** edmondsw has quit IRC00:37
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (6)  https://review.openstack.org/57411301:34
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (7)  https://review.openstack.org/57497401:35
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (8)  https://review.openstack.org/57531102:30
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (9)  https://review.openstack.org/57558102:30
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (10)  https://review.openstack.org/57601704:06
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (11)  https://review.openstack.org/57601804:06
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (12)  https://review.openstack.org/57601904:07
openstackgerritMerged openstack/nova master: Make nova list and migration-list ignore down cells  https://review.openstack.org/57573405:07
*** e0ne has joined #openstack-placement05:13
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (13)  https://review.openstack.org/57602005:44
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (14)  https://review.openstack.org/57602705:45
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (15)  https://review.openstack.org/57603105:45
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (16)  https://review.openstack.org/57629905:46
*** tssurya has joined #openstack-placement05:56
*** openstackgerrit has quit IRC06:04
*** e0ne has quit IRC06:08
*** openstackgerrit has joined #openstack-placement06:15
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (17)  https://review.openstack.org/57634406:15
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (18)  https://review.openstack.org/57667306:15
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (19)  https://review.openstack.org/57667606:16
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (20)  https://review.openstack.org/57668906:16
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (21)  https://review.openstack.org/57670906:16
openstackgerritDeepak Mourya proposed openstack/nova master: [WIP] Handle CannotDeleteParentResourceProvider to 409 Conflict  https://review.openstack.org/57772606:35
*** nicolasbock has joined #openstack-placement06:40
openstackgerritTakashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (22)  https://review.openstack.org/57671206:40
*** peereb has joined #openstack-placement06:48
*** peereb has quit IRC06:49
*** peereb has joined #openstack-placement06:49
*** peereb has quit IRC06:50
openstackgerritTakashi NATSUME proposed openstack/nova master: Add TODO note for mox removal  https://review.openstack.org/57675806:52
openstackgerritTakashi NATSUME proposed openstack/nova master: Add TODO note for mox removal  https://review.openstack.org/57675806:54
openstackgerritsahid proposed openstack/nova master: hardware: fix memory check when hugepages requested  https://review.openstack.org/53216807:10
openstackgerritsahid proposed openstack/nova stable/queens: add mtu to libvirt xml for ethernet and bridge types  https://review.openstack.org/57801007:30
openstackgerritChason Chan proposed openstack/nova master: Update install guide for placement database configuration  https://review.openstack.org/57801307:41
openstackgerritzhangyangyang proposed openstack/nova master: Remove ChanceScheduler  https://review.openstack.org/57638407:44
*** ttsiouts has joined #openstack-placement07:51
*** e0ne has joined #openstack-placement08:05
openstackgerritOpenStack Proposal Bot proposed openstack/nova master: Imported Translations from Zanata  https://review.openstack.org/57801908:08
openstackgerritLee Yarwood proposed openstack/nova stable/pike: libvirt: slow live-migration to ensure network is ready  https://review.openstack.org/55903208:36
openstackgerritChris Dent proposed openstack/nova master: Use nova.db.api directly  https://review.openstack.org/54326208:40
*** cdent has joined #openstack-placement08:57
openstackgerritSurya Seetharaman proposed openstack/nova-specs master: Handling a down cell  https://review.openstack.org/55736908:58
alex_xucdent: a question for https://review.openstack.org/#/c/577915/1/nova/api/openstack/placement/handlers/allocation.py@320, if we failed the creation of allocation, the consumer generation can't be rollback, it is on purpose?08:59
cdentlet me think about that a sec alex_xu , brb09:00
alex_xucdent: yea, thanks09:00
cdentalex_xu: the increment of the generation doesn't happen until the end of the create_all. In my patch the issue is that when you create a new consumer it's generation becomes 0, and yes, at that point there is a problem if the allocations fail, in part because of: https://bugs.launchpad.net/nova/+bug/177859109:03
openstackLaunchpad bug 1778591 in OpenStack Compute (nova) "GET /allocations/{uuid} on a consumer with no allocations provides no generation" [Medium,Triaged]09:03
openstackgerritdo3meli proposed openstack/nova master: docs: add nova host-evacuate command to evacuate documentation  https://review.openstack.org/57804009:04
cdentwe also need to add a test for: generation is now 0, but there are still no allocations, because the first attempt failed, so now what09:04
cdentsigh. this is going to be complicated09:04
cdentI think there is a suite of interlocking problems09:05
alex_xucdent: yea, that actually isn't your patch problem09:06
cdentIf I get time today, alex_xu, I'll try to write up a summary of all the bits that seem off.09:07
alex_xucdent: and we have window when iterate the allocation for each RPs09:07
alex_xuif there is another request with a consumer generation in the middle of the first request.09:07
alex_xubut sounds ok, it just got an unexpected generation increase.09:08
cdentwhen efried and edleafe come around we probably need to go over this stuff as a group with a fine tooth comb as the edge cases seem...weird09:10
alex_xucdent: ok, I just commented on the patch09:11
cdentexcellent, thank you09:11
cdentalex_xu: did you save your comment, I haven't see it yet (or maybe you are still reviewing)09:20
alex_xucdent: not yet, still writing...09:20
cdent09:22
openstackgerritLee Yarwood proposed openstack/nova stable/ocata: libvirt: slow live-migration to ensure network is ready  https://review.openstack.org/55903409:26
openstackgerritTakashi NATSUME proposed openstack/nova master: [placement] api-ref: add traits patameter  https://review.openstack.org/57804809:26
openstackgerritTakashi NATSUME proposed openstack/nova master: [placement] api-ref: add traits parameter  https://review.openstack.org/57804809:27
alex_xucdent: done09:28
cdentthanks09:30
*** takashin has left #openstack-placement09:36
*** cdent has quit IRC10:09
*** ttsiouts has quit IRC10:14
openstackgerritJens Harbott (frickler) proposed openstack/nova stable/pike: mock utils.execute() in qemu-img unit test  https://review.openstack.org/57805810:19
openstackgerritsahid proposed openstack/nova stable/queens: add mtu to libvirt xml for ethernet and bridge types  https://review.openstack.org/57801010:29
*** cdent has joined #openstack-placement10:31
openstackgerritStephen Finucane proposed openstack/nova master: network: Rename '_get_phynet_info'  https://review.openstack.org/57723310:38
openstackgerritStephen Finucane proposed openstack/nova master: network: Rename 'create_pci_requests_for_sriov_ports'  https://review.openstack.org/57548810:38
openstackgerritStephen Finucane proposed openstack/nova master: network: Always retrieve network information if available  https://review.openstack.org/56444410:38
openstackgerritStephen Finucane proposed openstack/nova master: network: Retrieve tunneled status in '_get_physnet_info'  https://review.openstack.org/56444510:38
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add NUMACell.network_info  https://review.openstack.org/56443910:38
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add NUMATopologyLimits.networks  https://review.openstack.org/57548610:38
openstackgerritStephen Finucane proposed openstack/nova master: hardware: Start accounting for networks in NUMA placement  https://review.openstack.org/56444810:38
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add RequestSpec.numa_networks  https://review.openstack.org/56444210:38
openstackgerritStephen Finucane proposed openstack/nova master: scheduler: Start utilizing RequestSpec.numa_networks  https://review.openstack.org/56445210:38
openstackgerritStephen Finucane proposed openstack/nova master: conf: Add '[neutron] physnets' and related options  https://review.openstack.org/56444010:38
openstackgerritStephen Finucane proposed openstack/nova master: libvirt: Start populating NUMACell.network_info field  https://review.openstack.org/56444110:38
openstackgerritVladyslav Drok proposed openstack/nova master: rbd: flatten images when creating/unshelving an instance  https://review.openstack.org/45788611:01
*** ttsiouts has joined #openstack-placement11:02
*** tetsuro has quit IRC11:09
openstackgerritMerged openstack/nova master: Bump keystoneauth1 minimum to 3.9.0  https://review.openstack.org/57743112:02
openstackgerritMerged openstack/nova master: Adapter raise_exc=False by default  https://review.openstack.org/57743712:03
openstackgerritChason Chan proposed openstack/nova master: Fix the duplicated config options of api_database and placement_database  https://review.openstack.org/57702312:10
*** ttsiouts has quit IRC12:25
openstackgerritMerged openstack/nova master: fix PowerVM get_bootdisk_path docstring  https://review.openstack.org/57697712:37
openstackgerritMerged openstack/nova master: api-ref: Fix parameters about trusted certificate IDs  https://review.openstack.org/57604612:37
openstackgerritMerged openstack/nova master: Update links in README  https://review.openstack.org/57464412:37
cdentjaypipes: if you're back in the game, there's some consumer generation related confusion that you might find interesting. couple of related bugs: https://bugs.launchpad.net/nova/+bug/1778576 https://bugs.launchpad.net/nova/+bug/1778591 and some irc discussion: http://p.anticdent.org/4jnh and (earlier, the start of the discussion) http://p.anticdent.org/28FY12:44
openstackLaunchpad bug 1778576 in OpenStack Compute (nova) "making new allocations for one consumer against multiple resource providers fails with 409" [High,In progress] - Assigned to Chris Dent (cdent)12:44
openstackLaunchpad bug 1778591 in OpenStack Compute (nova) "GET /allocations/{uuid} on a consumer with no allocations provides no generation" [Medium,Triaged]12:44
jaypipescdent: ack, thanks for the heads up.12:46
cdentjaypipes: I'm hoping to have enough time today to sort of do an exploration+summary but forecast unclear12:47
jaypipescdent: k, will try to get through those bugs and reading this morning.12:48
cdentcool, thanks12:48
*** ttsiouts has joined #openstack-placement12:49
edleafecdent: have to leave for a dr appt in about 30 min, but I think that as long as you have two places where consumer records can be created, you will have this issue12:50
cdentedleafe: I think there is more than one issue, so which "this issue" do you mean?12:51
*** mriedem has joined #openstack-placement12:51
edleafecdent: the code in https://review.openstack.org/#/c/564641/2/nova/api/openstack/placement/objects/resource_provider.py may be very if-elsey, but I think that it is what is needed12:51
edleafeThe "loop" problem12:51
* cdent takes note12:53
cdentI suspect someone, maybe me, needs to go through and delineate and tease out the issues as clearly as possible, because we're all doing that thing where we move from one to another fluidly because they are sort of, but not quite, the same12:54
cdentI _think_ there are at least 3 issues, but I'm not certain12:54
jaypipescdent: you're probably not surprised to learn I disagree with edleafe on this.12:56
*** edmondsw has joined #openstack-placement12:58
cdentgiven that i'm still not quite sure on what's happening, i'm refraining from forming any opinions12:58
efriedjaypipes: Beyond that bug, I think the most immediate thing we need your eyeballs on is the last nrp-alloc-cands patch: https://review.openstack.org/#/c/565487/13:05
jaypipesefried: k13:05
efriedcdent: Going to be leaning heavily on your review for https://review.openstack.org/#/c/578013/13:13
cdentnoted, thanks13:13
efriedIt seems like it may be oversimplified - but maybe that's what we want.13:13
efriedi.e. tell them one way to do it, even if there's really three.13:14
cdentyeah, I was just going to ask something along those lines. The other thing I'm curious about is: do you know if these are _only_ fresh install instructions?13:16
efriedI don't know, no.13:19
cdentsigh. I'm currently in the mental state where I need a to do list to manage my to do lists. Which I think might mean I need a walk or something.13:19
efriedheh13:20
openstackgerritMatt Riedemann proposed openstack/nova master: Remove support for /os-fixed-ips REST API  https://review.openstack.org/56851613:21
*** e0ne has quit IRC13:39
openstackgerritMatt Riedemann proposed openstack/nova master: Fix API reference for os-floating-ips-bulk  https://review.openstack.org/57810613:39
openstackgerritMatt Riedemann proposed openstack/nova master: Fix API reference for os-floating-ips-bulk  https://review.openstack.org/57810613:41
openstackgerritMatt Riedemann proposed openstack/nova master: Fix API reference for os-floating-ip-dns  https://review.openstack.org/57810713:41
*** e0ne has joined #openstack-placement13:44
openstackgerritxulei proposed openstack/nova master: Disable limits if force_hosts or force_nodes is set  https://review.openstack.org/57669313:46
openstackgerritxulei proposed openstack/nova master: Disable limits if force_hosts or force_nodes is set  https://review.openstack.org/57669313:48
openstackgerritMatt Riedemann proposed openstack/nova master: Update API reference for os-floating-ip-pools  https://review.openstack.org/57810813:48
mriedemefried: cdent: when i wrote the bug report for that, the install guide changes were pretty trivial i think13:54
mriedem1. create placement db13:54
mriedem2. config nova.conf13:54
mriedemthe rest is already in there: nova-manage api_db sync13:55
mriedemwill sync the placement db once configured13:55
cdentmriedem: yeah, I think the confusion efried and I were having was whether that was sufficient given some of the other things one _might_ do13:56
mriedemooo i think i see a bug14:02
mriedemcdent: this should be using version2 https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L85914:02
cdentmriedem: hmmm. seems so. I reckon that's a merge error oversight. The change to using version2 is newer than the optional db stuff14:05
mriedemyeah i figured14:05
mriedemi'm also not really sure how that version2 is optional, unless that's how nargs='?' handles it, but it doesn't have a default14:05
mriedemmust default to None?14:05
mriedemstephenfin: ^14:05
cdentcan you either make a bug or just fix it, I'm in a hole on the consumer generation weirdness, chasing rabbits14:05
mriedemyeah14:06
mriedemthe lowest of hanging fruits14:06
cdentmy current rabbit is running around saying that usage calculations are broken14:07
cdenti hope it is a hallucination14:07
mriedemhttps://bugs.launchpad.net/nova/+bug/177873414:08
openstackLaunchpad bug 1778734 in OpenStack Compute (nova) "nova-manage api_db sync uses the wrong version option when synchronizing the placement database" [Medium,Triaged]14:08
stephenfinOops14:09
stephenfinmriedem: I can fix that, if you want. Remove the old one too, while I'm there (separate patch)14:10
openstackgerritMatt Riedemann proposed openstack/nova master: Fix CLI docs for nova-manage api_db commands  https://review.openstack.org/57811614:19
*** e0ne has quit IRC14:23
*** e0ne has joined #openstack-placement14:26
openstackgerritStephen Finucane proposed openstack/nova master: libvirt: Drop MIN_LIBVIRT_VHOSTUSER_MQ  https://review.openstack.org/56547214:29
*** efried has quit IRC14:40
*** efried has joined #openstack-placement14:40
cdentmriedem, efried, edleafe : my rabbit was not a hallucination: https://bugs.launchpad.net/nova/+bug/177874314:47
openstackLaunchpad bug 1778743 in OpenStack Compute (nova) "When POSTing to /allocations with multiple consumers it is possible violate inventory capacity constraints" [Undecided,New]14:47
mriedem:(14:50
cdenti assume it is beacuse we are in an unflushed transaction14:50
cdentfor each allocation, there is capacity, but there isn't in aggregate14:50
openstackgerritMerged openstack/nova master: Ironic update_provider_tree: restore traits override  https://review.openstack.org/57687714:56
openstackgerritMerged openstack/nova stable/queens: ironic: stop lying to the RT when ironic is down  https://review.openstack.org/57562814:56
*** rubasov has quit IRC15:01
openstackgerritMatt Riedemann proposed openstack/nova master: Skip ServerShowV247Test.test_update_rebuild_list_server in nova-cells-v1 job  https://review.openstack.org/57812515:03
openstackgerritChris Dent proposed openstack/nova master: [placement] Add test demonstrating bug 1778743  https://review.openstack.org/57812615:03
openstackbug 1778743 in OpenStack Compute (nova) "When POSTing to /allocations with multiple consumers it is possible violate inventory capacity constraints" [Medium,Triaged] https://launchpad.net/bugs/177874315:03
*** e0ne has quit IRC15:07
*** e0ne has joined #openstack-placement15:11
efriedcdent: Did you open a bug for "leaky consumers"?15:13
cdentefried: no I mentioned it one of the other bugs I created as a factor, but didn't open a specific bug for that. there are a few more to come as well, once I pop my way out of this rabbit hole15:14
efriedcdent: I'll open that one.15:15
openstackgerritChris Dent proposed openstack/nova master: WIP: [placement] Fix capacity tracking in POST /allocations  https://review.openstack.org/57813315:30
*** ttsiouts has quit IRC15:36
*** ttsiouts has joined #openstack-placement15:43
openstackgerritStephen Finucane proposed openstack/nova master: network: Always retrieve network information if available  https://review.openstack.org/56444415:43
openstackgerritStephen Finucane proposed openstack/nova master: network: Retrieve tunneled status in '_get_physnet_info'  https://review.openstack.org/56444515:43
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add NUMACell.network_affinity  https://review.openstack.org/56443915:43
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add NUMATopologyLimits.networks  https://review.openstack.org/57548615:43
openstackgerritStephen Finucane proposed openstack/nova master: hardware: Start accounting for networks in NUMA placement  https://review.openstack.org/56444815:43
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add RequestSpec.numa_networks  https://review.openstack.org/56444215:43
openstackgerritStephen Finucane proposed openstack/nova master: scheduler: Start utilizing RequestSpec.numa_networks  https://review.openstack.org/56445215:43
openstackgerritStephen Finucane proposed openstack/nova master: conf: Add '[neutron] physnets' and related options  https://review.openstack.org/56444015:43
openstackgerritStephen Finucane proposed openstack/nova master: libvirt: Start populating NUMACell.network_info field  https://review.openstack.org/56444115:43
mriedemcdent: just a typo in https://review.openstack.org/#/c/578126/ otherwise i'd +215:48
cdentmriedem: yeah, I fixed that in the followup and then forgot to fix it in the rebase15:48
cdenti'm assuming the followup will need some tweakage to get to happiness15:49
openstackgerritKashyap Chamarthy proposed openstack/nova master: conf: libvirt: Make `/dev/urandom` the default for 'rng_dev_path'  https://review.openstack.org/57738515:57
openstackgerritChris Dent proposed openstack/nova master: [placement] demonstrate part of bug 1778591 with a gabbi test  https://review.openstack.org/57813915:58
openstackbug 1778591 in OpenStack Compute (nova) "GET /allocations/{uuid} on a consumer with no allocations provides no generation" [Medium,Triaged] https://launchpad.net/bugs/177859115:58
openstackgerritChris Dent proposed openstack/nova master: [placement] Add test demonstrating bug 1778743  https://review.openstack.org/57812616:08
openstackgerritChris Dent proposed openstack/nova master: WIP: [placement] Fix capacity tracking in POST /allocations  https://review.openstack.org/57813316:08
openstackbug 1778743 in OpenStack Compute (nova) "When POSTing to /allocations with multiple consumers it is possible violate inventory capacity constraints" [Medium,In progress] https://launchpad.net/bugs/1778743 - Assigned to Chris Dent (cdent)16:08
cdentmriedem: fixed the typo, the child remains wippy16:09
*** e0ne has quit IRC16:09
*** e0ne has joined #openstack-placement16:13
openstackgerritMatt Riedemann proposed openstack/nova stable/ocata: Use instance project/user when creating RequestSpec during resize reschedule  https://review.openstack.org/57792916:14
openstackgerritMerged openstack/nova master: xenapi: drop deprecated vif_driver config option  https://review.openstack.org/56787716:14
cdentefried: did you create that bug you were planning to create? After my explorations today I think there are going to be quite a few more.16:23
efriedI was partway through composing when I got an interrupt.  Resuming now.16:23
cdenti know how that can be16:23
openstackgerritMerged openstack/nova master: network: Rename '_get_phynet_info'  https://review.openstack.org/57723316:26
openstackgerritMerged openstack/nova master: network: Rename 'create_pci_requests_for_sriov_ports'  https://review.openstack.org/57548816:26
efriedcdent: What's the problem with deleting the consumer when its last allocation goes away?16:26
cdentI don't have a problem with that, it's just a significant change to the way the code is currently organized16:27
efriedcdent: No possibility of weird races or anything?16:27
efriedNew guy comes in with generation=null and succeeds, but that's okay innit?16:28
cdentI think so, yes16:28
efriedit's a behavior change from today, where the new guy would have to use the proper, current generation.  But I'm not seeing any race or other aberrant behavior arising from that.16:28
cdentbecause we use ints there's some potential for a '1' to not mean the same as another '1'16:28
efriedmm, that's right.16:29
efriedokay, yeah, that one is valid..16:29
cdentwhich is a hard one to get roun16:29
cdentd16:29
efriedI suppose it is.  Unless we start using random hash/uuid generations, which wouldn't be the worst idea.16:31
cdent"significant change"16:34
cdentbut yeah, that woul be one way16:34
cdentI'll likely have some real ideas tomorrow. At the moment I'm pretty washed up16:34
efriedcdent: https://bugs.launchpad.net/nova/+bug/177876316:34
openstackLaunchpad bug 1778763 in OpenStack Compute (nova) "Consumers never get deleted" [Undecided,New]16:34
*** e0ne has quit IRC16:35
efriedcdent: for bug 1778743, you would never get such an allocation record as an allocation_candidate, right?  It's only if you create it by hand and POST it?16:40
openstackbug 1778743 in OpenStack Compute (nova) "When POSTing to /allocations with multiple consumers it is possible violate inventory capacity constraints" [Medium,In progress] https://launchpad.net/bugs/1778743 - Assigned to Chris Dent (cdent)16:40
cdentI believe that's correct, but POST /allocations was created for things like migrations, which manuipulate allocations in interesting ways. And besides you'd never want to use POST /allocations with something from /allocation_candidates (I hope) because there's only one consumer involved there.16:41
cdentI was _so_ close to have zero patches in progress16:48
openstackgerritSurya Seetharaman proposed openstack/nova stable/queens: Make nova list and migration-list ignore down cells  https://review.openstack.org/57815216:54
*** e0ne has joined #openstack-placement17:11
*** ttsiouts has quit IRC17:14
*** ttsiouts has joined #openstack-placement17:15
*** e0ne has quit IRC17:18
*** ttsiouts has quit IRC17:20
openstackgerritMerged openstack/nova master: Remove mox in test_conductor.py (1)  https://review.openstack.org/56465817:28
openstackgerritjiang wei proposed openstack/nova master: Add action initiator attribute to the instance payload  https://review.openstack.org/53624317:36
*** tssurya has quit IRC17:43
openstackgerritDan Smith proposed openstack/nova master: Allow templated cell_mapping URLs  https://review.openstack.org/57816317:57
cdentefried: I'm going to have to be done with today at least for now. I think I've dropped most of my state either into bugs, or the starts at patches (linked to bugs).18:02
efriedcdent: Roger that.  Good digging today, sir.18:03
cdenttoo deep too deep18:03
cdenti left fighting words about DELETE /consumer on that bug, but other than that I mostly agree with your comments on "So the consumer is getting created, even though the overall operation fails?"18:04
cdentthat quoted bit is the central issue in this entire suite of problems18:04
cdentthe keystone and all that18:05
cdentanyway, bbl18:05
cdentefried: (in case you wandered off ^)18:05
* cdent wanders off18:05
efriedack18:05
edleafeefried: what is the concern about "leaking" (orphan) consumer records? Just DB bloat, or something else?18:12
efriedjust db bloat18:12
edleafeSo it18:12
efriededleafe: Considering how many instances a "real" openstack deployment can create & destroy and how long a real db could live.18:12
edleafeugh18:12
edleafeSo it's for optimization?18:13
efriededleafe: I wouldn't call it optimization per se.  It's like fixing a memory leak.18:13
edleafeI guess I'm not sure that it would be a DB hit18:13
edleafeWhy memory?18:14
efriedI was allegorying18:14
edleafeAre we planning to run in SQLite?18:14
efriedNo, I'm saying the *problem* is akin to a memory leak.  You wouldn't say you're "optimizing" if you're fixing a memory leak.18:14
efriedIn this case, a <whatever storage medium is hosting your tables> leak.18:15
edleafeIt just seems that a deployment that would have sufficient volume to make this amount of "leaky" data significant would also have a DB that can handle it18:15
efriedThat seems like a terrible reason to not solve it.18:15
efriedthough I suppose it could justify e.g. a CLI tool to "clean up" empty consumers, as opposed to a real fix.18:16
edleafeYou could always have a maintenance that deletes all consumers w/no allocs18:16
edleafejinxish18:16
jrolldeployers asked for tooling to clean up deleted instances for a while before we had it, they're going to ask for the same for consumers if they aren't deleted :)18:16
edleafejroll: sure, but instances are a lot heavier18:17
efriedWe will probably have to do that for older deployments, unless we find a way to backport whatever cleanup we decided on.18:17
jrolledleafe: sure, but people try to keep their DBs trim18:17
efriedA consumer is, what, three UUIDs and an int?18:17
edleafejroll: or they could just use MongoDB - it's web scale! https://www.youtube.com/watch?v=b2F-DItXtZs18:18
jrolljust my 2c, of course18:18
jrollsigh18:18
efriedWhat's the objection to having an actual /consumers/{u} endpoint?18:19
edleafeWhat's the use case?18:20
efriedum18:21
efriedPUT /consumers/{u}18:22
efriedPUT /allocations/{u} {...}18:22
efried...18:22
efriedPUT /allocations/{u} {}18:22
efriedDELETE /consumers/{u}18:22
edleafeI understand the alloc cases; I'm just wondering why we would ever need to create a consumer with no allocations18:22
edleafeespecially since you see that as a "leak"18:23
efriedWhy do we need to create resource providers with no inventory?18:23
edleafeWe really don't need to18:24
efriedArguably a shelved instance is a real consumer with no allocations.18:24
edleafeAn RP with no inventory is also a "leak"18:24
efriedRight.  But we don't do that - we create a provider and then immediately do stuff with it.  And when its life is over - but not before - we explicitly delete it.  Why should consumers be different?18:25
edleafeBut you don't create a shelved instance. You create an instance and then shelve it18:25
efriedWe create the instance before we allocate to it.18:25
efriedWe just don't happen to parallel that into placement.18:25
efriedLook, I'm not married to the idea of symmetry for symmetry's sake.  If there were a reasonable, non-awkward way to do this without the leak, I wouldn't be advocating for it.  But the fact is that the way we're doing it now is messy and leaky.18:26
efriedWe've got the same problem for aggregates, but I'm accepting of the argument that we don't need to solve it there, because placement doesn't have a use case (that we know of) where aggregates are getting created and deleted at high volume and frequency.18:27
edleafeOh, I agree that the way we are creating the records is messy. But you could add a check when deleting allocs to see if those were the last allocs for that consumer, and if so, delete it.18:28
efriedyes, we could do that.18:28
efriedI mentioned it as the first option in one of the bugs.18:29
edleafeI think that in this case it's best to think in non-Nova terms18:29
edleafeThe fridge is fine, but my mental model is a library18:29
edleafeYou can have consumers who don't happen to have any books checked out at the moment18:29
edleafeThat would be a use case for PUT /consumers18:30
edleafei.e., issue a library card18:30
efriedYup, I don't give my library card back every time I return my books.18:32
jaypipesefried: a consumer is three four ints and a UUID. but anyway, reading back, I don't agree that we should delete consumer records if/when all the consumer's allocation records are removed. I *do* agree we should clean up (delete) the consumer record if a PUT /allocations/{consumer_uuid} fails for some reason and the consumer record had already been created.19:22
jaypipesefried: especially since if PUT /allocations/{consumer_uuid} returns a 409, the caller will expect to retry the (same) URI and payload after re-reading allocation candidate information, and they certainly won't expect to have to pass a consumer generation :)19:27
*** e0ne has joined #openstack-placement19:52
efriedjaypipes: I think we're in agreement on those points.  What we haven't yet settled is how to delete consumers.  (Ones that were at some point "real" - i.e. had allocations.)20:11
efriedOne view: when the consumer's last allocation goes away, delete the consumer record.20:12
efriedAnother view: consumers are now like resource providers, in that they have more than just an ID, so treat them like we treat resource providers and have specific endpoints to create and delete them.20:12
jaypipesefried: I definitely don't agree with deleting them after the last allocation is deleted. I do think there can/should be a objects.Consumer.delete() method that should be called from nova/api/openstack/placement/handlers/allocation.py:_set_allocations_for_consumer() on *new* consumer objects that were created with utils.ensure_consumer() but only when AllocationList.create_all() failed with a 409 Conflict due to provider generations20:14
jaypipeschanging.20:14
cdentefried: did you see jaypipes says "I don't agree that we should delete consumer records if/when all the consumer's allocation records are removed."20:14
cdentjinx20:14
jaypipes:)20:14
jaypipescdent: you saw my comment on the implementation patch then?20:14
jaypipescdent: your patch that fixes this..20:14
jaypipescdent: well, that fixes the 500 error.20:15
cdentjaypipes: not yet no, I just got back from being away20:15
*** e0ne has quit IRC20:15
jaypipesk, no worries20:15
cdentI probably won't process much of that. digging through the several related bugs drained me and I want food and beer &c20:16
jaypipescdent: completely understand.20:16
efriedokay, so kibosh on the implicit deletion of consumer, which I dig.20:18
openstackgerritMatt Riedemann proposed openstack/nova master: Remove compatibility code for instance groups  https://review.openstack.org/57819220:18
efriedThen we're left with three possibilities for deleting consumers:20:18
efried1) Create specific endpoints for consumers20:18
efried2) Create an admin tool to scrub allocation-less consumers from the db20:18
efried3) Don't20:18
efriedjaypipes: opinion? ^20:19
jaypipesefried: or 4) just delete the consumer record when the AllocationList.create_all() fails for new consumers.20:21
efriedjaypipes: No, we need to do that regardless.  I'm talking about deleting consumers that really do exist.  By "just" you're implying 320:22
jaypipescdent: real quick before you leave...20:22
jaypipescdent: do you have anything in progress for the GET /allocations/{consumer} with no allocations response bug?20:22
jaypipescdent: if not, I'll hack something up.20:22
jaypipesefried: I don't really see a need to delete consumers that really do exist.20:23
efriedjaypipes: Just keep accumulating records forever?20:23
jaypipesefried: at the moment at least... I suppose in the future we could add an endpoint that does that. I don't believe it's necessary to fix these particualr bugs right now though.20:24
cdentjaypipes: all I did on that one is https://review.openstack.org/#/c/578139/ (I think. If you look at patches I created today there are 3 or 4 in the same consumer gen world)20:24
efriedwhile True: spawn(); delete()20:24
jaypipescdent: k, thx will look.20:24
cdentIf there's some kind of grand decision or outcome from discussions this evening between efried and jaypipes please put it on a bug or one of the reviews email or something, so I can soak it up in the morning20:27
cdentgood night all20:27
*** cdent has quit IRC20:28
openstackgerritMerged openstack/nova master: Remove support for /os-fixed-ips REST API  https://review.openstack.org/56851621:01
openstackgerritDan Smith proposed openstack/nova master: Allow templated cell_mapping URLs  https://review.openstack.org/57816321:16
*** mriedem has quit IRC21:52
openstackgerritDan Smith proposed openstack/nova master: Allow templated cell_mapping URLs  https://review.openstack.org/57816321:53
*** mriedem has joined #openstack-placement21:56
*** edmondsw has quit IRC22:04
*** edmondsw has joined #openstack-placement22:07
*** edmondsw has quit IRC22:11
*** mriedem has quit IRC22:21
openstackgerritMatt Riedemann proposed openstack/nova master: Remove unused DB API instance_group_delete method  https://review.openstack.org/57822322:21
*** Kevin_Zheng has joined #openstack-placement23:05
*** nicolasbock has quit IRC23:06
* alex_xu wakes up begin to enjoy the consumer leaky bugy23:39
*** tetsuro has joined #openstack-placement23:45

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