Friday, 2018-06-29

*** mriedem has quit IRC01:06
*** mriedem has joined #openstack-placement01:15
mriedemthis looks odd http://paste.openstack.org/show/724562/01:16
mriedemwhy would i have 7982 total memory_mb for inventory01:16
mriedembut then 11205 showing for capacity in provider_summaries?01:16
mriedemoh allocation ratio01:16
mriedemnvm01:16
*** mriedem has quit IRC01:29
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add InstanceGroupPolicy object  https://review.openstack.org/57362801:38
openstackgerritMerged openstack/nova stable/queens: Fix unit test modifying global state  https://review.openstack.org/57872201:40
openstackgerrityanpuqing proposed openstack/nova master: Rename auth_uri to www_authenticate_uri  https://review.openstack.org/57682001:59
*** tetsuro has joined #openstack-placement02:05
*** takashin has left #openstack-placement02:26
openstackgerritMatt Riedemann proposed openstack/osc-placement master: CLI allocation candidates (v1.10)  https://review.openstack.org/51464702:37
openstackgerritMatt Riedemann proposed openstack/osc-placement master: New dict format of allocations (v1.11, v1.12)  https://review.openstack.org/54281902:37
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Transactionally update allocations (v1.13)  https://review.openstack.org/54667402:37
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Add nested resource providers (v1.14)  https://review.openstack.org/54667502:37
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804302:37
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832602:37
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Remove doc/build during tox -e docs  https://review.openstack.org/57904102:39
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Fix the 1.6 release note format  https://review.openstack.org/57904202:41
openstackgerritMerged openstack/nova master: Skip ServerShowV247Test.test_update_rebuild_list_server in nova-cells-v1 job  https://review.openstack.org/57812502:44
*** tetsuro has quit IRC03:18
*** alex_xu has quit IRC04:15
*** alex_xu has joined #openstack-placement04:15
openstackgerritMerged openstack/nova master: VMware: remove reading resourcePool data  https://review.openstack.org/57455305:43
openstackgerritMerged openstack/nova master: sync_guest_time: use the proper errno  https://review.openstack.org/57234605:43
openstackgerritMerged openstack/nova master: Downgrade overquota warning  https://review.openstack.org/57202805:44
openstackgerritMerged openstack/nova master: Use nova.test.TestingException  https://review.openstack.org/57501205:44
openstackgerritMerged openstack/nova master: update the description of hypervisor statistics response  https://review.openstack.org/46235505:44
*** nicolasbock has joined #openstack-placement06:10
openstackgerritGhanshyam Mann proposed openstack/nova master: Merge server create for scheduler hint extension  https://review.openstack.org/57906706:28
openstackgerritGhanshyam Mann proposed openstack/nova master: Merge server create for scheduler hint extension  https://review.openstack.org/57906706:32
*** tetsuro has joined #openstack-placement06:48
openstackgerritZhenyu Zheng proposed openstack/nova master: API: add support to abort queued live migration in microversion 2.64  https://review.openstack.org/57313606:58
openstackgerritZhenyu Zheng proposed openstack/nova master: nova-manage db archive_deleted_rows is not multi-cell aware  https://review.openstack.org/50748606:59
*** tetsuro has quit IRC07:05
*** tetsuro has joined #openstack-placement07:09
openstackgerritOpenStack Proposal Bot proposed openstack/nova master: Imported Translations from Zanata  https://review.openstack.org/57801907:12
openstackgerritMerged openstack/nova master: conf: libvirt: Make `/dev/urandom` the default for 'rng_dev_path'  https://review.openstack.org/57738507:18
*** tetsuro has quit IRC07:18
openstackgerritMerged openstack/nova master: Update scheduler to use image-traits  https://review.openstack.org/57605407:18
*** tetsuro has joined #openstack-placement07:19
openstackgerritMerged openstack/nova master: Test alloc_cands with indirectly sharing RPs  https://review.openstack.org/51960107:23
openstackgerritMerged openstack/nova master: Powervm configuration cleanup  https://review.openstack.org/57517107:23
openstackgerritMerged openstack/nova master: placement: s/None/null/ in consumer conflict msg  https://review.openstack.org/57717107:23
*** tetsuro has quit IRC07:23
*** tetsuro has joined #openstack-placement07:27
*** tssurya has joined #openstack-placement07:32
openstackgerrithuanhongda proposed openstack/nova stable/queens: [Stable Only] Remove soft-deleted instances from quota_usages  https://review.openstack.org/57909308:27
*** gibi is now known as giblet08:33
*** bauzas is now known as PapaOurs08:38
*** avolkov has joined #openstack-placement08:43
openstackgerritTetsuro Nakamura proposed openstack/nova master: Add microversion for nested allocation candidate  https://review.openstack.org/56548708:51
openstackgerritTetsuro Nakamura proposed openstack/nova master: Fix nits in placement-return-all-resources series  https://review.openstack.org/57360408:51
*** stephenfin is now known as finucannot08:51
openstackgerritMerged openstack/nova master: libvirt: Fix the rescue race for vGPU instances  https://review.openstack.org/57742408:52
openstackgerritMerged openstack/nova master: Merge server create schema for legacy BDM extension  https://review.openstack.org/57715208:52
openstackgerritMerged openstack/nova stable/pike: Add policy rule to block image-backed servers with 0 root disk flavor  https://review.openstack.org/56370008:52
*** tetsuro has quit IRC08:52
*** cdent has joined #openstack-placement08:53
openstackgerritMerged openstack/nova master: Use ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa in tree  https://review.openstack.org/57887809:08
openstackgerritChris Dent proposed openstack/nova master: Use nova.db.api directly  https://review.openstack.org/54326209:08
openstackgerritAndrey Volkov proposed openstack/osc-placement master: CLI allocation candidates (v1.10)  https://review.openstack.org/51464709:45
openstackgerritAndrey Volkov proposed openstack/osc-placement master: New dict format of allocations (v1.11, v1.12)  https://review.openstack.org/54281909:45
openstackgerritAndrey Volkov proposed openstack/osc-placement master: Transactionally update allocations (v1.13)  https://review.openstack.org/54667409:45
openstackgerritAndrey Volkov proposed openstack/osc-placement master: Add nested resource providers (v1.14)  https://review.openstack.org/54667509:45
openstackgerritAndrey Volkov proposed openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804309:45
openstackgerritAndrey Volkov proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832609:45
openstackgerritSylvain Bauza proposed openstack/nova master: Fix placement incompatible with webob 1.7  https://review.openstack.org/57911009:46
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add InstanceGroupPolicy object  https://review.openstack.org/57362810:11
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Refactor the policies to policy  https://review.openstack.org/57911310:11
openstackgerritStephen Finucane proposed openstack/nova master: Define common variables for irrelevant-files  https://review.openstack.org/57888210:39
openstackgerritStephen Finucane proposed openstack/nova master: manage: Remove dead code  https://review.openstack.org/57911810:50
openstackgerritTakashi NATSUME proposed openstack/nova master: Update admin/flavors document  https://review.openstack.org/57306310:59
openstackgerritLee Yarwood proposed openstack/nova master: libvirt: Handle LM rollback error when detaching volumes from transient domain  https://review.openstack.org/57912511:18
*** edmondsw has joined #openstack-placement11:32
*** mriedem has joined #openstack-placement12:08
*** jaypipes is now known as leakypipes12:14
leakypipesefried: I'm +2 on tetsuro's nested alloc cands API patch.12:18
leakypipeshttps://review.openstack.org/#/c/565487/12:19
openstackgerritSurya Seetharaman proposed openstack/nova stable/queens: Make nova service-list use scatter-gather routine  https://review.openstack.org/57913512:22
openstackgerritSurya Seetharaman proposed openstack/nova stable/pike: Make nova service-list use scatter-gather routine  https://review.openstack.org/57913612:33
*** leakypipes has quit IRC12:34
openstackgerritMatt Riedemann proposed openstack/osc-placement master: CLI allocation candidates (v1.10)  https://review.openstack.org/51464712:44
openstackgerritMatt Riedemann proposed openstack/osc-placement master: New dict format of allocations (v1.11, v1.12)  https://review.openstack.org/54281912:44
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Transactionally update allocations (v1.13)  https://review.openstack.org/54667412:44
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Add nested resource providers (v1.14)  https://review.openstack.org/54667512:44
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804312:44
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832612:44
*** peereb has joined #openstack-placement12:46
*** jaypipes has joined #openstack-placement12:47
*** jaypipes is now known as leakypipes12:47
*** openstackgerrit has quit IRC12:49
*** openstackgerrit has joined #openstack-placement12:58
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804312:58
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832612:58
*** efried is now known as fried_rice12:58
fried_riceleakypipes: Schweet.13:01
fried_riceleakypipes, alex_xu: The cleanup followon should be a trivial approve: https://review.openstack.org/#/c/573604/13:14
*** edleafe is now known as figleaf13:14
fried_riceLet's put this bp to bed13:14
openstackgerritMerged openstack/nova master: [placement] Extract create_allocation_list  https://review.openstack.org/57720013:16
cdentwhen is something in bed? When the api can do it, or the scheduler can?13:16
openstackgerritMerged openstack/nova master: [placement] Fix capacity tracking in POST /allocations  https://review.openstack.org/57813313:16
openstackgerritMerged openstack/nova master: libvirt: Add missing encryption_secret_uuid tests for pre_live_migration  https://review.openstack.org/54067913:17
fried_ricecdent: The blueprint is in bed when the stuff in the spec is finished.  This spec didn't mention a thing about the scheduler.  It's going to be years before the scheduler has taken full advantage of nrp.13:18
cdentI wasn't asserting it wasn't in bed. More meandering mentally about those "years before"13:19
leakypipesfried_rice: done13:23
cdentfried_rice, leakypipes: since we're all three here at the moment: do we have any synchronizing we need to do on the Reshape stuff?13:24
cdentI've left a slot in https://review.openstack.org/#/c/576927/ to call a metho that takes a dict of inventorylists (by rp) and an AllocationList13:27
leakypipescdent: I haven't yet gotten to that stuff. Still working on the fix for that "multiple RPs in PUT /allocations requires multiple consumer generations" thing.13:31
leakypipescdent: hoping to wrap that up this morning and concentrate on the reshaper stuff.13:31
cdentleakypipes: yeah, not trying to rush things, just checking to see if we've got anything we need to catch up on13:32
leakypipescdent: pep8 error. the horror.13:41
cdentleakypipes: on reshaper? that's expected, see my response to fried_rice13:41
mriedemgiblet: i'm +2 on the bottom 2 osc-placement patches now https://review.openstack.org/#/c/514646/13:42
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832613:43
leakypipescdent: ya13:44
*** tssurya is now known as sususuryashines13:46
openstackgerritSylvain Bauza proposed openstack/nova master: Fix placement incompatible with webob 1.7  https://review.openstack.org/57911013:49
openstackgerritJay Pipes proposed openstack/nova master: return 404 when no consumer found in allocs  https://review.openstack.org/57916313:49
leakypipescdent: your advice sought on ^^13:49
cdentroger13:50
fried_riceleakypipes, cdent: This seems like a new microversion without question.13:52
leakypipesfried_rice: yeah, I suppose so, but did want to check with you guys.13:53
fried_riceNot necessarily "fixing" the "bug" of missing gen/proj/user for allocation-less consumers - but certainly the 404-vs-empty behavior change is microversion-worthy.13:53
leakypipesfried_rice: what do you mean not fixing the bug?13:54
fried_riceI'm saying the bug fix isn't necessarily microversion-worthy, but the 404 thing is.13:54
leakypipesfried_rice: I don't see how one would fix the bug without changing the response of GET /allocations/{consumer}?13:54
fried_riceleakypipes: Well, I haven't looked at the code at all, just the commit message.13:54
fried_riceleakypipes: But they seem like different things.13:55
fried_riceleakypipes: In one case you've got a consumer that actually does exist, but has no allocations.  Previously you were returning an empty payload; now you're returning a payload with gen/proj/user and empty allocations.13:55
fried_riceleakypipes: In the other case you've got no consumer at all, and instead of returning an empty payload you're erroring 404.13:55
fried_riceRegardless of whether the code paths coincide/overlap (I'm sure they do) I'm not suggesting separating those things into different patches or anything.13:56
fried_riceI'm just speaking to the procedural necessity of cutting a new microversion.13:56
leakypipesfried_rice: k13:58
fried_riceyeah, now looking at the code they're totally separate code paths anyway.  But again, not suggesting to split them.13:58
leakypipesfried_rice: how are they totally separate code paths? it's all in list_allocations_for_consumer13:58
leakypipesfried_rice: are you referring to doing the Consumer.get_by_uuid() before AllocationList.get_by_consumer()?13:59
fried_riceleakypipes: https://review.openstack.org/#/c/579163/1/nova/api/openstack/placement/handlers/allocation.py The 404 thing is isolated to L163-17013:59
fried_riceyeah13:59
leakypipesfried_rice: gotcha, ok, yes.13:59
leakypipesfried_rice: there's no way to return the consumer project ID, user ID and generation, though, without grabbing that information first, and that's what the Consumer.get_by_uuid() is for.14:00
leakypipesfried_rice: unless we change AllocationList.get_by_consumer() to be a LEFT JOIN against the consumers, projects, users tables which is exactly what we don't want to do.14:01
fried_riceleakypipes: Gotcha; so if they were split, you would have to do the 404 first.14:01
fried_riceor not, you could do it the other way by ignoring the exception and hacking up an "empty" consumer.14:01
fried_riceBut anyway, still not suggesting that.14:01
fried_riceIn fact if anything I think we could expand the microversion drop to include some mechanism for deleting a freaking consumer.14:02
leakypipesfried_rice: we don't want to delete the consumer, though...14:04
leakypipesfried_rice: well, only when the AllocationList.create_all() failed.14:04
fried_riceleakypipes: I am not included in your "we".14:04
leakypipesfried_rice: but we don't want to add a DELETE /consumers/{uuid} endpoint, or at least, I wasn't aware of that.14:04
leakypipesfried_rice: oh :) sorry!14:04
fried_riceI want *some* mechanism to delete consumers.14:04
openstackgerritMerged openstack/nova stable/queens: Use instance project/user when creating RequestSpec during resize reschedule  https://review.openstack.org/57791814:05
fried_riceWe're going to end up with thousands of stale records in the consumers table after a relatively short amount of time in a large deployment.14:05
fried_riceNot that that takes up sooo much space, but it's messy and should be fixed.14:05
fried_riceleakypipes: You already expressed that you don't like the idea of auto-deleting a consumer when its last allocation is removed - but I don't know whether that was because you generally don't want to delete consumers or because you don't think it should be done that particular way.14:06
fried_riceleakypipes: The DELETE /consumers/{u} operation is another option, and the one I most prefer.14:07
fried_riceleakypipes: And then there's "create a management script that I can use to periodically go in and scrub out stale consumer records".  Which is, IMO, ew.14:07
leakypipesfried_rice: those aren't stale records. they're records, plain and simple.14:08
leakypipesfried_rice: they are a record of past usage.14:08
fried_riceThey're stale from the perspective of a know placement use case (i.e. nova).14:08
cdentonly that the consunmer existed, not what they did?14:08
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Refactor the policies to policy  https://review.openstack.org/57911314:08
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy to InstanceGroup object and api models.  https://review.openstack.org/56337514:08
leakypipescdent: yes, correct.14:08
fried_riceDoes nova keep track of (hard) deleted instances in the database?14:08
cdentI wrote some related comments on the review itself (about how not deleting impacts flow)14:09
leakypipescdent: i.e. "X number of consumers have passed through Placement-town" :P14:09
leakypipesfried_rice: yes, that's what the shadow tables are for.14:09
leakypipesfried_rice: I don't particularly care for that type of setup, but it is what it is.14:10
cdent"sherrif, have you seen c37ec127-62c5-45d4-9efd-1776f13e7d50? damn sure he came this way.14:10
fried_riceI don't know what a "shadow table" is.14:10
leakypipesfried_rice: every table in the nova cell DB has a shadow table associated with it. when you run a db purge, deleted records are moved from the active tables to the corresponding shadow table.14:11
fried_riceIn any case, leaving a trace of past consumers - weak though that sounds to me - might be an argument to *allow* consumer records to hang around forever.  But it should not be a reason to *force* consumer records to hang around forever (i.e. provide no way to remove them).14:12
leakypipesack, no disagreement from me on that14:12
fried_riceOkay, so then... what's the objection to providing a mechanism to delete consumer records?14:13
gibletmriedem: started reviewing the osc patches but I got distracted. I will go back to there14:13
cdentfried_rice: why would you want to do that over the api, if it is an db cleanup behavior?14:14
fried_ricecdent: I don't see it as being a db cleanup behavior (unless we do it automatically when last allocation goes away)14:16
fried_ricecdent: Particularly since there's now going to be a difference between GETting an allocation-less consumer that never existed vs one that once existed.14:16
cdentright, that was the main thrust of my comment on the review14:16
cdentI think we should delete consumers after their last allocation goes away14:17
cdentbut if for some reason we are not doing that, and there are going to be "stale" consumers in the db, then cleaning them is not a job to be done over HTTP, it is a job to be done with a "*-manage" script14:18
fried_ricecdent: Okay, except I think the whole model is done broke and I'd like to clean it up entirely.14:19
figleafcdent: In a nova-only world, I would agree. But the other day I gave the example (since the fridge thing is SO last year) of using placement to manage a library. In this case, you don't destroy the library card when books are returned.14:19
leakypipesfigleaf: ++14:20
leakypipesfigleaf: unless we're talking about the Great Library Card Purge of 202814:20
cdentfigleaf: have you read my comment on the review? It's not clear to me that a consumer uuid is a library card. it is an instance of checking out a book14:20
cdentleakypipes: that purge is coming much sooner than 2028, sadly14:21
leakypipescdent: wouldn't the allocations be the book checkouts?14:21
leakypipescdent: along with the voter roll purges, yep. :(14:21
cdentwell, to me a consumer uuid is an allocation uuid. it says so right there in the URI14:21
cdent /allocations/{uuid}14:22
cdentthe library card is more accurately the pairing of the project id and user id14:22
cdentthat's what I need to show when I go to the library "hi i'm chris, here's my proof that I can check out a book"14:23
cdentoh, okay, here's your book14:23
figleafSo why would consumers need to exist at all? Just put project id and user id in the allocation record.14:24
figleafsince consumers have no meaning outside of a current allocation14:25
fried_ricefigleaf: How do you tie that allocation record back to a consumer (instance)?14:25
figleaffried_rice: ok, put the instance id in there too14:26
figleafwhen you delete the allocation, there is no stale consumer14:26
fried_riceThat would wfm14:26
fried_riceBut other than that, I don't understand why we're talking about all the ways we can ponce around the fringes of having a real GET/PUT/DELETE /consumers/{u} setup.14:26
fried_rice"If you're using microversion 1.30 or above, consumers are a first-class route.  You have to PUT /consumers/{u} payload={proj, user, gen} before you can PUT /allocations/{consumer} to that consumer; and when you're done, you may DELETE /consumers/{u} (or not, if you want to keep a record of those for some reason)."14:27
cdentfried_rice: because, at least for me, I have heard no reason for such a thing to exist?14:27
figleafBut cdent is saying that consumers are ephemeral with the allocaiton14:27
cdentIt sounds like artificial overhead14:27
fried_riceNo reason for such a thing to exist14:27
fried_riceit exists14:27
fried_ricethis whole conversation centers around the fact that it exists14:28
cdent"such a thing" == "api for /consumers/{u}"14:28
fried_riceand that we don't have a way to make it not exist when we're done with it.14:28
cdentwe have plenty of ways14:28
fried_ricecdent: I don't consider executing SQL commands into the database to be a viable "way".  The "management script" option would be the very minimum solution I would accept here, grudgingly.14:29
cdentI don't want that way, but it is one.14:30
cdentIf I had my druthers, consumer uuids (and the now associated objecvt) would expire when their allocations go to nil14:30
fried_riceYes, auto-deleting with last allocation is second least favorite on my list.14:30
cdentbut that _may_ be impossible because of the way we are using int generations and the potential for races14:31
openstackgerritMerged openstack/nova stable/pike: mock utils.execute() in qemu-img unit test  https://review.openstack.org/57805814:31
cdentforcing people to manage consumer uuids, in placement, semi-manually is...I don't know...insulting14:31
fried_riceIt's not different than asking them to manage resource providers.14:31
figleafcdent: So you see it more as an "allocation group id"? I.e., identifying which allocations are for the same thing, and not as a thing that survives those allocations?14:32
fried_riceWhy don't we create those automatically when you create inventory?14:32
cdentfried_rice: resource providers persist!14:32
cdenttheir inventory can change14:32
cdentthat's part of the meaning of the api14:32
fried_riceSure, and a consumer's project/user will "never" change.14:32
cdentfigleaf: yes. for instance a consumer uuid identifies a running instance14:32
cdentfried_rice: but the running instance will stop existing14:33
cdentthe instance is the consumer, not the project/user14:33
fried_riceThe compute node is the provider, not the inventory14:34
gibletmriedem: left some comments in the first osc_placement patch14:34
fried_riceWhatever, I'd be fine with auto-delete with last allocation, can we do that please?14:34
fried_riceas opposed to doing nothing?14:34
fried_ricewhich to me is completely unacceptable14:34
cdentfried_rice: well, I think we have that review upon which we can discuss things, probalby in a more progress oriented fashion than here. my comments there (about the flow) remain relevant.14:35
figleaffried_rice: We've made the argument that consumers were ephemeral, and should be treated as such. That argument was rejected, and we have now set that in stone with Consumer objects and all the code around them. Given that path, it makes no sense to auto-remove consumers, as they are now First Class Things.14:36
fried_ricefigleaf: If we accept ^ then the right answer is certainly to create a /consumers/{u} route with GET/PUT/DELETE ops.  However, I don't necessarily agree that creating a Consumer object internally locks us into consumers being non-ephemeral.14:38
mriedemgiblet: thanks, i've pointed those all out before as well14:39
fried_riceBecause we haven't exposed any of that in the API.14:39
mriedemreplied about the 1.8 test coverage - it's implicitly tested by the 1.9 usages test14:39
mriedemi realize that's not a great answer14:39
openstackgerritMerged openstack/os-traits master: normalize_name helper  https://review.openstack.org/56010714:39
mriedemfigleaf: the consumer object is about modeling the data, as we do for everything else, it's not a first class citizen because there isn't a top level api for consumers14:40
figleaffried_rice: In a way I can see your point. It's just that it feels to me like we dug ourselves a hole, and adding a full RESTful interface to it is just digging deeper14:41
figleafmriedem: but fried_rice is saying we should add the api interface14:42
fried_ricefigleaf: I'm not going to try to follow the 'hole' analogy, but adding the REST interface is making it look like we did it on purpose.14:42
gibletmriedem: OK, so we have test coverage, I can live with it. Let's merge it to keep the ball rolling in osc placement14:42
gibletmriedem: or more like restart the roll14:42
mriedemgiblet: agree - i'd like to keep it moving, i also made the same comment again about the 1.8 tests in a later patch in the series14:42
mriedemhttps://review.openstack.org/#/c/542819/30/osc_placement/tests/functional/test_allocation.py@10014:42
figleaffried_rice: in for a dime, in for a dollar14:43
fried_ricefigleaf: The way it is now, consumers are this messy hack halfway between ephemeral and real.  We should get off the fence.  Either they're ephemeral (and we auto-remove them) or they're real (and we add a route for them).14:43
figleaffried_rice: vs. when you find yourself in a hole, the first thing to do is stop digging14:43
mriedemwhat's the argument against auto-removing consumers when they have no more allocations?14:44
fried_riceI'm talking about lining the hole and installing plumbing and a roof.14:44
fried_ricemriedem: leakypipes said you would want to keep the consumer records for "history".14:44
cdentmriedem: that's leakypipes' position, not entirely sure,14:44
figleaf09:09 <      leakypipes>| cdent: i.e. "X number of consumers have passed through Placement-town" :14:45
gibletmriedem: ack14:45
mriedemumm14:45
mriedemi'm not sure what the use case is for that14:45
mriedemplus,14:45
mriedemthis means we'd never purge them14:45
mriedemlike we purge deleted instances from the nova db14:45
fried_ricecorrect.  Which is bad.14:45
mriedemkind of defeats the purpose of not using soft delete mixin in the placement api14:45
mriedem*api db14:45
figleafsoft delete should DIAF14:46
cdentfire++14:46
mriedemright, which is why we didn't use it with the api db14:46
mriedemfrom the start14:46
mriedemi mean, i guess you could always add a placement-manage db purge command for stuff like that, idk14:47
mriedembut you shouldn't really need to14:47
fried_riceRight, so far the candidates we've discussed are:14:47
fried_rice- Do nothing; let consumer records accumulate forever14:47
fried_rice- Management script I can run to periodically purge allocation-less consumers from the db14:47
fried_rice- Auto-delete with last allocation14:47
fried_rice- Make full GET/PUT/DELETE /consumers/{u} ops14:47
fried_rice(or if we want to be less symmetrical about it, we could just make DELETE /consumers/{u})14:49
mriedemi would auto-delete unless there is a good reason not to14:49
fried_rice++14:50
mriedemit's metadata14:50
mriedemthink of it like instance system_metadata14:50
mriedemthere is no top level api for that,14:50
mriedemand its gone when the instance is deleted14:50
leakypipescdent: what exactly did you mean by "forcing people to manage consumer UUIDs in placement is insulting"?14:51
cdentleakypipes: having a separate api for $METHOD /consumers/ when they (currently) are just allocation identifiers is overhead and burdensome14:53
cdentby "currently" their meaning, not their implementation14:53
openstackgerrithuanhongda proposed openstack/nova stable/queens: [Stable Only] Remove soft-deleted instances from quota_usages  https://review.openstack.org/57909314:54
leakypipescdent: you don't believe consumers are things?14:54
leakypipescdent: i.e. things that have attributes associated with them (like project and user identifiers)?14:55
openstackgerritSylvain Bauza proposed openstack/nova master: Fix placement incompatible with webob 1.7  https://review.openstack.org/57911014:55
cdentleakypipes: i believe there are things which use allocations (such as instances) and those things have projects and users associated with them, and we have currently reified those things in placement as the concept of a consumer. as I've said above I think in placement (as it curently stands now), the concept (the join of a live instance with a project and user) is ephemeral14:57
cdenti'm going to have to go soon, I hope we can hash this out either on the review or in email, rather than IRC. I'm not sure IRC is doing justice to the nuances of the several positions present14:58
leakypipescdent: sure, no prob14:58
leakypipescdent: and agree with you that the review is a better place for this convo14:58
leakypipescdent: thx, and enjoy your weekend14:58
cdentI have the exciting job of moving around a bunch of stuff so an electrician can tear up the floors and walls in various places14:59
leakypipescdent: furniture live migration.15:01
cdentI think this is "shelve"? Although I've never been sure what that is. The furniture is going to get stacked in an unusable state15:02
openstackgerritMerged openstack/nova master: Add microversion for nested allocation candidate  https://review.openstack.org/56548715:03
cdent^ omg15:03
mriedemfried_rice: can https://blueprints.launchpad.net/nova/+spec/nested-resource-providers-allocation-candidates be marked complete now? ^15:03
mriedemlooks like only remaining open change is an approved nit fixing patch15:03
mriedemcdent: shelve means you'd store your furniture in like a storage locker,15:04
mriedemmove15:04
mriedemthen bring your furniture back15:04
mriedemto the new place15:04
fried_ricemriedem: We have some work to do to prove that pre ^ behavior is the same in Q and R.  I don't know whether that warrants keeping the bp open.15:04
mriedemalthough you're paying to shelve it in that case, which is opposite of how the pricing model should work in openstack...15:05
mriedemfried_rice: once the microversion has merged that's kind of out the window isn't it?15:05
fried_ricemriedem: Not exactly, no.  Long conversations have been had about this.  We need to make sure that ^ is the case *by the time we cut Rocky*15:06
mriedemor you mean, testing that requests < 1.29 haven't regressed?15:06
fried_riceYeah, basically that.15:06
mriedemif they have then it's just bugs15:06
fried_ricebecause there was a point in mid-Rocky where they had.15:06
mriedemso i don't see a reason to hold the bp for that15:06
fried_riceokay.15:06
*** alex_xu has quit IRC15:06
*** e0ne has joined #openstack-placement15:08
*** alex_xu has joined #openstack-placement15:09
*** openstack has quit IRC15:22
*** openstack has joined #openstack-placement15:27
*** ChanServ sets mode: +o openstack15:27
openstackgerritChris Dent proposed openstack/nova master: [placement] fix allocation handler docstring typo  https://review.openstack.org/57919815:33
openstackgerritMatt Riedemann proposed openstack/osc-placement master: WIP Usages per project and user (v1.8, v1.9)  https://review.openstack.org/51464615:36
openstackgerritChris Dent proposed openstack/nova master: Use 'version2' when syncing placement db  https://review.openstack.org/57920015:40
openstackgerritEric Fried proposed openstack/nova master: Add method to get cpu traits  https://review.openstack.org/56031715:43
openstackgerritEric Fried proposed openstack/nova master: FakeLibvirtFixture: mock get_fs_info  https://review.openstack.org/57920115:43
openstackgerritMerged openstack/nova master: Fix nits in placement-return-all-resources series  https://review.openstack.org/57360415:44
openstackgerritMerged openstack/nova master: trivial: Remove 'tools/releasenotes_tox.sh'  https://review.openstack.org/53438315:45
openstackgerritMerged openstack/nova master: tox: Document and dedupe mostly everything  https://review.openstack.org/57882515:45
openstackgerritMerged openstack/nova master: Remove file injection from config drive sample docs  https://review.openstack.org/57888815:45
openstackgerritMerged openstack/nova master: Fix CLI docs for nova-manage api_db commands  https://review.openstack.org/57811615:45
openstackgerritMerged openstack/nova master: Remove unused DB API instance_group_delete method  https://review.openstack.org/57822315:45
openstackgerritMerged openstack/nova master: Mention nova-status upgrade check CLI in upgrade doc  https://review.openstack.org/57671915:46
*** edmondsw has quit IRC15:48
*** edmondsw has joined #openstack-placement15:52
openstackgerritMatt Riedemann proposed openstack/nova master: libvirt: use dest host vif migrate details for live migration  https://review.openstack.org/55137015:56
openstackgerritMatt Riedemann proposed openstack/nova master: Annotate flows and handle PortBindingDeletionFailed in ComputeManager  https://review.openstack.org/55137115:56
openstackgerritMatt Riedemann proposed openstack/nova master: Port binding based on events during live migration  https://review.openstack.org/43487015:56
openstackgerritMatt Riedemann proposed openstack/nova master: conductor: use port binding extended API in during live migrate  https://review.openstack.org/52253715:56
openstackgerritLee Yarwood proposed openstack/nova master: libvirt: Handle LM rollback error when detaching volumes from transient domain  https://review.openstack.org/57912516:02
openstackgerritChris Dent proposed openstack/nova master: WIP: [placement] Add /reshaper handler for POST  https://review.openstack.org/57692716:13
mriedemfigleaf: question for you here https://review.openstack.org/#/c/537614/16:16
*** smcginnis[m] has quit IRC16:18
figleafmriedem: not sure I understand your question16:32
*** fried_rice is now known as fried_rolls16:51
figleafmriedem: anyways, I'm on PTO this afternoon, so...16:55
*** figleaf is now known as edleafe16:55
*** e0ne has quit IRC16:58
*** smcginnis[m] has joined #openstack-placement17:01
*** e0ne has joined #openstack-placement17:11
*** openstack has quit IRC17:11
*** openstack has joined #openstack-placement17:16
*** ChanServ sets mode: +o openstack17:16
mriedemedleafe: in that we already have test coverage for resize + caching scheduler17:43
mriedemleakypipes: would you consider that we should then name this command "openstack resource allocation candidate list"? https://review.openstack.org/#/c/514647/37/releasenotes/notes/microversion-1.10-03ab71969921a0e4.yaml17:44
mriedeminstead of 'openstack allocation candidate list' as he has it today17:44
leakypipesmriedem: I thought "resource" was the namespace all placement stuff was under...18:05
leakypipesmriedem: if that's not the case, I would say no, keep it at openstack allocation candidate list18:06
mriedemwell, traits are18:06
mriedem*aren't18:06
mriedemhttps://docs.openstack.org/osc-placement/latest/index.html18:07
mriedembut resource classes are...18:07
mriedemi guess we could have done resource trait create/delete/list/show18:07
leakypipesmriedem: well "resource class" is the name of the object :)18:07
leakypipesmriedem: like "resource provider".18:07
mriedemi think for the most part the commands are trying to mirror the names in the api18:07
mriedemif we did that, we'd have just 'openstack usage show'18:08
leakypipesmriedem: I think `openstack resource usage show` is the appropriate command, with --project, --user, and --provider options to switch the REST API call appropriately.18:08
leakypipesmriedem: or `openstack usage show`, yes.18:09
leakypipesmriedem: not sure if that wasn't already taken by the os-simple-tenant-usage stuff.18:09
openstackgerritMerged openstack/nova master: Match ComputeNode.uuid to ironic node uuid in RT  https://review.openstack.org/57153518:10
leakypipesmriedem: my primary point was that it definitely wasn't appropriate to have "consumer" be part of the command.18:10
openstackgerritMerged openstack/nova master: Mention PowerVM support of config drive  https://review.openstack.org/57884018:10
openstackgerritMerged openstack/nova master: Merge server create schema for BDM v2 extension  https://review.openstack.org/57718518:10
openstackgerritMerged openstack/nova master: Merge server create schema for config drive extension  https://review.openstack.org/57832918:10
leakypipesmriedem: if you want to push a fix for that bottom patch to make it `openstack usage show` I can re-review and we can push through much of that series, to keep the momentum up.18:13
leakypipesmriedem: alternately, if you're swamped, I can give the rework a go.18:13
leakypipesmriedem: just let me know your preference.18:13
mriedemi just redid the bottom one to be 'openstack resource usage show'18:15
mriedemdealing with merge conflicts now18:15
leakypipesmriedem: ack18:17
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Usages per project and user (v1.8, v1.9)  https://review.openstack.org/51464618:17
openstackgerritMatt Riedemann proposed openstack/osc-placement master: CLI allocation candidates (v1.10)  https://review.openstack.org/51464718:17
openstackgerritMatt Riedemann proposed openstack/osc-placement master: New dict format of allocations (v1.11, v1.12)  https://review.openstack.org/54281918:17
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Transactionally update allocations (v1.13)  https://review.openstack.org/54667418:17
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Add nested resource providers (v1.14)  https://review.openstack.org/54667518:17
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804318:17
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832618:17
cdentleakypipes, mriedem in the past dtroyer has said that the command names should very much not be namespaces18:28
* mriedem cocks the gun18:29
cdentI think 'resource usages' makes sense18:29
mriedemopenstack usage is too generic for my taste18:29
cdentbut because that's what they are18:29
cdentyeah, I agree18:29
mriedemthe usage is scoped to resource thingies18:29
cdentbut for allocation candidates no prefix would be required18:30
mriedemallocation candidate list is random enough it shouldn't overlap with any other namespace18:30
mriedemeven though those allocation candidates are resource-specific18:30
mriedemanywho, i'm ok with what we have in the series for those changes18:30
cdentnaw mate18:30
mriedem+2s mostly up the board18:30
cdentallocation candidates are just that: allocation candidates. that they have resources in them is just one of them any things in their complex pretty face18:31
cdentor something18:31
mriedemi'm just surprised at avolkov's dedication and persistence on this18:31
* mriedem golf claps18:31
cdentit's awesome isn't it?18:31
* cdent goes back outside18:32
leakypipesmriedem: k, reviewing.18:32
*** e0ne has quit IRC18:36
*** e0ne has joined #openstack-placement18:37
*** tssurya has joined #openstack-placement18:57
*** peereb has quit IRC19:07
*** tssurya has quit IRC19:23
*** tssurya has joined #openstack-placement19:57
*** edmondsw has quit IRC20:02
*** avolkov has quit IRC20:05
*** edmondsw has joined #openstack-placement20:09
*** cdent has quit IRC20:09
*** fried_rolls is now known as fried_rice20:09
*** edmondsw has quit IRC20:14
*** edmondsw has joined #openstack-placement20:31
mriedemleakypipes: screwed up one small thing in the bottom change functional test i added, will fix that, rebase and +W the ones that were already approved20:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Usages per project and user (v1.8, v1.9)  https://review.openstack.org/51464620:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: CLI allocation candidates (v1.10)  https://review.openstack.org/51464720:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: New dict format of allocations (v1.11, v1.12)  https://review.openstack.org/54281920:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Transactionally update allocations (v1.13)  https://review.openstack.org/54667420:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Add nested resource providers (v1.14)  https://review.openstack.org/54667520:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804320:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832620:52
openstackgerritMatt Riedemann proposed openstack/osc-placement master: New dict format of allocations (v1.11, v1.12)  https://review.openstack.org/54281920:57
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Transactionally update allocations (v1.13)  https://review.openstack.org/54667420:57
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Add nested resource providers (v1.14)  https://review.openstack.org/54667520:57
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804320:57
openstackgerritMatt Riedemann proposed openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832620:57
leakypipesmriedem: cool with me, thanks man.21:10
*** e0ne has quit IRC21:13
*** e0ne has joined #openstack-placement21:15
*** nicolasbock has quit IRC21:18
*** e0ne has quit IRC21:46
*** mriedem has quit IRC22:35
openstackgerritMerged openstack/osc-placement master: Usages per project and user (v1.8, v1.9)  https://review.openstack.org/51464622:41
openstackgerritMerged openstack/osc-placement master: CLI allocation candidates (v1.10)  https://review.openstack.org/51464722:41
openstackgerritMerged openstack/osc-placement master: New dict format of allocations (v1.11, v1.12)  https://review.openstack.org/54281922:41
openstackgerritMerged openstack/nova master: Remove mox in nova/tests/unit/virt/xenapi/stubs.py  https://review.openstack.org/56841223:13
openstackgerritMerged openstack/nova stable/queens: Make nova service-list use scatter-gather routine  https://review.openstack.org/57913523:20
openstackgerritMerged openstack/nova master: Fix placement incompatible with webob 1.7  https://review.openstack.org/57911023:20
openstackgerritMerged openstack/nova master: [placement] fix allocation handler docstring typo  https://review.openstack.org/57919823:25
*** tetsuro has joined #openstack-placement23:41
*** tetsuro has quit IRC23:42

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