| 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 | |