Earlier  
Posted Nick Remark
#openstack-nova - 2017-04-03
19:22:51 mriedem no one is working on this
19:23:34 mordred maybe effort is the wrong word "aspirational future state that people would love to be in but nobody is currently driving"
19:23:36 mriedem mordred: you should report a bug regardless
19:23:39 mordred kk
19:23:41 mordred will do
19:23:51 mordred also - I'm just stealing novaclient's workaround for now
19:24:02 mriedem i'm surprised we actually returned a location header
19:24:10 mordred which is to just pop the uuid off the end of the url and return _that_
19:24:13 sdague mriedem: that's been there for a long time
19:24:30 mriedem sdague: there's lots of things that have been around for lots of years that surprise me :)
19:24:35 sdague :)
19:25:01 sdague returning location is actually a pretty good pattern, it's just that it depends on too much config being correct
19:26:12 sdague I'm trying to figure out if vexxhost's config is going to hurt something else in terms of migration
19:26:13 mriedem sdague: so is the basic idea, long-term we want to drop CONF.glance.api_servers and just have nova lookup the image service url in the catalog?
19:26:21 sdague mriedem: yes
19:26:29 mriedem same for neutron and cinder
19:26:32 mriedem since those are config driven
19:26:34 mordred yah
19:26:57 mriedem oh right and raj_singh had a patch to use ksa with glance in nova...
19:27:05 sdague right, so we probably are going to have to have a slightly more complicated case for glance where we consider an internal and a public path
19:27:14 mriedem https://review.openstack.org/#/c/412634/
19:27:32 sdague because glance is one of those services where your would tend to build a really high bw internal path to the api service
19:27:43 mordred mriedem: I've also got this one: https://review.openstack.org/#/c/438512/
19:27:48 mriedem we make that configurable for placement
19:27:53 mriedem which url to use i mean
19:27:58 mordred mriedem: which needs a little more cleanip before I bother you fine people with it much more
19:28:15 sdague mriedem: well... except we reflect urls straight to the user
19:28:22 sdague so we're going to need 2 config options
19:28:27 mriedem sdague: right i know
19:28:46 mriedem internal defaults to internalUrl or adminUrl or whatever, and public defaults to publicUrl
19:28:56 mriedem i was thinking about this https://github.com/openstack/nova/blob/master/nova/conf/placement.py#L31
19:29:02 sdague mriedem: yeh
19:29:13 mordred yah - I'd argue to not have that
19:30:09 mordred internal and public are known interfaces. nova should reflect urls based on public to API consumers and should use internal to talk to other services - we shouldn't make operators tell nova to do that- if they don't want an internal url, they should just register the same url twice with keystone
19:30:10 sdague mordred: well, we tried to get away with be prescriptive with placement
19:30:12 mordred but I'm unreasonable
19:30:19 sdague and people got mad
19:30:23 mordred of course they did
19:31:02 sdague mordred: so, lots of deployments only use public
19:31:09 sdague or at least some do
19:31:17 sdague and just route correctly
19:31:24 mordred yah. that would be more smarter
19:31:40 sdague is there anyone else with a newton cloud?
19:32:20 mordred dunno - I only know vexxhost is because I was chatting with mnaser about a config-drive issue over the weekend
19:32:48 mordred but given the way novaclient works here, it's highly unlikely many real-world folks are broken by this issue, fwiw
19:34:06 mordred I mean - honestly rather than fixing it - just returning a json dict in the body with the image_id in it would be a win - those urls aren't really used much in the rest of the overall api flow
19:34:24 mordred and the first thing you're going to do with this as a user is make a call to glance to get the image dict by id
19:34:43 mordred (since you have to poll that for status to know when it's done)
19:35:00 mriedem mordred: yeah that's why i said i was surprised,
19:35:10 mriedem because we just return ids for things like this in response bodies
19:35:15 mordred so it likely _could_ be fixed with a microversion easier than actually fixing the internal/public glance url thing
19:35:18 mriedem but, changing the response will be a microversion
19:35:22 mordred mriedem: yah. I was very surprised myself
19:35:46 mordred mriedem: as you might can tell from my comment: https://review.openstack.org/#/c/452566/2/shade/openstackcloud.py
19:36:25 mriedem ha
19:36:32 mriedem so dramatic
19:36:54 mordred well - it was a sunday and I managed to break a server by making the api call against nova
19:37:03 mordred because it _ALSO_ apparently turns the server off to do the snapshot
19:37:15 mordred so I might have been in a bad mood at the time
19:37:29 mriedem live snapshot is a thing if libvirt is new enough and you've configured nova-compute to attempt it
19:37:40 mriedem we disabled live snapshot way back when b/c it resulted in 25% failure rate in the gate
19:37:59 mriedem you as the api user have no idea if it's live or cold though
19:38:04 mriedem since it's config drive on the compute
19:38:08 mriedem *driven
19:38:40 mordred \o/
19:38:52 mriedem were you surprised that it was a cold snapshot? i see we don't mention that in the api ref
19:39:30 mordred well - I shouldn't have been - I know we don't use snapshots for any purpose in infra because it used to make the servers unresponsive for potentially hours - but I think I had just assumed that was some Xen/Rackspace thing
19:39:44 mordred but yes - I was totally unprepared for it to be a COMPLETELY unsafe thing to run
19:40:08 mordred that left me with a VM in a down state for an unknowable period of time
19:40:28 mordred and with no way that I could find for me to say "oh, crap, dude, nevermind - I need the VM back please"
19:40:58 mriedem build a confirm prompt into shade :)
19:41:26 mriedem we could note this in the docs though, that by default it's a cold snapshot so you should expect the guest to be offline during the snapshot operation
19:41:36 mriedem i'm not really sure if that's true for the other virt drivers, but it is for libvirt
19:42:03 mriedem sdague: didn't you have a patch to undo disable_libvirt_livesnapshot?
19:42:06 mriedem or change it to False
19:42:10 mriedem maybe it was sfinucan
19:42:13 mordred mriedem: yah - I think a docs patch with a warning would be a good idea
19:42:14 openstackgerrit Sihan Wang proposed openstack/nova master: VMware:fix get VM root device conditional verify https://review.openstack.org/402256
19:42:32 mriedem mordred: we can also doc the image location header response as probably being bogus for most users, at least users of public clouds
19:42:36 mordred ++
19:43:44 sdague I did change it to false, I thought we reverted it though
19:44:33 sdague oh, I guess it's still off by default
19:44:47 sdague we should probably change that
19:46:45 openstack Launchpad bug 1679285 in OpenStack Compute (nova) "Create Server Snapshot returns incorrect Image Location" [Undecided,New]
19:46:45 mordred mriedem: https://bugs.launchpad.net/nova/+bug/1679285
19:47:00 mriedem thanks
19:51:00 mriedem so how to fix this, i'm not sure if we just do the service catalog thing for this right now, or change the response in a microversion (which we can't backport)
19:51:08 mriedem it's super latent so i'm not sure we need to backport a fix,
19:51:11 mriedem we could just doc it as always sucking
19:53:45 mriedem sdague: ^ thoughts on which way you'd lean?
19:54:14 mriedem i'm not as clear on the service catalog stuff but could probably figure it out by looking at similar things with placement
19:54:34 sdague well, it makes it clear that once we get to newton, we probably break people by accident if they used that field
19:54:57 mriedem because it doesn't have v2 in the url?
19:55:02 mriedem it doesn't have v1 in it either
19:55:02 mordred mriedem: for my money, I'd document it, and then add the microversion for a new response type ... I think the catalog thing is a _much_ longer fix, even though it's the right one long term
19:55:04 sdague the Location: field really is supposed to have the url
19:55:13 mriedem unless images is an alias for v1/images
19:55:24 mordred yah - I think there are too many variables for Location to be correct consistently
19:55:34 mordred because you might be an admin who _does_ want to use the internal url
19:55:44 mordred and you might have requested internal urls from keystone as a user

Earlier   Later