Monday, 2018-07-09

*** alex_xu has quit IRC00:40
*** alex_xu has joined #openstack-placement00:41
*** tetsuro has joined #openstack-placement00:45
openstackgerritTakashi NATSUME proposed openstack/nova master: Transform instance.rebuild_scheduled notification  https://review.openstack.org/47392900:57
*** edmondsw has joined #openstack-placement01:04
*** edmondsw has quit IRC01:08
openstackgerritMerged openstack/nova stable/pike: Moving more utils to ProviderUsageBaseTestCase  https://review.openstack.org/58049001:13
*** edmondsw has joined #openstack-placement02:52
*** edmondsw has quit IRC02:57
*** deepak_mourya has joined #openstack-placement03:50
*** edmondsw has joined #openstack-placement04:40
*** edmondsw has quit IRC04:44
*** tetsuro has quit IRC04:58
*** tetsuro has joined #openstack-placement05:16
*** tetsuro has quit IRC05:30
*** tetsuro_ has joined #openstack-placement05:30
*** tetsuro_ has quit IRC05:30
*** tetsuro has joined #openstack-placement05:30
*** edmondsw has joined #openstack-placement06:28
*** edmondsw has quit IRC06:33
*** tssurya has joined #openstack-placement06:53
*** peereb has joined #openstack-placement07:05
*** giblet is now known as gibi07:12
*** tetsuro has quit IRC07:15
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add InstanceGroupPolicy object  https://review.openstack.org/57362807:15
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Refactor policies to policy in InstanceGroup DB model  https://review.openstack.org/57911307:15
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy to InstanceGroup object  https://review.openstack.org/56337507:15
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy field to ServerGroup notification object  https://review.openstack.org/56340107:15
*** tetsuro has joined #openstack-placement07:15
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: DNM: use policy create()  https://review.openstack.org/58094207:23
*** ttsiouts has joined #openstack-placement07:23
*** ttsiouts has quit IRC07:40
*** ttsiouts has joined #openstack-placement07:46
openstackgerritBalazs Gibizer proposed openstack/nova stable/pike: Fix unbound local when saving an unchanged RequestSpec  https://review.openstack.org/58095107:54
openstackgerritsahid proposed openstack/nova master: hardware: fix memory check usage for small/large pages  https://review.openstack.org/53216808:03
openstackgerritsahid proposed openstack/nova master: hardware: fix hugepages memory usage per intances  https://review.openstack.org/58065708:06
openstackgerritsahid proposed openstack/nova master: hardware: fix memory check usage for small/large pages  https://review.openstack.org/53216808:06
*** edmondsw has joined #openstack-placement08:16
*** edmondsw has quit IRC08:21
*** tetsuro has quit IRC08:46
*** tetsuro has joined #openstack-placement08:49
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Change the ServerGroupAntiAffinityFilter to adapt to new policy  https://review.openstack.org/57116608:49
openstackgerritMerged openstack/nova stable/pike: factor out compute service start in ServerMovingTest  https://review.openstack.org/58047309:22
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Adapt _validate_instance_group_policy to new policy model  https://review.openstack.org/57146509:47
*** finucannot is now known as stephenfin09:53
openstackgerritChris Dent proposed openstack/nova master: Use nova.db.api directly  https://review.openstack.org/54326210:09
*** cdent has joined #openstack-placement10:17
*** ttsiouts has quit IRC10:22
*** cdent has quit IRC10:41
*** tetsuro has quit IRC10:49
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add NUMATopologyLimits.network_metadata  https://review.openstack.org/57548610:59
openstackgerritStephen Finucane proposed openstack/nova master: hardware: Start accounting for networks in NUMA fitting  https://review.openstack.org/56444810:59
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add RequestSpec.network_metadata  https://review.openstack.org/56444210:59
openstackgerritStephen Finucane proposed openstack/nova master: scheduler: Start utilizing RequestSpec.network_metadata  https://review.openstack.org/56445210:59
openstackgerritStephen Finucane proposed openstack/nova master: conf: Add '[neutron] physnets' and related options  https://review.openstack.org/56444010:59
openstackgerritStephen Finucane proposed openstack/nova master: libvirt: Start populating NUMACell.network_metadata field  https://review.openstack.org/56444110:59
*** ttsiouts has joined #openstack-placement11:02
*** ttsiouts has quit IRC11:35
*** ttsiouts has joined #openstack-placement11:54
openstackgerritkarim proposed openstack/nova master: Handle rebuild of instances with image traits  https://review.openstack.org/56949812:05
*** jaypipes has joined #openstack-placement12:06
*** cdent has joined #openstack-placement12:14
openstackgerritMerged openstack/nova master: Merge server create for user data extension  https://review.openstack.org/57870912:18
openstackgerritMerged openstack/nova master: Merge server create for security group extension  https://review.openstack.org/57871412:18
openstackgerritSurya Seetharaman proposed openstack/nova-specs master: Handling a down cell  https://review.openstack.org/55736912:20
*** mriedem has joined #openstack-placement12:23
*** edmondsw has joined #openstack-placement12:24
*** edmondsw has quit IRC12:29
openstackgerritMerged openstack/nova stable/pike: Add functional test for deleting a compute service  https://review.openstack.org/58049112:29
*** edmondsw has joined #openstack-placement12:31
*** edmondsw has quit IRC12:35
*** edmondsw has joined #openstack-placement12:37
*** edmondsw has quit IRC12:42
*** edmondsw has joined #openstack-placement12:45
*** efried_off is now known as efried12:46
*** efried has quit IRC12:46
*** edmondsw has quit IRC12:49
*** edmondsw has joined #openstack-placement12:51
openstackgerrithuanhongda proposed openstack/nova stable/queens: [Stable Only] Remove soft-deleted instances from quota_usages  https://review.openstack.org/57909312:52
*** edmondsw has quit IRC12:53
*** edmondsw has joined #openstack-placement12:53
*** efried has joined #openstack-placement13:02
openstackgerritMatthew Booth proposed openstack/nova master: Avoid redundant initialize_connection on source post live migration  https://review.openstack.org/55130213:07
openstackgerritMerged openstack/nova-specs master: Fix Non-unique network names in Servers IPs API response  https://review.openstack.org/55812513:14
openstackgerritStephen Finucane proposed openstack/nova master: scheduler: Start utilizing RequestSpec.network_metadata  https://review.openstack.org/56445213:15
openstackgerritStephen Finucane proposed openstack/nova master: conf: Add '[neutron] physnets' and related options  https://review.openstack.org/56444013:15
openstackgerritStephen Finucane proposed openstack/nova master: libvirt: Start populating NUMACell.network_metadata field  https://review.openstack.org/56444113:15
*** ttsiouts has quit IRC13:16
*** ttsiouts has joined #openstack-placement13:19
*** tetsuro has joined #openstack-placement13:34
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add InstanceGroupPolicy object  https://review.openstack.org/57362813:58
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Refactor policies to policy in InstanceGroup DB model  https://review.openstack.org/57911313:58
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy to InstanceGroup object  https://review.openstack.org/56337513:58
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy field to ServerGroup notification object  https://review.openstack.org/56340113:58
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Change the ServerGroupAntiAffinityFilter to adapt to new policy  https://review.openstack.org/57116613:58
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Adapt _validate_instance_group_policy to new policy model  https://review.openstack.org/57146513:58
efriedcdent: n-sch mtg?14:01
cdentsorry lost track of time14:01
efriedgibi: Didn't you propose a patch to start on functional testing of nrp scenarios?  I can't find it.14:16
gibiefried: https://review.openstack.org/#/c/527728/14:17
gibiefried: I took it over14:18
efriedaha, that's why I couldn't find it, thanks.14:18
gibiefried: but it is pretty preliminary, only shows the NoValidHost today for nested alloca candidates query14:18
gibiefried: and if you look at the log the you can manually verify that the alloc candidates query string is OK14:19
efriedgibi: I just wanted something to point to in response to mriedem's comment on PS17 here: https://review.openstack.org/#/c/515811/14:19
gibiefried: mriedem asks for granular test. what I did is nrp test with a single group14:21
gibiefried: but can do granular add granular test as well14:21
efriedgibi: Right, I kinda wanted to show that we're at least starting down that path with this (series of?) patch(es).14:22
gibiefried: yeah, this patch can be a start of a series including granular14:23
efried++14:24
openstackgerritJay Pipes proposed openstack/nova master: make incomplete_consumer_project_id a valid UUID  https://review.openstack.org/58035814:24
openstackgerritMerged openstack/nova stable/pike: api-ref: add a note in DELETE /os-services about deleting computes  https://review.openstack.org/58049414:30
*** ttsiouts has quit IRC14:42
openstackgerritTakashi NATSUME proposed openstack/nova master: api-ref: Example verification for servers.inc  https://review.openstack.org/52952014:47
openstackgerritMatt Riedemann proposed openstack/nova master: Add InstanceGroupPolicy object  https://review.openstack.org/57362814:57
openstackgerritMatt Riedemann proposed openstack/nova master: Refactor policies to policy in InstanceGroup DB model  https://review.openstack.org/57911314:57
openstackgerritMatt Riedemann proposed openstack/nova master: Add policy to InstanceGroup object  https://review.openstack.org/56337514:57
openstackgerritMatt Riedemann proposed openstack/nova master: Add policy field to ServerGroup notification object  https://review.openstack.org/56340114:57
openstackgerritMatt Riedemann proposed openstack/nova master: Change the ServerGroupAntiAffinityFilter to adapt to new policy  https://review.openstack.org/57116614:57
openstackgerritMatt Riedemann proposed openstack/nova master: Adapt _validate_instance_group_policy to new policy model  https://review.openstack.org/57146514:57
*** takashin has left #openstack-placement15:00
openstackgerritMike Lowe proposed openstack/nova master: Option needed for ceph rbd erasure coding support  https://review.openstack.org/58105515:01
*** peereb has quit IRC15:03
mriedemefried: melwitt: i've posted a change to update the title, description and chair for the scheduler/placement meeting https://review.openstack.org/58105715:07
mriedemsince anyone looking for a placement meeting on http://eavesdrop.openstack.org/ likely wouldn't have found it otherwise15:07
*** ttsiouts has joined #openstack-placement15:07
efried+115:07
*** tetsuro has quit IRC15:08
*** Jack1 has joined #openstack-placement15:09
openstackgerritChris Dent proposed openstack/nova master: Use nova.db.api directly  https://review.openstack.org/54326215:13
*** cdent has quit IRC15:13
Jack1Excuse me,if any one can tell me the PCI_DEVICE class 's roadmap in placement api?15:14
jaypipesJack1: what are you attempting to do? could you tell us what your use case is please?15:16
Jack1I just want to use it to know the gpu's resource amount and amount of use15:20
Jack1and how to scheduler to the pci device use placement15:20
openstackgerritMathieu Gagné proposed openstack/nova master: Add support for multiple fixed-ips in metadata  https://review.openstack.org/58074215:21
*** Jack1 has quit IRC15:24
mriedemif Jack1 shows up again, point them at https://specs.openstack.org/openstack/nova-specs/specs/queens/implemented/add-support-for-vgpu.html15:26
mriedemoh but maybe they aren't looking for vgpus15:26
mriedemnvm15:26
*** Jack1 has joined #openstack-placement15:45
efriedHi Jack1.15:45
efriedJack1: When you say "know the gpu's resource amount and amount of use" are you referring to *physical* GPUs (in which case the resource amount is 1, and the usage is either "used or not") or *virtual* GPUs?15:46
*** Jack1 has quit IRC15:47
*** Jacki has joined #openstack-placement15:50
Jacki the usage is used,not the vgpu15:52
JackiI am Jack115:53
*** Jacki has quit IRC16:01
jaypipesguh, I was just trying to respond to Jacki...16:01
*** ttsiouts has quit IRC16:03
mriedemfooled me twice....won't get fooled again hehe16:04
mriedemhttps://www.youtube.com/watch?v=eKgPY1adc0A16:04
efriedI always have trouble remembering which way that expression goes too.16:09
openstackgerritMerged openstack/nova stable/pike: Block deleting compute services which are hosting instances  https://review.openstack.org/58049616:11
efriedjaypipes: How would you feel about including the provider name in ProviderTree?16:19
jaypipesefried: what do you mean? there is already the ability to query by name or uuid.16:20
efriedjaypipes: Use case is this: as drivers are processing it in update_provider_tree, they need to be able to look for providers to purge - i.e. entries I "own" that should no longer be there.  If the thing represented by the RP had a natural UUID that I used when I created the provider, it's cool; but if not, then I need to query placement to discover the names.16:20
efriedThat's an extra call that I would like to avoid.  Also it allows us to preserve the general discouraging of querying placement from the driver.  (We've said read-only querys are aight, but still...)16:21
jaypipesefried: I still don't understand... if the virt driver already has a name for the device/resource provider, it should look it up in the provider tree by its name, not uuid.16:24
jaypipesmriedem: running final tests on "delete no-alloc consumers" bug now... should be pushed shortly.16:24
jaypipesmriedem: working on the "update project/user for consumer" after that.16:25
efriedjaypipes: Sorry, I see the name is already in there.  Why did I think it wasn't?  Ignore me.16:25
jaypipesefried: no worries16:25
openstackgerritMargarita Shakhova proposed openstack/nova master: Do not skip migrations in _destroy_evacuated_instances()  https://review.openstack.org/56362316:27
openstackgerritMerged openstack/nova master: move lookup of provider from _new_allocations()  https://review.openstack.org/57992016:31
mriedemack, i'm working on a functional test for https://review.openstack.org/#/c/574488/16:35
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add RequestSpec.network_metadata  https://review.openstack.org/56444216:43
openstackgerritStephen Finucane proposed openstack/nova master: scheduler: Start utilizing RequestSpec.network_metadata  https://review.openstack.org/56445216:43
openstackgerritStephen Finucane proposed openstack/nova master: conf: Add '[neutron] physnets' and related options  https://review.openstack.org/56444016:43
openstackgerritStephen Finucane proposed openstack/nova master: libvirt: Start populating NUMACell.network_metadata field  https://review.openstack.org/56444116:43
openstackgerritJay Pipes proposed openstack/nova master: delete consumers which no longer have allocations  https://review.openstack.org/58108616:44
jaypipesefried, mriedem, dansmith: ^16:44
* jaypipes moves on to fixing the auto-created delete consumer patch...16:45
mriedemjaypipes: i'd consider that lower priority than being able to actually update consumer project/user information16:47
mriedemwhich is the thing that's blocking me16:47
mriedemthis guy https://bugs.launchpad.net/nova/+bug/177971716:47
openstackLaunchpad bug 1779717 in OpenStack Compute (nova) "No ability to update consumer's project and/or user external ID" [High,In progress] - Assigned to Jay Pipes (jaypipes)16:47
mriedemoh nvm, i see16:48
mriedemyou used the wrong bu16:48
mriedem*bug16:48
openstackgerritJay Pipes proposed openstack/nova master: delete consumers which no longer have allocations  https://review.openstack.org/58108616:51
jaypipesmriedem: sorry, fixed bug number.16:51
openstackgerritJay Pipes proposed openstack/nova master: placement: delete auto-created consumers on fail  https://review.openstack.org/57992116:59
jaypipesdansmith: added the try/except around the POST /allocations with multiple consumers code.17:00
jaypipes^^17:00
dansmithgot it17:02
*** cdent has joined #openstack-placement17:16
openstackgerritMatt Riedemann proposed openstack/nova master: Heal allocations with incomplete consumer information  https://review.openstack.org/57448817:23
openstackgerritMatt Riedemann proposed openstack/nova master: Refactor _heal_instances_in_cell  https://review.openstack.org/57789617:23
openstackgerritMatt Riedemann proposed openstack/nova master: Use consumer generation in _heal_allocations_for_instance  https://review.openstack.org/57790517:23
*** tssurya has quit IRC17:41
cdentjaypipes: you cool with me fixing the failures on https://review.openstack.org/#/c/580358 ?18:00
jaypipescdent: yes, absolutely. tia18:01
cdentroger18:01
openstackgerritJay Pipes proposed openstack/nova master: delete consumers which no longer have allocations  https://review.openstack.org/58108618:08
jaypipescdent, mriedem, dansmith: ^^ fixed the issue cdent pointed out (thanks cdent!)18:08
jaypipes(I wasn't using .fetchall() to get the dang query results...18:09
jaypipescdent, mriedem, dansmith: sorry, hold up.. I forgot to handle the AllocationList.delete_all() call site.18:11
mriedembuild the dang wall18:13
mriedemget the dang query results18:13
openstackgerritChris Dent proposed openstack/nova master: make incomplete_consumer_project_id a valid UUID  https://review.openstack.org/58035818:16
openstackgerritJay Pipes proposed openstack/nova master: delete consumers which no longer have allocations  https://review.openstack.org/58108618:19
*** mriedem1 has joined #openstack-placement18:19
jaypipescdent, mriedem, dansmith: ok, now ready to go. ^^18:19
*** mriedem has quit IRC18:21
*** mriedem1 is now known as mriedem18:22
mriedemjaypipes: comment inline in https://review.openstack.org/#/c/581086/ about obvious races, but not sure i care that much atm to do anything about that18:38
jaypipesmriedem: is there a self.assertNotRaises() ... ?18:44
mriedemjaypipes: nope18:45
mriedemyou don't have to change that18:46
mriedemif you did, i'd just do the get_by_uuid and add a comment that it'll raise if it's not found18:46
cdentjaypipes: can I put you down as someone willing and able to participate in discussing (even if vaguely) cinder+placement at the PTG?18:59
efriedcdent: ō/19:02
cdentefried: is that a "me too, please"?19:02
efriedyup19:03
cdentdone19:03
jaypipescdent: fo sho.19:03
efriedI prolly won't, like, *lead* the discussion or anything, but I'd like to be in the room.19:03
cdentand done19:03
openstackgerritDan Smith proposed openstack/nova master: Add rules column to instance_group_policy table.  https://review.openstack.org/56083219:09
openstackgerritDan Smith proposed openstack/nova master: Refactor policies to policy in InstanceGroup DB model  https://review.openstack.org/57911319:09
openstackgerritDan Smith proposed openstack/nova master: Add policy to InstanceGroup object  https://review.openstack.org/56337519:09
openstackgerritMerged openstack/nova stable/pike: Delete allocations from API if nova-compute is down  https://review.openstack.org/58049819:31
*** tssurya has joined #openstack-placement19:31
mriedemjaypipes: efried: tbc, i don't have anything holding me back from +2 on https://review.openstack.org/#/c/581086/ - and since efried looked at it a bit and it looks like there are no alarms going off, i'm ok to +2 now and we can deal with transactional issues later if we hit them19:32
efriedI'm taking a closer look, fwiw.19:33
efriedjaypipes: Couple of questions in there.19:35
efriedIs there some reason we shouldn't just delete all allocation-less consumers when we're done with any allocation-y transaction?  Is it appreciably less efficient to say19:39
efriedDELETE FROM consumers WHERE uuid IN (SELECT consumers.uuid, allocations.id FROM consumers LEFT JOIN allocations ON consumers.uuid == allocations.consumer_id WHERE allocations.id IS NULL)19:39
efriedkind of thing?19:39
efrieduh, I think I got my LEFT JOIN backwards, and you'd have to split that up, but you get the idea.19:39
jaypipesefried: no worries, I got the gist of what you're getting at.19:40
jaypipesefried: in general, I don't care for "cleanup orphan stuff even if that orphan stuff isn't related to the operation you are currently performing" strategies. If we do that, I'd prefer it be an online data migration that just does it once and for all...19:41
jaypipesefried: that said, if you and mriedem want to go that route, it's not a terribly hard change to make.19:42
jaypipesjust let me know.19:42
efriedjaypipes: The "set root_provider_uuid to self.uuid if not set" seems to be roughly in the same spirit.  I get that it's not affecting records other than the one we're looking at, but still...19:42
efriedmriedem: What do you think?19:42
mriedemi tend to agree with jaypipes in the targeted deleted19:44
mriedem*delete19:44
openstackgerritMerged openstack/nova stable/pike: Cleanup RP and HM records while deleting a compute service.  https://review.openstack.org/58049919:51
efriedokay.  So jaypipes what about the thing where we could delete multiple consumers in one shot?19:56
efriedBasically same as above, but with a WHERE consumer_uuid IN ($consumer_uuids)19:56
jaypipesefried: I can do that if you'd like, sure.19:56
efriedjaypipes: I _would_ like that eavesdrop link in the commit message, so if you're not opposed to respinning...19:57
jaypipesefried: sure. gimme a few. need to git stash and save work and will do that shortly.19:59
efriedcool, thx20:00
jaypipesnp20:00
efriedcdent: https://review.openstack.org/#/c/580373/ <= I'm about to +A this, adding my vote that UUID-ness is clearly what we intended (based on the API ref). But wanted to check whether you feel strongly enough to hold it up for further discussion.20:05
openstackgerritMerged openstack/nova-specs master: Handling a down cell  https://review.openstack.org/55736920:10
cdentefried: I'm not sure what to say about that. My early memories are of it not always being a uuid and I feel rather strongly that requiring it be a uuid is significantly limiting for the future and unfriendly (that is, imposing a cost on some types of clients) and unflexible on a variety of fronts. That's a loss I will find unfortunate. On the other hand I don't want to hold things up so I'm unable to fight about i20:11
cdentthe weight of the pre-existing code is strong20:11
efriedcdent: If it wasn't a UUID, would it still be acceptable for it to be limited to 36c?20:13
cdentthat's where the "weight of the pre-existing code" comes in.20:13
efriedcdent: I'd almost say adding this restriction is microversion-worthy, though, isn't it?20:14
cdentstrictly speaking yes: because a PUT that used to work will no longer work20:15
efriedcdent: Hypothetically, what would the least intrusive, definitely-not-requiring-a-microversion version of this change look like?20:15
* cdent thinks20:16
efriedSwitching from UUIDField to StringField (or whatever that's called) internally and updating the docs?20:16
cdentthat's at the extreme end, yes20:16
cdentI agree with the assertion that if we are using a UUIDField we should validate it as such (and error)20:17
efriedI suppose ideally we would also change all internal symbols s/consumer_uuid/consumer_name/ or similar.20:18
cdentand that by being squishy about in the past we've run ourselves into trouble20:18
cdentwell there's the rub20:18
efriedmm, because it's not just python vars; it's db columns20:18
cdentin order for consumer ids to work, they need to behave like uuids in the context of the universe of allocations in this placement service20:18
efriedoh?  How so?20:19
efriedThey need to be universally unique, but that doesn't mean they need to be UUIDs.20:19
cdentif we say "the universe" is "this placement service", then allocation ids (what we call consumer uuids now) need to be unique20:19
cdentI'm using the term generically20:19
*** tssurya has quit IRC20:19
cdentwhich is a pretty strong argument for then being UUIDs (strictly)20:20
efriedI think I see.  There's technically nothing stopping one API user from creating allocations against an existing consumer created by another, but doing that unintentionally is way harder with UUIDs than with <other>.20:20
cdentbut a) we haven't done that thus far, b) is it maybe up to the client to decide what universe it is in, but c) a universe with many clients will struggle to agree20:20
cdentyes20:20
efriedYeah, so with all of that in mind, I think this is probably the best approach, even though unfortunately-restrictive in the future potentially.20:21
cdentwhat I worry about, though, is that we have some systems that us uuids with '-', for example, that we won't consider valid20:21
cdents/us/use/20:21
cdents/with/without/20:21
efriedcdent: I thought is_uuid_like took that into account.20:21
* cdent sighs20:21
efriedThough we should (still) be sanitizing those.20:22
cdentexactly20:22
cdentwe're not in sync with ourselves20:22
efriedseparate bug, arguably, though I could certainly get behind fixing that in this patch.20:22
efriedum, doesn't it get normalized when you stuff it in the UUIDField?20:23
cdentI don't know20:23
*** tssurya has joined #openstack-placement20:25
efriedchecking...20:25
efriedcdent: Nope.20:27
cdenthuh20:27
cdent(sorry for partial attention, working on another thing at same time020:27
efriedcdent: In fact, if you look at the docstring for UUIDField...20:27
efried...it provides a recipe for doing what we're doing here.20:28
efriedsort of20:28
openstackgerritJay Pipes proposed openstack/nova master: delete consumers which no longer have allocations  https://review.openstack.org/58108620:35
*** e0ne has joined #openstack-placement20:36
jaypipesmriedem, efried: k, round 5. ^^20:37
efriedjaypipes: +2, thanks.20:39
efriedcdent: I -1'd that patch on the grounds that we need to sanitize the UUID.  But referenced our discussion and the overall grudging agreement that we need to do it this way based on momentum.20:40
cdentthanks20:40
efriedcdent: Do we have a bug for "sanitize UUIDs"?20:41
mriedemnote again that keystone doesn't enforce uuids20:41
mriedeminstance.project_id and user_id are 255 in the nova db20:41
efriedYup, noted in the patch.20:41
efriedthe consumer UUID doesn't go anywhere near keystone, though, does it?20:41
cdentefried: this is the closest: https://bugs.launchpad.net/nova/+bug/175805720:42
openstackLaunchpad bug 1758057 in OpenStack Compute (nova) "When creating uuid-based entities we can duplicate UUIDs" [Undecided,In progress] - Assigned to Rajat Sharma (tajar29)20:42
mriedemefried: not directly in placement no20:42
efriedyup, that's the one.20:42
openstackgerritDan Smith proposed openstack/nova master: Add policy to InstanceGroup object  https://review.openstack.org/56337520:42
efriedmriedem: Even as instance IDs, from nova, though?20:42
mriedemthe instance project_id / user_id come from the request context when creating a server20:42
mriedemand that project_id/user_id come from keystone,20:43
mriedemand those might not be uiuds20:43
mriedem*uuids20:43
mriedemat least for user_id20:43
mriedemaccording to knikolla20:43
mriedemif you're using ldap or something that's not going to be a uuid, and it's longer than 36 characters you're going to be screwed anyway20:43
mriedembecause of the placement data model20:44
efriedI get that, for proj & user, but we're not talking about those at all in this patch.  We're only talking about consumer_uuid.  Which, if we're limiting our field of view to nova, is an instance UUID.  And instance UUIDs don't interact with keystone, do they?20:44
mriedemno, if it's instance id (consumer uuid) then yes20:45
mriedemno keystone20:45
mriedemsorry for the noise20:45
cdentmriedem: as far as I can tell the decision is made that project and user id will remain 255 varchar20:45
mriedemok and projects.external_id is 25520:46
mriedemwhew20:46
mriedemfor some reason i thought we had encoded a project_id and user_id of 36 into the placement data model20:46
cdentit's come up, but I think your research made it so it won't happen20:47
mriedem\o/20:52
mriedemefried: cdent: dansmith: jaypipes: so on this "nova-manage placement sync_aggregates" CLI change i'm about to update,20:52
mriedemi've got the additive part done (add provider aggregates where we have compute host aggregates),20:52
mriedembut i've left the removal as a todo because i think that's something people should opt into with an option, and maybe along with a specific host,20:53
mriedembecause if we blindly remove provider aggregates for hosts that aren't in nova aggregates, we could blow up externally managed provider aggregates for things like ironic nodes and shared storage pools20:53
mriedemwould y'all agree?20:53
cdentyes20:54
efriedabsolutely20:54
efriedTo rephrase: We can't say that a placement aggregate should be deleted just because it doesn't have a corresponding nova host aggregate.20:55
mriedemunless you opt into that20:55
efriedYou would be crazy to opt into that.20:55
mriedemwith a --purge or --remove option20:55
mriedemsomething like that20:55
efriedyou're basically saying "make sure the *only* aggregates I have are nova host aggregate mirrors".20:56
mriedemyeah, and if you're not doing shared storage aggregate mgmt yourself, or not using ironic, which are pretty new/advanced things at this point, i don't think it's *crazy*20:56
efried"at this point"20:56
mriedemright20:57
efriedIf you provide this option, it needs to be crystal clear what's going to happen, in big red letters.20:57
mriedemyeah that's why i left it as a separate todo20:57
openstackgerritMatt Riedemann proposed openstack/nova master: Add nova-manage placement sync_aggregates  https://review.openstack.org/57591220:57
mriedemthar she blar mateys20:57
efriedIn the bright future, at least some of the non-nova-host placement aggregates are likely to be created under the covers; the operator would never know about them.  And if they blow them away... chaos ensues.20:58
efriedOr the oversized sta-puft marshmallow man explodes.20:58
mriedemlikely to be created under the covers, by whom?20:58
efriedexample: PowerVM shared storage pool aggregate created by PowerVM driver.20:58
efried(NOT by admin)20:59
mriedemsure20:59
mriedemmaybe it would be a case that we'd only want to remove the placement aggregate iff the aggregate has only 1 provider in it and that provider is not in a nova host aggregate, so you'd avoid removing things like pools managed by the virt driver21:00
mriedemsince a shared storage pool aggregate management by powervm should have at least 2 providers in it right?21:00
mriedemone for the compute node and one for the MISC_SHARES_VIA_AGGREGATE DISK_GB provider21:01
mriedemyes?21:01
efriednot necessarily21:01
efriedum, yeah, probably21:01
mriedemotherwise you'd just have a MISC_SHARES_VIA_AGGREGATE-traited provider in an aggregate by itself21:01
mriedemwe could also exclude providers with that trait21:01
mriedemanyway, not something i'm tackling anytime soon really21:02
mriedemi think once we land the basic cli to fill gaps then we can consider the mirror bp done21:02
jaypipesmriedem: yes, agree absolutely.21:03
jaypipesmriedem: that we shouldn't blindly remove stuff.21:03
mriedemok i think i just have a couple of tweaks to make in the functional happy path test for https://review.openstack.org/575912 then - otherwise it's ready for review21:06
mriedemthe change is mostly test coverage21:06
openstackgerritEric Fried proposed openstack/nova master: Test for unsanitized consumer UUID  https://review.openstack.org/58113721:08
efriedcdent: ^^21:08
mriedemhttps://review.openstack.org/#/c/581086/ is on its way to the sarlac pits21:08
mriedemis that the saying now?21:08
cdentefried: noted, but later21:09
efriedexcept for your unforgivable misspelling of sarlacc21:10
mriedemyeah yeah21:10
efriedI'm totally bluffing.  I actually don't even know if that's from Star Wars or Dune.21:12
efriedThey're going to take away my nerd card.21:12
jaypipestotally Return of the Jedi.21:13
mriedempaul atreides would be rolling over in his sandy grave21:14
efriedThat's not the kid from Neverending Story?21:22
openstackgerritJay Pipes proposed openstack/nova master: update project/user for consumer in allocation  https://review.openstack.org/58113921:28
jaypipesmriedem: ^^21:28
jaypipesmriedem: hopefully partly unblocks you.21:28
mriedemjaypipes: ok i'll rebase on top of that and see21:29
jaypipesmriedem: cheers21:30
*** e0ne has quit IRC21:31
cdentefried: I put a very light -1 on that uuid verfiication thing, assuming that you wanted to maximize its utility for eventually fixing the bug21:41
*** tssurya has quit IRC21:55
*** tssurya has joined #openstack-placement22:02
openstackgerritMatt Riedemann proposed openstack/nova master: Add policy field to ServerGroup notification object  https://review.openstack.org/56340122:10
openstackgerritMatt Riedemann proposed openstack/nova master: Change the ServerGroupAntiAffinityFilter to adapt to new policy  https://review.openstack.org/57116622:10
openstackgerritMatt Riedemann proposed openstack/nova master: Adapt _validate_instance_group_policy to new policy model  https://review.openstack.org/57146522:10
mriedemjaypipes: does the trick22:21
* mriedem makes weedly-woo air guitar motion22:21
mriedem*weedly-wow that is22:21
openstackgerritMatt Riedemann proposed openstack/nova master: Heal allocations with incomplete consumer information  https://review.openstack.org/57448822:22
openstackgerritMatt Riedemann proposed openstack/nova master: Refactor _heal_instances_in_cell  https://review.openstack.org/57789622:22
openstackgerritMatt Riedemann proposed openstack/nova master: Use consumer generation in _heal_allocations_for_instance  https://review.openstack.org/57790522:22
mriedemjaypipes: rebased on your fix, so you can drop the -2 on mine22:23
mriedemoh and https://review.openstack.org/#/c/581086/ exploded in tempest22:24
mriedemnot sure why it passed functional tests22:24
mriedemhttp://logs.openstack.org/86/581086/5/check/tempest-full/4a79185/controller/logs/screen-placement-api.txt.gz?level=TRACE#_Jul_09_21_05_05_55329922:24
mriedem[SQL: u'DELETE FROM consumers WHERE consumers.uuid IN (SELECT consumers.uuid \nFROM consumers LEFT OUTER JOIN allocations ON consumers.uuid = allocations.consumer_id \nWHERE allocations.consumer_id IS NULL AND 1 != 1)'] (Background on this error at: http://sqlalche.me/e/2j85): InternalError: (1093, u"You can't specify target table 'consumers' for update in FROM clause")22:24
openstackgerritChris Dent proposed openstack/nova master: Update some placement docs to reflect modern times  https://review.openstack.org/58115122:30
*** tssurya has quit IRC22:30
efriedjaypipes, cdent: Please confirm: When creating an allocation for a *new* consumer, we expect to receive consumer_generation: null, NOT zero.22:37
cdentcorrect22:37
cdentefried: is something not playing according to plan?22:40
efriedcdent: Yeah, I'm updating that test case as you suggested, sending null, and getting "consumer generation conflict - expected 0 but got None"22:40
cdentthat sounds like what https://review.openstack.org/#/c/577914/ was supposed to fix. are you up to date?22:43
cdentefried: rather that ^ demonstrates the bug but I think jay has stuff in flight that fixes it22:44
efriedcdent: Okay, no, I'm only based on latest master.22:45
efriedcdent: Do you have the fixy patch at your fingertips?22:45
jaypipesmriedem: done.22:45
jaypipesefried: yes, correct.22:45
cdentI had a fix https://review.openstack.org/#/c/577915/ but it was decided it wasn't going to work with other changes and I think jay has something in flight22:45
efriedI'll just double-stack the TODOs.22:45
efriedIt's, like, two all-beef TODOs, special sauce, lettuce, cheese, pickles, onions on a generation conflict bun.22:46
jaypipescdent: ack. efried, rebase on https://review.openstack.org/#/c/579921/22:46
jaypipescdent: that should fix you up.22:46
jaypipesefried: that should fix you up. :)22:47
jaypipesefried: or wait until that patch merges...22:47
efriedjaypipes: Roger wilco.  Guess we should stuff that patch into the aforementioned bug and close it, if so.22:47
cdentI think I will go to bed22:47
* cdent waves goodnight22:47
jaypipesefried: well... there are subtle diffs in the bug22:47
jaypipescdent: ciao22:47
*** cdent has quit IRC22:47
efriedjaypipes: I'm saying if it fixes it, we should close the bug and note the commit where it was fixed.22:48
efried...and it does seem to fix it.22:49
efriedI'll mark it up.22:49
jaypipesmriedem: sigh, the DELETE multiple consumers revision bombed.22:49
jaypipesmriedem: I couldn't get the DELETE consumers FROM consumers LEFT JOIN allocations... to work in sqlalchemy, so tried with the subquery approach. fail.22:51
jaypipesmriedem: I'll have to end up materializing that subquery into an array and then just specifying WHERE uuid IN <array>22:51
jaypipesdamn you efried for your efficiency requests. :P22:51
* efried considers self damned22:52
efriedjaypipes: https://review.openstack.org/#/c/579921/ should have removed the xfail at https://github.com/openstack/nova/blob/master/nova/tests/functional/api/openstack/placement/gabbits/allocations-1.28.yaml#L23722:53
jaypipesefried: no, that's not a new consumer.22:54
efriedjaypipes: Well, I'm telling you that test succeeds with your patch.22:55
efriedjaypipes: Which apparently looks like this when it contains an xfail:22:58
efried{0} nova.tests.functional.api.openstack.placement.test_placement_api.allocations-1.28_put_that_allocation_to_new_consumer.test_request [0.738921s] ... FAILED22:58
efried{0} nova.tests.functional.api.openstack.placement.test_placement_api.allocations-1.28_put_that_allocation_to_new_consumer.test_request [0.000000s] ... ok22:58
efried...22:58
efriedRan: 2 tests in 9.0000 sec.22:58
efried - Passed: 122:58
efried - Skipped: 022:58
efried - Expected Fail: 022:58
efried - Unexpected Success: 122:58
efried - Failed: 022:58
jaypipesefried: why wouldn't those have failed in the patch tests, then?22:58
efriedWell, it doesn't seem to cause the suite to fail.  That's probably a tox or stestr bug.22:59
jaypipesah, I see.23:00
efriedjaypipes: Here it is in your patch: http://logs.openstack.org/21/579921/4/check/nova-tox-functional/5fb6ee9/job-output.txt.gz#_2018-07-09_17_22_11_846366 and http://logs.openstack.org/21/579921/4/check/nova-tox-functional/5fb6ee9/job-output.txt.gz#_2018-07-09_17_31_07_22927123:00
openstackgerritJay Pipes proposed openstack/nova master: delete consumers which no longer have allocations  https://review.openstack.org/58108623:02
openstackgerritJay Pipes proposed openstack/nova master: update project/user for consumer in allocation  https://review.openstack.org/58113923:02
openstackgerritEric Fried proposed openstack/nova master: Test for unsanitized consumer UUID  https://review.openstack.org/58113723:04
jaypipesefried: removing the xfail now. perhaps you wouldn't mind +W'ing it after I push?23:04
efriedcdent, jaypipes: ^23:04
efriedjaypipes: Okay, you're yanking it from the gate rather than doing a fup?23:04
efriedeither way es geht23:05
openstackgerritJay Pipes proposed openstack/nova master: placement: delete auto-created consumers on fail  https://review.openstack.org/57992123:06
jaypipesefried: ^23:06
efriedjaypipes: +A23:07
jaypipesefried: danke23:07
efriedjaypipes: Re+2 https://review.openstack.org/#/c/581137/ if you please?23:08
efriedthx23:09
jaypipesefried: done23:09
efriedjaypipes: You abandoned the 404 one... what is my response if I ask for allocations for a nonexistent consumer?23:10
efriedjaypipes: Looks like mebbe it's 200 {}.  That should be 404 IMO.23:12
efriedI done restored it, so there.23:13
jaypipesefried: see my comment...23:14
efriedjaypipes: testing now23:15
jaypipesefried: no, I mean about the abandon one.23:15
efriedjaypipes: Yeah, it's 200 {}, tested on top of the delete patch.23:15
jaypipesefried: the current behaviour (correct) is return 200 {}23:15
efriedjaypipes: I'll push this test case.23:15
efriedjaypipes: 200 {} is not the behavior we want, is it?23:16
efriedor is it?23:16
jaypipesefried: if we change it to a 400 (not a 404), that would require a new microversion.23:16
efriedwhy 400 rather than 404?23:16
jaypipesefried: https://specs.openstack.org/openstack/api-wg/guidelines/http/response-codes.html#failure-code-clarifications23:16
efriedI thought we talked about this last week and agreed it made more sense as 404 in this case.23:16
jaypipesefried: third bullet point.23:17
efriedjaypipes: Yeah, "a nonexistent resource in the body (not URI)"23:17
efriedThis is a nonexistent resource in the URI.23:17
* efried keeps reading the bullet...23:17
jaypipesefried: the resource is /allocations23:17
jaypipesefried: the {consumer_uuid} isn't a thing we have as a resource (yet, and AFAICT, for the foreseeable future)23:18
jaypipesefried: either way, the existing behaviour is 200 {} and I'm not sure it's a huge problem to keep it that way now that the delete auto-created consumers and delete consumers w/o allocs bugs are resolved.23:19
efriedjaypipes: The guideline isn't specific enough to answer this one unambiguously. IMO if you do anything to <URI> where <URI> represents anything that doesn't exist, that's a 404.  In either case I don't think 200 { 'allocations': {} } is a reasonable response, for the same reason we were bugging about that before: namely, it doesn't contain a consumer gen, project ID, or user ID and is therefore inconsistent with the e23:21
*** bhagyashri_s has joined #openstack-placement23:22
jaypipesefried: either way, needs a new microversion, and I ain't up for that effort at the moment. I can consider doing something about that later on, but I don't believe it's a blocker for reshaper or heal allocations?23:23
efriedjaypipes: Agree with the latter; let's just keep the patch open, make sure there's a bug, and hash it out later.23:23
*** bhagyashris has quit IRC23:25
*** edmondsw has quit IRC23:26
jaypipesefried: ack, cool with me.23:28
openstackgerritEric Fried proposed openstack/nova master: return 404 when no consumer found in allocs  https://review.openstack.org/57916323:31
openstackgerritEric Fried proposed openstack/nova master: Update some placement docs to reflect modern times  https://review.openstack.org/58115123:44

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