Earlier  
Posted Nick Remark
#openstack-nova - 2020-11-11
14:50:55 gibi I think we are overcomplicating this
14:51:10 gibi but that is how we roll :)
14:51:49 stephenfin overengineering ftw
14:52:18 gibi we are paid to engineer so why not do it fully :D
14:53:07 gibi thinking more about poor VMs called 'confirm' or 'revert' I remembered https://xkcd.com/327/ so at least I'm happy now
14:53:34 stephenfin touché
15:02:01 sean-k-mooney stephenfin: shelve offload is done automatically
15:02:13 sean-k-mooney its not a api action
15:02:21 gibi it is
15:02:21 stephenfin it is
15:02:24 stephenfin jinx
15:02:28 sean-k-mooney to froce it
15:02:34 sean-k-mooney ?
15:02:36 stephenfin it's a host-level config
15:02:47 stephenfin shelved_offload_time
15:02:47 sean-k-mooney the offload time ya
15:02:55 sean-k-mooney it defautl to auto offloading
15:03:06 sean-k-mooney i guess we can set it to -1?
15:03:11 stephenfin you can, yes
15:03:15 sean-k-mooney or somethign to disable it
15:03:17 sean-k-mooney ok
15:03:24 stephenfin "Any value < 0: An instance will never offload."
15:03:25 sean-k-mooney that kind of feels like a bug
15:03:45 sean-k-mooney its not discoverable via the api
15:03:49 sean-k-mooney and it changes the workflow
15:03:59 sean-k-mooney normally peopel just shelve
15:04:09 sean-k-mooney and never have to assk for it to be offloaded
15:04:14 sean-k-mooney as that is the default behavior
15:04:31 sean-k-mooney so its chageign the meaning of shelve
15:05:19 stephenfin that's a fair point
15:05:26 stephenfin with that said, it's been this way since forever
15:06:24 sean-k-mooney would peopel be open to dissalowing values less then 0
15:07:11 sean-k-mooney shelve-offload is admin only https://github.com/openstack/nova/blob/master/nova/policies/shelve.py#L47-L58
15:07:32 sean-k-mooney shelve is allowed for tenants
15:07:40 stephenfin I have no thoughts either way on this
15:08:08 sean-k-mooney shelve unoffloaded is basicaly a more expensive power off and kind fo defets the reason for having shelve
15:08:25 sean-k-mooney which is to free the resouce on the host so other instance can use it
15:08:40 gibi there could be a long shelve_offload_time configure but the admin still want to get all the VMs that are shelve to be offloaded e.g. not migration shelve VMs due to host maintenance
15:09:01 sean-k-mooney gibi: a long time is fine
15:09:26 sean-k-mooney its the fact the workflow never actully gets to shelve offloaded if its -1 is the problem
15:09:39 sean-k-mooney you could not relay on that in heat for example currently
15:10:05 sean-k-mooney since heat wont be able to call shelve-offload by default and cant know what the config option is set too
15:10:07 gibi is there a different between an arbitrary big int and infinite?
15:10:37 sean-k-mooney practilly i guess not but making it admin only seams problematic
15:10:42 gibi or vice versa, do you have a meaningful upper limit for the timer
15:11:20 gibi yeah, I can be convinced that offload need to have the same policy default than shelve
15:11:24 sean-k-mooney honestly anthign over a hour or a day feels like its not working as intended
15:11:49 sean-k-mooney if they have the same policy default i dont really mind as much
15:12:12 sean-k-mooney espcially if we added "openstack server shelve --offload"
15:12:53 gibi I thing stephenfin is working on this ^^
15:13:04 sean-k-mooney so that it woudl do both if it was active or just offload if its shelved
15:13:06 gibi so at least half of it is in the works
15:13:13 stephenfin sean-k-mooney: yes, exactly
15:13:19 sean-k-mooney well i dont think you shoudl have to do two actions
15:13:32 sean-k-mooney when you do shelve the expectation is it evenutally end up in offloaded
15:13:49 stephenfin I'll admit, that confused me. I thought the shelveOffload action would both shelve and offload, but it only does the latter
15:14:04 stephenfin I can mask that in the CLI
15:14:06 stephenfin though
15:14:13 sean-k-mooney ya you would have to do it in the cli
15:14:39 sean-k-mooney but i think tis come down to the default behavior of shleve which is to offload imedietly
15:15:19 dansmith the default is not to offload immediately,
15:15:23 dansmith unless the timer is zero right/
15:15:32 sean-k-mooney yes we default to 0 i think
15:15:45 dansmith oh, really? I surely didn't think so
15:16:11 dansmith yep, you're right
15:16:14 sean-k-mooney https://github.com/openstack/nova/blob/master/nova/conf/compute.py#L1134-L1155
15:16:53 sean-k-mooney ya so i have never done shelve-offload before but i use shelve semi frequently
15:17:19 sean-k-mooney and i have always expected it to go to shelve offloaded
15:17:29 dansmith offload timer of zero makes it behave more like aws' stop I think
15:17:34 stephenfin can anyone give me a one line summary of what shelve does vs. shutdown?
15:17:39 dansmith which maybe is why the default is there
15:17:46 sean-k-mooney dansmith: yep
15:17:50 dansmith stephenfin: snapshots the instance and re-schedule/deploys when you unshelve
15:17:50 stephenfin I mostly know but can't come up with something succinct
15:17:58 stephenfin dansmith++ ta
15:18:29 dansmith stephenfin: but only if it was offloaded, so you can't say it always does that
15:18:31 sean-k-mooney stephenfin: then shelve offload deletes it form the host and frees the calimed resources after shelve
15:18:32 dansmith although the client shouldn't really care whether it does or not
15:18:54 sean-k-mooney dansmith: do we defer the snapshot to offload
15:18:59 dansmith stephenfin: it was added as a way to keep your uuid and ip, but charge you less while the instance was "off" since it wasn't using memory and disk on the compute
15:19:08 sean-k-mooney i guess that makes sesne i though it was in the shelve step though
15:19:10 sean-k-mooney its been a while
15:19:28 dansmith sean-k-mooney: pretty sure we snap immediately, so that the offload can be independent and fast when it happens
15:20:02 sean-k-mooney ya so basically form a resouce point of view shelved is like powered off + a snapshot
15:20:24 sean-k-mooney so its more expensive since you are also being changed for the snapshot vs poweroff
15:20:31 dansmith no,
15:20:35 dansmith it's more expensive than a snapshot,
15:20:38 sean-k-mooney but shelve-offloded is much cheaper
15:20:38 dansmith not more expensive than a poweroff
15:20:47 dansmith well, depends I think
15:20:59 dansmith I think RAX would charge you less once you're in the shelved state,
15:21:09 dansmith because they could reclaim your resources at any point, so it didn't really matter and thus wasn't costing you more
15:21:27 dansmith if anything, the not-yet-offloaded state saved *them* resources having to redeploy your snapshot if you unshelved quickly
15:21:36 sean-k-mooney well tehy are only allowed to reclaim the resouce once it hits offloaded right
15:21:47 sean-k-mooney ya
15:21:51 sean-k-mooney that is why its there
15:21:55 sean-k-mooney the quick resume
15:22:03 dansmith the compute only gets the resources back on offload, but once you're shelved they could do that whenever they want,
15:22:15 dansmith so it's basically cache at that point
15:22:43 dansmith the client doesn't know when (or if ever) the offload will happen, so charging them more for some indeterminite period of time, and then cutting them down to cheaper on offload doesn't make any sense

Earlier   Later