Earlier  
Posted Nick Remark
#openstack-nova - 2018-08-08
19:43:55 dansmith since we clearly can't honor the affinity goal
19:44:16 dansmith sean-k-mooney: that doesn't help us
19:44:23 dansmith sean-k-mooney: you might not be keeping tenants to cells
19:45:12 mriedem dansmith: yeah i think that's what gibi said on mel's patch
19:45:15 sean-k-mooney dansmith: i was not suggesting it was a depency just that if we detected there was an affinity group the only consider 1 cell for the request
19:45:20 dansmith mriedem: ack, haven't looked
19:45:37 sean-k-mooney dansmith: anyway it was just a tought.
19:45:49 mriedem we can still race our way around affinity and wind up in different cells
19:45:58 mriedem if you create the servers at the same time
19:46:24 mriedem and i think the late up-call doesn't help you there either
19:46:33 mriedem but it's been awhile since i've thought about this
19:46:38 sean-k-mooney ya ther isent really a way around that if you have multiple schdulers acitve.
19:46:40 dansmith we should be able to handle the race to multiple cells I think
19:47:22 dansmith if we're the first instance in a group, we schedule to any cell.. if we're not, we restrict to that cell, if we thought we were and then end up being the second one after a no-restriction thing, we reschedule
19:47:41 dansmith should be easy to check the mappings of other members to see if they're set to catch the last case I think
19:48:14 sean-k-mooney dansmith: would that not reqiure an up call from the compute to the top level cells db
19:48:19 dansmith no
19:48:26 dansmith it's all done in the scheduling superconductor loop
19:48:42 mriedem we don't reschedule within superconductor...
19:49:00 dansmith but we can
19:49:14 dansmith we don't currently because we shouldn't need to
19:49:36 dansmith scheduler re-queries if it can't claim resources, and conductor doesn't know if a compute will fail, so it can't reschedule at that point,
19:49:55 dansmith but if we have a reason, like we go create the instance in a cell, and then learn we lost the race, we can reschedule before we map that instance
19:50:51 dansmith you know,
19:52:10 dansmith I was going to spout off another potential way to solve the need for the affinity upcall in a similar way, but I need to think about that for a sec
19:52:29 dansmith but regardless for the cell race I think we can manage it in superconductor
19:54:51 sean-k-mooney dansmith: is there any reason we dont create placement aggregates for cells out of interest?
19:55:24 melwitt I hope somebody can write down these ideas somewhere so we don't forget in stein
19:55:41 sean-k-mooney if we did that consider a cell is just a member-of right?
19:56:14 sean-k-mooney all the info to create the aggregate is already in the cell mapping table
19:56:24 dansmith sean-k-mooney: I don't want to leak cells outside of nova in any way
19:56:44 dansmith sean-k-mooney: and I definitely don't want to auto-create aggregates in nova that align to cells
19:57:18 sean-k-mooney dansmith: aggregates in placement auto-created by nova you mean
19:57:54 dansmith sean-k-mooney: definitely not auto-created in nova, but probably not really in placement either
19:59:35 dansmith we can already filter hosts by cell in the scheduler
19:59:36 sean-k-mooney well a placement aggreate is just a group of resouce providers. there is no real inherint semantics beyond that. so you can model cells or regions or host aggregats equally
20:00:23 sean-k-mooney dansmith: true but if there was a agregate associated with placement could ignore everything not in that aggregate
20:00:44 sean-k-mooney anyway its just an idea.
20:00:55 openstackgerrit Merged openstack/nova master: Refactor cell_type in compute/api.py https://review.openstack.org/589833
20:21:07 melwitt mriedem: don't forget to please review these ocata quota fixes before you go on vacay https://review.openstack.org/588416 and the one above it
20:22:17 mriedem oh right
20:39:46 openstackgerrit melanie witt proposed openstack/nova master: Add a prelude release note for the 18.0.0 Rocky GA https://review.openstack.org/589303
20:51:13 openstackgerrit Sergii Golovatiuk proposed openstack/nova master: libvirt: Always escape IPv6 addresses when used in migration URI https://review.openstack.org/589548
21:07:00 openstackgerrit Sergii Golovatiuk proposed openstack/nova master: libvirt: Always escape IPv6 addresses when used in migration URI https://review.openstack.org/589548
21:13:30 openstackgerrit Jay Pipes proposed openstack/nova master: split gigantor SQL placement query into multiple https://review.openstack.org/590041
21:16:14 jaypipes mriedem, dansmith: is there a way to boot a Nova VM on behalf of another user/project?
21:16:30 dansmith I think that has been requested before
21:16:38 jaypipes mriedem: alternately, is there a way to transfer ownership of an instance once its been created?
21:16:50 dansmith also requested
21:16:54 jaypipes pretty sure that latter thing has been requested a few times, yeah
21:16:57 melwitt haha, Oath questions
21:17:00 dansmith yup
21:17:01 jaypipes :)
21:17:16 jaypipes melwitt: yup. trying to see if we can chuck the "ytenant" patches.
21:18:47 melwitt yeah, I kept talking about it for years "on behalf of" but there's not even support for that in keystone either, from what I understand. there's no such thing as a credential that records "I am A and I have obtained a token for B"
21:18:59 jaypipes mriedem, dansmith: BTW, https://review.openstack.org/#/c/590041 is all about that "debugging scheduler filters" thing...
21:19:22 jaypipes mriedem, dansmith: or rather the "NoValidHosts oh noes!" thing.
21:19:34 dansmith both would be complicated, especially around image, flavor, and affinity things that would be violated by the new tenant
21:19:34 jaypipes bnemec-pto: https://review.openstack.org/#/c/590041
21:19:38 openstackgerrit Merged openstack/nova master: xx_instance_type_id in list_migrations should be integer https://review.openstack.org/588481
21:20:08 melwitt yeah, transfer of ownership would be very difficult
21:23:18 melwitt but for "on behalf of", an idea I had was if we were to take a --project-id, --user-id parameter to nova boot, that you could pass if you're admin, then we create the instance with the given project/user instead of the admin's. and we'd have to record in the logs that it happened, "Project/user admin/admin has requested instance create for person/person" so it's traceable in some way
21:24:08 dansmith well,
21:24:18 dansmith presumably you get admin's access to images and flavors?
21:24:28 dansmith so what do we do if the user tries to rebuild?
21:24:31 dansmith or resize?
21:24:47 dansmith and do you get admin's affinity or the user's?
21:24:52 melwitt the project/user recorded in the database will be theirs (the user's), not the admins
21:24:54 dansmith what about when they rebuild/resize/etc?
21:24:59 melwitt after the admin creates it, no more admin involved
21:25:34 dansmith which means they can't rebuild if the admin built with an image they can't access yeah?
21:25:38 jaypipes dansmith: it's a "let's have the admin hand-hold you for a little while, then after that, you can use it" sort of anti-feature.
21:25:46 melwitt dansmith: yeah
21:25:52 dansmith jaypipes: yes, anti-feature is a good name for it :)
21:26:02 melwitt yeah. I can't really remember why they want it
21:26:19 dansmith jaypipes: without a lot of inbuilt support for that workflow, it sounds like the kind of thing that will always have a million caveata
21:26:22 dansmith like shelve
21:26:58 melwitt because admin can act upon all user's instances already, except for create, if I'm remembering correctly
21:27:07 melwitt that is, an admin can delete a normal user's instance, etc
21:27:40 dansmith well, that's a terrible reason, but I know what you mean :)
21:27:59 melwitt haha, sorry, wasn't using it as a reason
21:28:55 melwitt I mentioned it in the context of, I can't remember why they need it for create, being that admin can already do everything else to normal user instances
21:29:06 dansmith I know
21:31:34 melwitt jaypipes: fwiw, you might be able to solve it at the keystone level, like if you could present keystone with admin creds and then receive back a token for another user (if you have the appropriate role), then it would be transparent to nova. the context nova receives would be for the wanted user
21:32:37 melwitt like if there were a role, "Allowed to act on behalf of project X" that admin type users could be a part of
21:33:59 dansmith or write a half page doc for your users on how to boot their first instance
21:34:46 mriedem dansmith: we have a bug for that with shelve,
21:34:48 melwitt yeah, I can't remember what it's for, something automated where a headless user is doing it
21:34:49 mriedem user creates server,
21:34:51 mriedem admin shelves it,
21:34:55 mriedem user unshelves,
21:34:59 mriedem kablammo
21:35:00 dansmith boom
21:35:01 dansmith heh yeah
21:35:03 mriedem b/c user doesn't have access to the admin snapshot
21:35:08 dansmith yar
21:35:12 melwitt that's fun
21:35:27 melwitt I guess the keystone idea would solve that issue
21:35:34 mriedem i'm pretty sure it's a relatively straight-forward fix, just haven't ever had the proper motivation to work on it
21:35:41 mriedem no no no

Earlier   Later