Tuesday, 2018-07-03

*** edmondsw has joined #openstack-placement00:23
*** edmondsw has quit IRC00:28
*** tetsuro has joined #openstack-placement01:18
openstackgerritBrin Zhang proposed openstack/nova-specs master: Add support specify volume type when boot instance  https://review.openstack.org/57952001:31
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy to InstanceGroup object and api models.  https://review.openstack.org/56337502:38
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy field to ServerGroup notification object  https://review.openstack.org/56340103:06
openstackgerritBrin Zhang proposed openstack/nova master: Add fault info when unshelve instance failed  https://review.openstack.org/57974703:12
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Change the anti-affinity Filter to adapt to new policy  https://review.openstack.org/57116603:31
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Change the anti-affinity Filter to adapt to new policy  https://review.openstack.org/57116603:32
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Adapt _validate_instance_group_policy to new policy model  https://review.openstack.org/57146503:32
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Microversion 2.64 - Use new format policy in server group  https://review.openstack.org/56753403:33
openstackgerritMerged openstack/osc-placement master: Add nested resource providers (v1.14)  https://review.openstack.org/54667503:56
openstackgerritMerged openstack/osc-placement master: Limit allocation candidates (v1.15, v1.16)  https://review.openstack.org/54804303:56
openstackgerritMerged openstack/osc-placement master: Allocation candidates parameter: required (v1.17)  https://review.openstack.org/54832603:56
openstackgerritDeepak Mourya proposed openstack/nova master: Resource_provider API handler does not return specific error codes  https://review.openstack.org/57942304:36
*** takashin has joined #openstack-placement05:29
*** edmondsw has joined #openstack-placement05:48
*** edmondsw has quit IRC05:53
*** nicolasbock has joined #openstack-placement06:42
*** openstackgerrit has quit IRC06:49
*** openstackgerrit has joined #openstack-placement06:54
openstackgerritOpenStack Proposal Bot proposed openstack/nova master: Imported Translations from Zanata  https://review.openstack.org/57801906:54
*** peereb has joined #openstack-placement07:21
*** tssurya has joined #openstack-placement07:31
openstackgerritTuan Do Anh proposed openstack/nova-specs master: fix tox python3 overrides  https://review.openstack.org/57979307:31
*** edmondsw has joined #openstack-placement07:36
*** edmondsw has quit IRC07:41
openstackgerritLei Zhang proposed openstack/nova master: Add method to get cpu traits  https://review.openstack.org/56031707:47
*** avolkov has joined #openstack-placement07:51
openstackgerritClaudiu Belu proposed openstack/nova master: tests: autospecs all the mock.patch usages  https://review.openstack.org/47077507:56
openstackgerritClaudiu Belu proposed openstack/nova master: hyper-v: autospec classes before they are instantiated  https://review.openstack.org/34221107:56
openstackgerritClaudiu Belu proposed openstack/nova master: WIP: replace spec with autospec  https://review.openstack.org/55729908:01
openstackgerritBalazs Gibizer proposed openstack/nova master: Prevent updating an RP's parent to form a loop  https://review.openstack.org/57961808:08
openstackgerritMerged openstack/nova master: Merge server create schema for keypair extension  https://review.openstack.org/57833208:31
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add InstanceGroupPolicy object  https://review.openstack.org/57362808:33
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Refactor the policies to policy  https://review.openstack.org/57911308:33
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy to InstanceGroup object and api models.  https://review.openstack.org/56337508:33
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Add policy field to ServerGroup notification object  https://review.openstack.org/56340108:33
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Change the anti-affinity Filter to adapt to new policy  https://review.openstack.org/57116608:33
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Adapt _validate_instance_group_policy to new policy model  https://review.openstack.org/57146508:34
openstackgerritYikun Jiang (Kero) proposed openstack/nova master: Microversion 2.64 - Use new format policy in server group  https://review.openstack.org/56753408:34
openstackgerritBalazs Gibizer proposed openstack/nova master: Transform missing delete notifications  https://review.openstack.org/41029708:50
*** cdent has joined #openstack-placement08:56
*** cdent_ has joined #openstack-placement09:04
*** cdent has quit IRC09:05
*** cdent_ is now known as cdent09:05
openstackgerritTakashi NATSUME proposed openstack/nova master: Transform instance-live_migration_post notification  https://review.openstack.org/48011909:06
openstackgerritjiang wei proposed openstack/nova master: Add action initiator attribute to the instance payload  https://review.openstack.org/53624309:10
openstackgerritBalazs Gibizer proposed openstack/nova master: Fix unbound local when saving an unchanged RequestSpec  https://review.openstack.org/57376809:12
*** edmondsw has joined #openstack-placement09:25
openstackgerritSilvan Kaiser proposed openstack/nova master: Exec systemd-run with privileges in Quobyte driver  https://review.openstack.org/55419509:25
openstackgerrityuqian proposed openstack/nova master: vmware does't support VirtualSriovEthernetCard  https://review.openstack.org/57982809:26
*** edmondsw has quit IRC09:29
*** takashin has left #openstack-placement09:30
*** e0ne has joined #openstack-placement09:33
openstackgerritBrin Zhang proposed openstack/nova master: Add unshelve instance error info to fault table  https://review.openstack.org/57974709:45
*** tetsuro has quit IRC09:49
*** nicolasbock has quit IRC09:55
*** tssurya has quit IRC10:06
*** cdent has quit IRC10:25
openstackgerritBalazs Gibizer proposed openstack/nova master: Escalate UUID validation warning to error in test  https://review.openstack.org/54038611:21
*** tssurya has joined #openstack-placement11:49
openstackgerritBalazs Gibizer proposed openstack/nova master: Call generate_image_url only for legacy notification  https://review.openstack.org/56452811:50
openstackgerritBalazs Gibizer proposed openstack/nova master: Call generate_image_url only for legacy notification  https://review.openstack.org/56452811:51
*** rubasov has quit IRC12:13
openstackgerritBalazs Gibizer proposed openstack/nova master: Enhance service restart in functional env  https://review.openstack.org/51255212:19
openstackgerritBalazs Gibizer proposed openstack/nova master: Reproduce bug 1724172 in the functional test env  https://review.openstack.org/51255312:19
openstackgerritBalazs Gibizer proposed openstack/nova master: cleanup evacuated instances not on hypervisor  https://review.openstack.org/51262312:19
openstackbug 1724172 in OpenStack Compute (nova) "Allocation of an evacuated instance is not cleaned on the source host if instance is not defined on the hypervisor" [Medium,In progress] https://launchpad.net/bugs/1724172 - Assigned to Balazs Gibizer (balazs-gibizer)12:19
*** rubasov has joined #openstack-placement12:20
openstackgerritjiang wei proposed openstack/nova master: Add action initiator attribute to the instance payload  https://review.openstack.org/53624312:49
*** mriedem has joined #openstack-placement12:51
openstackgerritMerged openstack/nova master: Handle nested serialized json entries in assertJsonEqual  https://review.openstack.org/57961512:54
openstackgerritMatt Riedemann proposed openstack/nova stable/queens: Use ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa in tree  https://review.openstack.org/57986213:01
*** edmondsw has joined #openstack-placement13:01
openstackgerritBalazs Gibizer proposed openstack/nova master: Fix unbound local when saving an unchanged RequestSpec  https://review.openstack.org/57376813:02
*** edmondsw has quit IRC13:06
mriedemjaypipes or dansmith: can i get a review on the consumer heal allocations CLI change - has a +2 https://review.openstack.org/#/c/574488/ - then we can close out that blueprint13:06
*** mriedem is now known as mriedem_afk13:09
openstackgerritBalazs Gibizer proposed openstack/nova master: cover migration cases with functional tests  https://review.openstack.org/49386513:18
*** tssurya has quit IRC13:21
efriedjaypipes: I was trying to make sure that I could set it to whatever I want when I'm creating the child RPs for my devices.  But it's not going to help me anyway: I've got no good way to correlate a UUID with a device without some kind of persistent storage.  I have to do it via the name - which means my virt driver is going to have to talk to placement, because the allocation record I get only has the UUID of the RP.13:24
*** bhagyashris has joined #openstack-placement13:26
openstackgerritMargarita Shakhova proposed openstack/nova master: Do not skip migrations in _destroy_evacuated_instances()  https://review.openstack.org/56362313:37
openstackgerritBalazs Gibizer proposed openstack/nova master: Send soft_delete from context manager  https://review.openstack.org/47645913:43
jaypipesefried: wouldn't you get the provider tree which would allow you to look up the UUID from the name of the provider?13:43
*** mriedem_afk is now known as mriedem13:44
efriedjaypipes: I'm trying to connect what I generate via update_provider_tree to how I need to correlate it back to a real device from spawn.13:44
efriedjaypipes: In either case, yes, I'll need to look up the name from the UUID.13:45
dansmithmriedem: queued13:50
efriedmriedem, dansmith: I'm working my way through it fwiw.13:51
efriednearly done13:51
openstackgerritMatt Riedemann proposed openstack/nova master: Wait for vif plugging during live migration job  https://review.openstack.org/57855113:52
dansmithack13:56
openstackgerritMatt Riedemann proposed openstack/nova master: Stop setting glance_api_version in cinder.conf in nova-live-migration  https://review.openstack.org/57987113:56
*** mriedem has quit IRC14:04
*** mriedem has joined #openstack-placement14:04
efrieddansmith: I left comments but no vote there, would like to see if you think the missing tests warrant a respin.  (mriedem fyi)14:05
dansmithwow, mriedem was missing tests?14:05
dansmithkinda seems like the meat of the patch14:07
efriedMaybe I'm crazy, maybe those scenarios were covered by existing tests, but I would find that odd considering the code paths in question are new.14:08
*** tssurya has joined #openstack-placement14:08
mriedemlooking14:09
mriedemthere are existing functional tests that hit this14:10
mriedemTestNovaManagePlacementHealAllocations14:11
mriedemor wait maybe i'm answering the wrong question14:11
efriedmriedem: Tests that yield a nonempty response payload with an empty allocations member?14:12
efriedmriedem: And that return a payload with the correct proj and user already set?14:12
dansmithyeah both are missing afaict14:12
dansmithsince they're new behaviors, I don't think they're likely to be covered by existing tests14:12
mriedemwhen pulling allocatoins, placement will automatically fill in the sentinels from config14:12
mriedemso i can't functionally test that the project_id / user_id aren't set at all because the placement api sets those14:13
efriedyup, not talking about that14:13
efriedTalking about one scenario where the GET returns14:14
efried{ proj: something,14:14
efried  user: something,14:14
efried  generation: something,14:14
efried  allocations: {}14:14
efried}14:14
efriedYou should skip this because of the second part of the condition you added at the front.14:14
efriedAnd a second scenario where the GET returns14:15
efried{ proj: correct thing,14:15
efried  user: correct thing,14:15
efried  ...14:15
efried}14:15
efriedYou should skip this due to the new code where you check equality against the instance's proj/user14:15
dansmithright14:16
* efried carefully folds gibi's cape and returns it to his foot locker.14:17
mriedemreplies inline14:18
mriedemfor your 2 scenarios above,14:19
mriedemthe latter is covered by the existing functional tests - change the continue to an exception, run the functional tests and see them blow up14:19
mriedemfor the former, can we have empty allocations with project/user/generation?14:20
mriedemno we can't14:20
mriedemwhere project/user weren't provided14:20
mriedemoops14:20
openstackgerritTakashi NATSUME proposed openstack/nova master: Transform instance-live_migration_post notification  https://review.openstack.org/48011914:21
mriedemhttps://github.com/openstack/nova/blob/master/nova/api/openstack/placement/handlers/allocation.py#L9314:21
mriedemif there are no allocations, you don't get project/user/generation in the response14:21
efriedahyes, which is something jaypipes is fixing via https://review.openstack.org/#/c/579654/ but not yet merged.14:22
mriedemumm14:22
mriedemthat would be a microversion if so14:22
efriedI thought no, but edleafe agrees with you.14:22
mriedem"oops" doesn't mean you can't bypass the microversion laws14:23
mriedem*can14:23
efriedMy reasoning was along the lines of, this is broken, and you shouldn't have to opt out of broken behavior.  I thought I'd heard you say that a time or two.14:23
mriedemfor 500s yeah14:24
efriedokay.14:24
mriedemor stuff that corrupts your data14:24
mriedemthose are generally behavioral changes in the api, not response schema14:24
jaypipesefried, mriedem: actually in this case, https://bugs.launchpad.net/nova/+bug/1779717 is the more relevant (and blocking) bug.14:30
openstackLaunchpad bug 1779717 in OpenStack Compute (nova) "No ability to update consumer's project and/or user external ID" [Medium,Triaged] - Assigned to Jay Pipes (jaypipes)14:30
efriedoh riiight, duh, forgot all about that.14:31
mriedemjaypipes: is that also true of POST /allocations? https://developer.openstack.org/api-ref/placement/#manage-allocations14:36
jaypipesmriedem: yes14:37
jaypipesmriedem: both use the same util.ensure_consumer() calls.14:38
jaypipesmriedem: and that call doesn't update a consumer's information.14:38
mriedemalright, i'll work on a different functional test for my heal_allocations change in the meantime14:39
jaypipesmriedem: this is something that wasn't a problem when we were just jamming project and user ID into the allocations table, but now that we have a consumers table which stores this normalized data, I forgot to consider this, unfortunatyely.14:39
jaypipesmriedem: my apologies. I should have fixes up soon.14:39
*** edmondsw has joined #openstack-placement14:51
*** edmondsw has quit IRC14:55
openstackgerritjiang wei proposed openstack/nova master: Add action initiator attribute to the instance payload  https://review.openstack.org/53624315:01
openstackgerritKonstantinos Samaras-Tsakiris proposed openstack/nova master: Hide hypervisor id on windows guests  https://review.openstack.org/57989715:02
*** peereb has quit IRC15:05
*** e0ne has quit IRC15:29
openstackgerritMerged openstack/nova master: Update xenapi_disable_agent config option usage in docs  https://review.openstack.org/57884815:36
openstackgerritMatt Riedemann proposed openstack/nova master: libvirt: use dest host vif migrate details for live migration  https://review.openstack.org/55137015:43
openstackgerritMatt Riedemann proposed openstack/nova master: Annotate flows and handle PortBindingDeletionFailed in ComputeManager  https://review.openstack.org/55137115:43
openstackgerritMatt Riedemann proposed openstack/nova master: Port binding based on events during live migration  https://review.openstack.org/43487015:43
openstackgerritMatt Riedemann proposed openstack/nova master: conductor: use port binding extended API in during live migrate  https://review.openstack.org/52253715:43
*** tssurya has quit IRC15:47
openstackgerritStephen Finucane proposed openstack/nova master: network: Always retrieve network information if available  https://review.openstack.org/56444415:51
openstackgerritStephen Finucane proposed openstack/nova master: network: Retrieve tunneled status in '_get_physnet_info'  https://review.openstack.org/56444515:51
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add NUMACell.network_metadata  https://review.openstack.org/56443915:51
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add NUMATopologyLimits.networks  https://review.openstack.org/57548615:51
openstackgerritStephen Finucane proposed openstack/nova master: hardware: Start accounting for networks in NUMA placement  https://review.openstack.org/56444815:51
openstackgerritStephen Finucane proposed openstack/nova master: objects: Add RequestSpec.network_metadata  https://review.openstack.org/56444215:51
openstackgerritStephen Finucane proposed openstack/nova master: scheduler: Start utilizing RequestSpec.network_metadata  https://review.openstack.org/56445215:51
openstackgerritStephen Finucane proposed openstack/nova master: conf: Add '[neutron] physnets' and related options  https://review.openstack.org/56444015:51
openstackgerritStephen Finucane proposed openstack/nova master: libvirt: Start populating NUMACell.network_metadata field  https://review.openstack.org/56444115:51
*** nicolasbock has joined #openstack-placement15:52
jaypipesguh. one letter typo in a variable name stumped me for the last hour... :(16:45
openstackgerritJay Pipes proposed openstack/nova master: move lookup of provider from _new_allocations()  https://review.openstack.org/57992016:52
openstackgerritJay Pipes proposed openstack/nova master: placement: delete auto-created consumers on fail  https://review.openstack.org/57992116:52
jaypipesefried, mriedem: ^^16:52
jaypipesmriedem: related to the bug about not being able to change user/project for a consumer. working on that one now...16:53
efriedack16:53
openstackgerritEric Fried proposed openstack/nova master: WIP: Delete orphan nodes before updating resources  https://review.openstack.org/57992216:55
openstackgerritMatt Riedemann proposed openstack/nova master: Default embedded instance.flavor.disabled attribute  https://review.openstack.org/57992517:05
*** e0ne has joined #openstack-placement17:45
openstackgerritMerged openstack/nova master: Merge server create schema for multiple create extension  https://review.openstack.org/57833818:11
openstackgerritMerged openstack/nova master: Merge server create schema for scheduler hint extension  https://review.openstack.org/57834318:11
*** cdent has joined #openstack-placement18:13
*** edmondsw has joined #openstack-placement18:27
*** mriedem has quit IRC18:31
*** edmondsw has quit IRC18:32
*** mriedem has joined #openstack-placement18:39
openstackgerritMatt Riedemann proposed openstack/nova master: Add action initiator attribute to the instance payload  https://review.openstack.org/53624318:45
openstackgerritMerged openstack/nova master: conf: Correct documentation for '[pci] passthrough_whitelist'  https://review.openstack.org/55287418:59
openstackgerritMerged openstack/nova master: [doc] enhance admin/configuration/api.rst  https://review.openstack.org/56600818:59
openstackgerritMerged openstack/nova master: Remove mox in sec group test and functional tests  https://review.openstack.org/57675118:59
openstackgerritMatt Riedemann proposed openstack/nova master: Time how long pre_live_migration() takes  https://review.openstack.org/57448119:00
openstackgerritMerged openstack/nova master: conf: Resolve Sphinx errors  https://review.openstack.org/57954519:02
*** tssurya has joined #openstack-placement19:15
openstackgerritAndreas Karis proposed openstack/nova master: Add documentation for emulator threads policy  https://review.openstack.org/57995619:18
openstackgerritAndreas Karis proposed openstack/nova master: Add documentation for emulator threads policy  https://review.openstack.org/57995619:22
openstackgerritAndreas Karis proposed openstack/nova master: Add documentation for emulator threads policy  https://review.openstack.org/57995619:24
openstackgerritAndreas Karis proposed openstack/nova master: Add documentation for emulator threads policy  https://review.openstack.org/57995619:24
*** e0ne has quit IRC19:40
efriedcdent: Let's move here so we're not interrupting.  Whichever thing we're talking about, placement is heavily involved.19:42
efriedcdent: One thing I'm trying to work on is https://bugs.launchpad.net/nova/+bug/1779931 which is the race exposed by https://review.openstack.org/#/c/556669/ which you've already looked at a week or two ago.19:43
openstackLaunchpad bug 1779931 in OpenStack Compute (nova) "Provider update race between host aggregate sync and resource tracker" [Undecided,New]19:43
* cdent nods19:43
efriedcdent: But the thing about rebuilds not handling sharing providers has to do with karimull's attempts to write functional tests per my comments at https://review.openstack.org/#/c/569498/9/nova/conductor/manager.py@103719:44
efriedI suspect we're going to have to merge that patch without those tests, because there's probably no way to make those tests pass, because of the aforementioned not handling sharing providers in rebuild (and related) flows.19:45
openstackgerritAndreas Karis proposed openstack/nova master: Add documentation for emulator threads policy  https://review.openstack.org/57995619:45
* cdent nods at efried 19:48
cdentI guess we have rather a lot of auditing to do, just to make sure we know where the gaps are19:49
openstackgerritEric Fried proposed openstack/nova master: WIP: Tighten up ReportClient use of generation  https://review.openstack.org/55666919:51
efriedyeah19:52
*** edmondsw has joined #openstack-placement20:16
*** edmondsw has quit IRC20:21
mriedemjaypipes: comments inline https://review.openstack.org/#/c/579921/20:49
mriedemmostly ok with it though20:49
jaypipesmriedem, edleafe, cdent, dansmith, efried: for https://review.openstack.org/#/c/579654/ and https://review.openstack.org/#/c/579163/, you've asked for microversions for both of those changes. Would you all be amenable to a single microversion bump that included the behaviour changes for both of those patches? (i.e. merging those patches into one and adding the microversion changes)21:35
efriedjaypipes: Sight unseen, if this is fixing the holes we have in consumer reporting, I'm in favor in principle.  Let me look closer, though..21:36
jaypipesmriedem, edleafe, cdent, dansmith, efried: we do need to make a decision on whether consumer records should be kept even after all a consumer's allocation records are deleted. My personal preference is that, yes, they should. I understand there are differing opinions on that question. Shall we take a vote on it and move forward?21:36
cdentjaypipes: yeah, same as efried: without yet looking it makes sense to fix all the consumer stuff in one microversion if possible21:36
dansmith+1 for one microversion21:36
dansmith+1 for auto-delete consumers21:37
efriedjaypipes: Yes, having looked, I would be in favor; BUT we can't move on the second patch until we've decided on the consumer deletion thing.21:37
jaypipesefried: well, there's the one thing (deleting the auto-created consumer) that can be fixed without a microversion bump. that's the separate https://review.openstack.org/#/c/579921/ patch.21:37
cdentjaypipes: I'd like to be able to vote, but I still don't understand your reasons for not wanting to delete them?21:37
efriedjaypipes: yeah, putting that totally aside, that's different21:37
efriedcdent: It sounds like he's in favor of auto-deleting.21:37
efriedoh, sorry, backwards21:38
efried"should be kept"21:38
cdentjaypipes: did you see my questions/comments on https://bugs.launchpad.net/nova/+bug/1779717 ?21:38
openstackLaunchpad bug 1779717 in OpenStack Compute (nova) "No ability to update consumer's project and/or user external ID" [Medium,Triaged] - Assigned to Jay Pipes (jaypipes)21:38
efriedYeah, I'm opposed to that.  My vote is to auto-delete when last allocation goes away.21:38
jaypipescdent: I view consumers similar to resource providers. we don't delete resource providers when they have all their inventory deleted. yes, the resource provider has a name attribute to it, but a consumer has a project and user attribute to it. I just don't see a reason to delete that data.21:38
edleafeNo need for more than 1 microversion21:39
cdentyeah, my comments on the bug are sort of related to that21:39
cdentbrb21:39
efriedjaypipes: We have an API to delete resource providers.  If we add an API to delete consumers then I'm totally on board with no-auto-delete.21:39
dansmithefried: that's what I said, but I also don't want us to have to do that cleanup from nova,21:39
efriedjaypipes: If consumers are like resource providers, let's make 'em like resource providers.21:39
dansmithand I see RPs as a top-level object in placement, but consumers are not.. they're incidental, and thus can be deleted incidentally21:40
efrieddansmith: The cleanup would be easy.  When we delete allocations, we also delete consumers.  And with a DELETE /consumer/{u} operation, it'd be trivial to write a manage script that cleans up oldymoldys.21:40
mriedemwe delete allocations everywhere in nova21:40
mriedemdoubling the calls there isn't something i want to do21:41
dansmithtotally doable, but it's another call, and with anything non-atmonic, we could fail in the middle21:41
mriedemit's metadata about the allocation, just drop it when the allocs are gone21:41
dansmithwhich means we have to be able to reap them later21:41
cdentmriedem++21:41
efriedGiven the relative amount of work, my preference is auto-delete.21:41
dansmithcdent: what was your vote?21:41
mriedemauto-delete for me21:41
efriededleafe?21:41
dansmithright so that's 3 for auto delete, 4 for keep (and presumably never delete or add a way to delete)21:41
dansmitheff21:41
dansmith3 for auto-delete, 1 for keep21:41
* efried isn't sure if the votes are weighted, though21:42
edleafesure, if it has no meaning, delete it21:42
cdentdansmith: like I said above I'm still trying to understand jay's reasoning, but if it is just "i view them the same as resource providers" then: I don't (I think they are incidental) and I think they should auto-delete21:42
edleafeefried: they always are21:42
dansmithokay that's 5 for auto-delete, 1 for keep21:42
dansmithanyone else we should poll?21:42
mriedemthe tc21:43
* dansmith asks his cat21:43
mriedemi guess cdent is the proxy21:43
cdentnaw mate, the tc is powerless, we all know that21:43
mriedemmy cat has found the afternoon sun and wants to be left alone21:43
jaypipesif we shelve-offload an instance, nova will delete all the allocations for that instance. that will delete the consumer in placement, then. we will then have no record that the instance ever consumed anything in placement. is that ok with everyone?21:43
cdentit is with me21:43
mriedemi am21:43
edleafewhen it's unshelved, a new consumer record would be created, no?21:43
mriedemuntil there is a use case for why we need that record, auto-delete21:44
mriedemedleafe: yes21:44
dansmithjust to be clear, we wouldn't have a record of anything other than that it consumed something at some point21:44
jaypipesedleafe: for the same instance, yes. with a new generation and a new created_by, etc21:44
dansmithwhich seems meaningless to me21:44
jaypipescreated_at...21:44
edleafeso it's cleaner than having to have a separate code path for unshelve21:44
dansmithplacement is not an audit log right?21:44
mriedemif we want audit trails or something, add notifications to placement21:44
efriedNo record other than the fact that it's a shelved instance.  We can infer from that not only that it once had allocations, but what they were.  We don't need an allocation-less entry in placement to tell us (the least interesting) part of that.  IMO.21:44
edleafeplease no21:44
dansmithcreated_at on a consumer record tells us nothing about what it consumed, or even if it did21:44
jaypipesdansmith: true21:45
mriedemedleafe: please no to what?21:45
cdentefried: I don't understand "not only that it once had allocations, but what they were"21:45
edleafeadding notifications21:46
cdenthow can you do the what they were part?21:46
efriedcdent: Based on the flavor of the shelved instance, nah?21:46
dansmithcdent: you can infer from the instance21:46
efriedcdent: Oh, I guess we can't tell which providers they came from.21:46
efriedUnless we save the request spec or something.21:46
mriedemi thought there were approved blueprints at one point for adding notifications to placement...21:46
cdentin which case why use anything in placement for that at all, nova has all that info already21:46
mriedemthings like blazar would probably want that21:46
jaypipesI predict we're going to want GET|PUT|POST|DELETE /consumers at some point in the future with the move to use placement for quota usage and accounting... but I'm fine auto-deleting consumer records when the last allocation is removed if that's what folks want.21:46
efriedcause that has the allocations on it.21:46
efriedjaypipes: I don't think the two are mutually exclusive.21:47
cdentefried: "cause that", what is "that"?21:47
mriedemthe provider21:47
mriedemthe provider which had the allocations21:47
efriedcdent: sorry, I was saying the request spec has allocations on it.  Is that true, after we claim?21:47
efriedanyway...21:48
mriedemjaypipes: yeah i commented in https://review.openstack.org/#/c/579163/ and i can only think of a top level set of APIs for consumers in placement if we fill out that resource more, for things like consumer types21:48
mriedemefried: i don't know what you're talking about wrt request spec21:48
efriedyeah, ignore me.21:48
mriedemheh21:48
mriedemrequest spec has the flavor21:48
mriedemthat's it21:48
mriedemwell, that's it*21:49
mriedem* all of the other crap21:49
efriedjaypipes: In the same microversion where you introduce /consumers, you flip the allocations ops to not automatically do *anything* with consumers.  So in that microversion, you *must* PUT /consumer/{u} first; and when you're done, you *may* DELETE /consumer/{u}.  Folks wanting the auto-create/delete behavior use the old microversion.  Done.21:49
cdentplease don't do that21:49
efriedmriedem: I thought we were stuffing the allocation object on the request spec before we sent it to spawn.21:49
mriedemyou added that code to compute right?21:50
mriedemi never looked at it21:50
cdentwe still haven't sufficiently worked out the meaning of consumers _outside of nova_ to be creating them as first class entities in the api21:50
mriedembut allocations are sent to spawn() as a separate parameter from what i remember21:50
openstackgerritAndreas Karis proposed openstack/nova master: Add documentation for emulator threads policy  https://review.openstack.org/57995621:50
edleafewait - there's a world outside of nova??21:50
efriedmriedem: Yeah, would have to look again to see exactly where that plays.  Anyway, I don't think it's important enough to worry about in this context.21:50
dansmithedleafe: no21:50
mriedemovirt21:50
mriedemit's in the ML thread21:50
efriedcdent: I'm just saying that, if we wind up eventually wanting GET|PUT|POST|DELETE /consumers as jaypipes suggests, it would make sense to go the whole way in that microversion.21:51
efriedcdent: When we try to go partway, we end up in situations like this.21:51
cdentefried: I agree, which is why I'm certain we don't want to touch it now :)21:51
mriedemefried: allocations = self.reportclient.get_allocations_for_consumer(21:51
mriedem            context, instance.uuid)21:51
mriedemwe get them from placement and pass them to driver.spawn()21:52
efriedmriedem: We also stuff 'em into `resources['allocations']` in the _build_resources context mgr in _build_and_run_instance.21:53
mriedemthat's different21:53
mriedemthat's just a yield trick21:53
mriedemsame as bdms and network_inf21:53
mriedem*network_info21:53
mriedemanywho21:54
cdentanyway, can someone please respond or react to my comment on https://bugs.launchpad.net/nova/+bug/1779717 because I think that's key to including me in any future discussion on this stuff. until I can get past that, I'll be stuck21:54
openstackLaunchpad bug 1779717 in OpenStack Compute (nova) "No ability to update consumer's project and/or user external ID" [Medium,Triaged] - Assigned to Jay Pipes (jaypipes)21:54
mriedemsounds like the majority has spoken right21:54
cdentyup, but it is ack'd as a "some issues still remain to figure out"21:54
efriedoh, which we then throw away.21:54
jaypipescdent: responding now21:54
cdentawesome, thanks jaypipes21:54
mriedemcdent: i would agree that we should only allow setting new project/user if the existing project/user is None or sentinels21:55
mriedemotherwise that's like changing ownership on stuff and we don't do that anywhere else in openstack21:55
mriedemdespite people wanting that in the past21:55
mriedemi.e. transfer instance foo from project A to project B21:55
efriedWhere sentinels means the default values of the conf options?21:56
jaypipescdent: responded.21:56
efriedCause it can't be the actual values of the conf options.21:56
efriedcause we can't get at those from this side of the API.21:57
cdentjaypipes: cool, thanks, will read in just a sec, pushing out the tc report21:57
jaypipesmriedem: lol, jinx, that's pretty much what I just wrote on the bug :)21:57
efriedI guess placement can tell.  Assuming we didn't set those records at one point and then change the conf values later.21:57
jaypipesefried: we can whilst placement is part of nova. :)21:57
*** tssurya has quit IRC21:58
cdentwhy does the nova side need to know?21:58
jaypipesefried: or at least, we can fudge it and hope.21:58
jaypipescdent: nova-manage heal_allocations.21:58
jaypipesI presume.21:58
efriedjaypipes: Still not, because we're still on different sides of an API boundary, likely on different machines.21:58
jaypipesefried: like I said, fudge it and hope. ;)21:58
mriedemheal_allocations doesn't know about the sentinels,21:59
efriedWhat would be the reason we shouldn't *always* change them to the instance's proj/user if not already?21:59
mriedemit just knows that the allocations project/user for this instance's allocations don't match the instance project/user21:59
edleafefor transfer, wouldn't it be simpler to DELETE allocs for A and then PUT allocs for B?21:59
jaypipesmriedem: ah, right, sorry. please ignore me.21:59
edleafeconceptually, that is21:59
mriedemhttps://review.openstack.org/#/c/574488/5/nova/cmd/manage.py@184321:59
efriededleafe: Yeah, that'd be a way of getting around the limitation, without a microversion.  Just POST both of those payloads, done.21:59
*** nicolasbock has quit IRC22:00
mriedemthe one worry i have is what efried said - if the config values change, then we're stuck22:00
jaypipesefried: of course, that won't work until https://bugs.launchpad.net/nova/+bug/1779717 is fixed, but that's besides the point.22:00
openstackLaunchpad bug 1779717 in OpenStack Compute (nova) "No ability to update consumer's project and/or user external ID" [Medium,Triaged] - Assigned to Jay Pipes (jaypipes)22:00
efriedPersonally I don't see a problem from a *placement* perspective allowing edit of a consumer's proj/user.  That may not fly in nova, but why not in placement?22:00
edleafeefried: nothing to do with microversion avoidance. Consumer A is no longer consuming, so delete its allocs (and itself). Then allocate (and create) consumer B22:00
jaypipesefried: it's the same consumer. it's just that consumer's ownership is being transferred.22:01
efriededleafe: In one step, though, so we don't race and wind up unallocated.22:01
jaypipesedleafe: sorry, that last one was directed at you.22:01
jaypipesedleafe: last one I directed at efried that is..22:01
mriedemi think edleafe is saying you can workaround the bug by just deleting the allocations (with the sentinel) and re-creating them (with the instance info) - but it's not atomic22:02
jaypipesedleafe: in other words, the instance isn't changing its consumption of resources. it's that the ownership of the instance is being transferred to another project.22:02
jaypipesmriedem: no, it would be atomic (if using POST /allocations). it's just a lot of effort to change the user/project of a consumer :)22:02
efriedmriedem: it's atomic if you use POST allocations22:03
*** avolkov has quit IRC22:03
efriedyeah22:03
efriednot so much effort.22:03
mriedemok then yeah POST /allocations doesn't work until that bug is fixed22:03
efriedJust wrapping the existing payload you've created in [{}, {here}]22:04
jaypipesefried: well... it would be atomic with regards to the allocation... since consumer objects are created outside of the AllocationList.create_all() transaction currently, there's still some holes (like the ones being plugged up with the auto-created consumer deletion)22:04
mriedemmaybe we want that 1.13 osc-placement patch after all...22:04
edleafeWe already have the atomic switcheroo in place; we just need to adjust it for handling migrations to handling ownership changes22:04
openstackgerritAndreas Karis proposed openstack/nova master: Add documentation for emulator threads policy  https://review.openstack.org/57995622:04
*** edmondsw has joined #openstack-placement22:05
mriedemcoincidentally, atomic switcheroo was my band in high school22:05
efriednever mind, POST doesn't help you, cause it's keyed by consumer ID.22:05
edleafeI have all your CDs22:05
jaypipesmy high school band was called Slow Children at Play. true story.22:06
cdentI was never in a band. I bet this surprises no one.22:07
edleafeI was, but much more boring. Mine was called Mono22:07
cdentCan I go to bed, or are you all going to make decisions tonight?22:07
cdentsame note. over and over.22:07
edleafeIt's after beer o'clock on the day before a holiday. I'm outta here22:07
jaypipescdent: I believe the decision has been made? auto-delete consumer records when no allocs.22:08
cdentI meant additional decisions ...22:08
cdentbut yeah, if we've reached that decision I think I can safely retire22:09
jaypipes++ ciao22:09
*** edmondsw has quit IRC22:09
efriedAre we in favor of combining that auto-deletion with the 404 behavior?22:11
mriedemi'm on a call from 6:30-8 so i'll be around making major decisions22:11
mriedemnvm, just cancelled, smell you jerks later22:14
*** mriedem is now known as mriedem_explosio22:14
*** mriedem_explosio is now known as mriedem_burnmark22:14
*** cdent has quit IRC22:23
openstackgerritJay Pipes proposed openstack/nova master: move lookup of provider from _new_allocations()  https://review.openstack.org/57992022:41
openstackgerritJay Pipes proposed openstack/nova master: placement: delete auto-created consumers on fail  https://review.openstack.org/57992122:41
*** mriedem_burnmark has quit IRC23:30
*** edmondsw has joined #openstack-placement23:53
*** edmondsw has quit IRC23:57

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