Earlier  
Posted Nick Remark
#openstack-nova - 2017-04-26
16:02:36 sfinucan right?
16:02:39 mriedem but we didn't want to go the route of stuffing bdm information in flavor extra specs
16:02:44 mriedem the worst of both worlds
16:03:22 johnthetubaguy mriedem: the above spec is the reverse I thought, its just a flavor that says "must have boot volume"
16:04:00 mriedem johnthetubaguy: the UX was bad imo,
16:04:10 mriedem i think the idea was you mark your flavors as local_disks=False,
16:04:25 mriedem and if the user tries to create a server with one of those flavors but without defining bdms, it fails
16:04:41 johnthetubaguy sfinucan: my head swap was in MiB in the flavor but it seems like its not, I must have got mixed up with RAM
16:05:00 mriedem putting the burden on the user to have to sort out which flavors they can use and if they have to have volumes, etc
16:05:19 mriedem it'd be much better UX if the operator configures the compute to use cinder as an ephemeral storage backend
16:05:25 mriedem regardless of flavor
16:05:33 bauzas oh fun, we already verify existing allocations before posting
16:05:45 bauzas mriedem: jaypipes: dansmith: cdent: ^
16:06:10 cdent yes, didn't we already know that?
16:06:12 johnthetubaguy mriedem: true, but that seems years away at this point, and the other way makes diskless hypervisors upstream
16:06:22 bauzas cdent: I wrote that as a work item
16:06:30 bauzas for the scheduler claims stuff
16:06:34 mriedem johnthetubaguy: well, https://specs.openstack.org/openstack/nova-specs/specs/newton/approved/flavor-root-disk-none.html also bakes that into the API
16:06:36 johnthetubaguy mriedem: the problem is the mix of diskless and non-diskless
16:06:40 bauzas cdent: and nobody reviewed that saying "meh" :p
16:06:56 mriedem johnthetubaguy: so then we have to support local_disks=False in flavors in the API for years probably
16:07:03 mriedem even if we ever get cinder ephemeral
16:07:08 cdent bauzas: well, I think I did when discussing the change to not use RPC, but it didn't get picked up and didn't seem a relevant detail
16:07:34 mriedem johnthetubaguy: there was also https://review.openstack.org/#/c/432503/ which i really didn't want since it mixes extra specs and bdms
16:07:46 cdent bauzas: in any case, did you seem my earlier [t 3xBS]
16:07:47 purplerbot <cdent> bauzas: left a comment on your WIP that I wanted to be sure you didn't miss since your -W [2017-04-26 15:52:17.085960] [n 3xBS]
16:07:56 johnthetubaguy mriedem: yeah, the auto create seems evil
16:08:21 mriedem johnthetubaguy: anyway, we talked about cinder ephemeral at the ptg, a spec was never written, but it's a forum session to discuss it or alternatives
16:08:30 johnthetubaguy mriedem: yeah
16:08:36 mriedem if people want this, then they need to put up the dev resources to do it
16:08:41 mriedem rather than api hacks
16:09:09 mriedem cinder ephemeral imagebackend also allows us to deprecate lvm, rbd and scaleio (if that lands)
16:09:29 mriedem i think anyway
16:09:57 johnthetubaguy mriedem: my problem is the whole way we do disks is truly terrible, so to get to something clean buts a lot of burden on the users to switch to something radically different
16:10:00 mriedem having said this, there is probably a world of API operations that don't work for boot from volume servers, like shelve/unshelve and rebuild
16:10:23 mriedem users == operators?
16:10:28 johnthetubaguy mriedem: they should all work, they might be broken
16:10:33 johnthetubaguy mriedem: I was meaning API users
16:11:06 mriedem i don't see how a cinder ephemeral imagebackend is radically different from the API pov
16:11:11 mriedem the api doesn't change
16:11:30 mriedem the operator just says he wants to use cinder for storage on this compute host
16:11:46 mriedem which is what that spec is also doing, probably with host aggregates tied to the marked flavors
16:11:55 johnthetubaguy mriedem: the problem is we create user visible cinder volumes, that we didn't before, then we talk about customizing the volume type, and mixed diskless and non-diskless, and it all gets a bit tricky.
16:13:30 mriedem at the ptg we said that we could add the support for volume type via extra spec if we did cinder ephemeral imagebackend,
16:13:33 mriedem which was a win for cburgess
16:14:05 mriedem i agree you get a user visible cinder volume that you wouldn't have before,
16:14:17 edleafe ` /win 14
16:14:20 mriedem but i'm not sure that's a huge issue as long as it's marked for delete_on_termination=True
16:14:21 cburgess What do we mean by "wouldn't have before"?
16:14:34 mriedem wouldn't have before "automatically"
16:14:39 mriedem today you opt in to bfv
16:14:58 mriedem this would have nova do it for you depending on which compute host you land on
16:15:09 cburgess OK right but, presumably it would be a deployer, or at least cloud admin, option to use the new as of yet unspeced nova roots on cinder idea.
16:15:33 mriedem yes it would be
16:15:42 cburgess So I don't think its a problem that users would see the cinder volumes.
16:15:49 mriedem as would marking your flavors as local_disks=False like in https://specs.openstack.org/openstack/nova-specs/specs/newton/approved/flavor-root-disk-none.html
16:15:56 cburgess In pure BFV environments today they already deal with that.
16:16:28 mriedem it's just with https://specs.openstack.org/openstack/nova-specs/specs/newton/approved/flavor-root-disk-none.html if the user picks the wrong flavor or makes the wrong server create request, it will blow up
16:16:36 mriedem and then they have to go back and figure out how to add bdms via the nova boot cli
16:16:37 cburgess How so?
16:16:37 mriedem which is not fun
16:16:40 cburgess I'm not following.
16:16:54 mriedem "The use case for End Users is to not create ephemeral (root) disks locally on the hypervisor by accident. When launching an instance from a flavor with disabled local disks, the user will be informed to create a bootable volume in order to launch the instance with that volume."
16:17:05 mriedem "be informed" means 400
16:17:45 mriedem holy crap, just look at the proposed change minefield
16:17:47 mriedem "error, when flavor create request with local_disks=False and root_gb > 0 and/or emphemeral_gb > 0 and/or swap_gb > 0"
16:18:02 mriedem "return descriptive exception, when flavor with local_disks=False and requested image larger than given blockdevice layout"
16:18:07 mriedem "if local_disks is omitted or set to True, root_gb is mandatory again"
16:18:22 mriedem "if jupiter is aligned with saturn and it's a leap year, the api works, else 400"
16:18:37 cburgess Yeah this seems... sub-optimal.
16:18:44 cdent what about when mercury is in retrograde?
16:18:53 cburgess Why can't we use the rest of the info from the boot request and craft a BFV request for them.
16:18:59 mriedem cdent: then all bets are off
16:19:16 mriedem cburgess: that's probably https://review.openstack.org/#/c/432503/
16:19:18 cburgess Granted... turning off local disks is a really big deal/issue today and causes us issues.
16:20:02 johnthetubaguy right, its not possible today, due to root_gb=0 meaning "don't resize image"
16:20:07 cburgess mriedem Yeah but you killed that. So it seems to me that if we do local_disk=False we either need to build the BDM under the covers, or we need to allow the BDM in the flavor as well.
16:20:34 cburgess johnthetubaguy How does that impact this exactly?
16:20:40 mriedem if we build the bdm under the coveres if local_disk=False, that's the same thing as https://review.openstack.org/#/c/432503/
16:20:45 mriedem just a different attribute on the flavor
16:20:56 mriedem ^ was doing is_bdm_flavor=True on the flavor
16:20:58 mriedem same idea
16:21:01 cburgess OK
16:21:02 cburgess Well...
16:21:08 johnthetubaguy cburgess: people often assume 0 GB means no disk
16:21:20 cburgess Honestly it seems reasonable to me. But then I thought that spec was reasonable to begin with.
16:21:25 cburgess johnthetubaguy Well they are wrong :P
16:21:30 johnthetubaguy cburgess: agreed
16:21:35 mriedem cburgess: you're saying you like both ideas
16:21:45 mriedem the abandoned spec, and the extra specs / bfv thing
16:21:59 cburgess mriedem I'm saying disks are a total and complete mess and we have to find ways of making this easier and better to consume because right now the whole thing is a confusing mess.
16:21:59 mriedem cburgess: you like anything that gets rid of your local patches :)
16:22:33 cburgess mriedem Yes.. but... I have those local patches because things are a mess. So I like anything that makes a cleaner, easier to use system for users.
16:22:48 mriedem yeah i know,
16:23:00 mriedem if a cinder ephemeral imagebackend is never going to happen, then maybe we go with https://review.openstack.org/#/c/432503/
16:23:14 mriedem i just really dislike coupling two terrible tech debt things in nova, extra specs and bdms
16:23:21 mriedem because that's bound to be a maintenance nightmare
16:23:32 cburgess Well I think a cinder ephemeral imagebackend is a long term thing. Question is what, if anything, can we do in a cycle or two.
16:23:44 smcginnis I've been seeing more and more requests for using Cinder as ephemeral storage.
16:23:57 mriedem cburgess: nothing is happening in pike

Earlier   Later