| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-06-28 | |||
| 13:44:24 | andrewbogott | yeah, with flat dhcp and floating IPs | |
| 13:45:00 | mnaser | that's a rough one. we did it a really long time ago but it involved having 2 clouds running at the same time, one with old setup and one with neutron | |
| 13:45:09 | mnaser | and a lot of very bad ideas™ | |
| 13:45:19 | mnaser | i dunno, i dont think we're at a point that someone is going to write a tool for this migration | |
| 13:45:46 | efried | Save me, mnaser! I've been like a physics professor trying to explain a real spaceship here (i.e. my scope of knowledge is barely overlapping and purely theoretical). | |
| 13:45:59 | andrewbogott | ahah! 'two clouds running at the same time' <- exactly what I'm doing | |
| 13:46:15 | andrewbogott | mnaser: how did you move your VMs between the clouds? | |
| 13:46:45 | mnaser | efried: aha | |
| 13:46:52 | mnaser | andrewbogott: well, it involved downtime, the idea was: | |
| 13:47:02 | mnaser | 1) create matching neutron network in new region | |
| 13:47:17 | mnaser | 2) create port with matching fixed ip, mac address, etc | |
| 13:47:36 | mnaser | 3) boot vm attached to that port under the same tenant or so | |
| 13:47:49 | mnaser | 4) shutdown vm, copy vm image from old region to new one | |
| 13:47:55 | mnaser | 5) start up vm again | |
| 13:47:59 | mnaser | 6) ??? | |
| 13:48:00 | mnaser | 7) profit | |
| 13:48:17 | andrewbogott | ok, so step 3 and 4 is basically that you create a new VM and then clobber it with the files from the old VM? | |
| 13:49:04 | andrewbogott | mnaser: it's nice to hear you having used a similar approach to the one we're converging on | |
| 13:49:17 | jangutter | andrewbogott: in summary, you'd like to "abandon" a VM, and "adopt" it without disturbing the hypervisor or networking? | |
| 13:49:18 | mnaser | essentially yes | |
| 13:49:39 | andrewbogott | jangutter: that's pretty much right. | |
| 13:49:44 | mnaser | that could be a possibility too actually, which avoids the move | |
| 13:49:52 | mnaser | the only thing is you have to stop access to your APIs | |
| 13:49:59 | mnaser | and do this per hypervisor | |
| 13:50:09 | mnaser | but that was too wild for us | |
| 13:50:10 | andrewbogott | Which I continue to believe/hope is just a matter of duplicating database rows between the oldnova DB and the new one... | |
| 13:50:16 | andrewbogott | Oh yeah, this is going to involve epic downtime | |
| 13:50:19 | openstackgerrit | Matt Riedemann proposed openstack/nova stable/queens: Handle CannotDeleteParentResourceProvider to 409 Conflict https://review.openstack.org/578804 | |
| 13:53:07 | yikun | mriedem: and we need keep _policies and policy in API model? and joinload _policies and policy? | |
| 13:53:25 | yikun | https://review.openstack.org/#/c/563375/17/nova/objects/instance_group.py@41 | |
| 13:54:45 | melwitt | nova meeting in 6 minutes | |
| 13:55:18 | mriedem | yikun: honestly i'm not fully following dansmith's comments there either, but unfortunately he's on vacation for the rest of this week. | |
| 13:55:27 | andrewbogott | mnaser, jangutter, my original question was: which tables in the nova db (besides 'instances') express the full state of a VM? | |
| 13:55:38 | mnaser | a lot | |
| 13:55:41 | andrewbogott | which, probably I just need to keep digging in the code/schema for the answer to this | |
| 13:55:45 | yikun | - -! | |
| 13:55:47 | mnaser | i think thats hard to like nail down | |
| 13:55:50 | mnaser | in a message :p | |
| 13:56:03 | andrewbogott | ok, fair enough :) | |
| 13:56:07 | mnaser | yes, you'll have to do research, my suggestion: dump your database | |
| 13:56:13 | mnaser | grep for a really old running instance and see what it's touching | |
| 13:56:19 | mriedem | yikun: oh i think i get it, | |
| 13:56:44 | yikun | em? | |
| 13:56:44 | mriedem | he's saying if we check db_policy._policies anywhere, we'll lazy-load it from sqlalchemy, in addition to the new db_policy.policy join you've added | |
| 13:57:01 | andrewbogott | mnaser: you'd expect that to be keyed using the uuid? Or the 'id' from the instances table? | |
| 13:57:18 | mnaser | both | |
| 13:57:18 | mnaser | :) | |
| 13:57:44 | mnaser | nova is complex and in my experience you really dont want to muck around the db manually | |
| 13:57:55 | jangutter | andrewbogott: the scary part of this is not accidentally re-inventing all the instance creation code... | |
| 13:58:05 | melwitt | gmann: I put it on the agenda for the nova meeting today | |
| 13:58:09 | mnaser | it might work today but break down in terrible ways in your next upgrade | |
| 13:58:34 | andrewbogott | ok, I'll see if I can do use the instance creation code instead, then. | |
| 13:58:40 | mnaser | melwitt: i know this is pretty last minute but if we have time to discuss https://review.openstack.org/#/c/577933/ that'd be nice | |
| 13:58:42 | andrewbogott | thank you for your thoughts, all | |
| 13:58:45 | mnaser | though i am not attached or that is not a priority | |
| 13:58:50 | yikun | mriedem: "if we check db_policy._policies anywhere", why we check this? | |
| 13:59:17 | mriedem | yikun: replied | |
| 13:59:22 | mriedem | yikun: yeah i don't get it, | |
| 13:59:38 | melwitt | mnaser: you mean during open discussion in the nova meeting? that's fine, I'm sure we'll have time | |
| 13:59:53 | mriedem | yikun: i'd say leave that part as you have it now, address the other comments and then we can come back to it when dan is back | |
| 13:59:55 | mnaser | melwitt: ok cools | |
| 14:00:22 | mriedem | yikun: i can maybe get jaypipes to take a look later too | |
| 14:00:36 | mriedem | he knows sqla db objects and versioned object mysteries | |
| 14:00:58 | Guest88823 | mriedem: nothing to do with ovo, just sqla | |
| 14:01:08 | mriedem | TheLurker | |
| 14:01:17 | yikun | hah | |
| 14:01:19 | dansmith | mriedem: yikun: You always need to check the old field until we're fully migrated yeah? | |
| 14:01:45 | mriedem | but it doesn't exist in the model https://review.openstack.org/#/c/563375/17/nova/db/sqlalchemy/api_models.py | |
| 14:01:55 | mriedem | _policies was changed to policy in the model | |
| 14:01:57 | mriedem | for the backref | |
| 14:02:12 | mriedem | crap meeting time | |
| 14:02:29 | dansmith | ohh | |
| 14:02:33 | dansmith | I never got that far | |
| 14:02:36 | dansmith | why is that changing? | |
| 14:02:48 | mriedem | i asked that as well, | |
| 14:03:00 | mriedem | i assume it's for model sanity since we don't have many policies per group, we have one | |
| 14:03:10 | mriedem | it's not a column, just a backref attribute | |
| 14:03:16 | dansmith | I thought we were adding a new backref | |
| 14:03:23 | dansmith | not a column obviously, but a new backreg | |
| 14:03:29 | dansmith | alright, well, nevermind me then | |
| 14:03:37 | mriedem | heh ok :) | |
| 14:03:39 | mriedem | well that was easy | |
| 14:04:17 | mriedem | yikun: so leave it like you have it for that joinedload | |
| 14:04:38 | dansmith | can we break the backref change out to something separate? | |
| 14:04:43 | dansmith | because that would be less confusing | |
| 14:05:00 | dansmith | 1. refactor the name, 2. make the changes to actually support the new object field | |
| 14:05:00 | mriedem | yeah that would be nice | |
| 14:05:55 | mriedem | left a comment | |
| 14:06:07 | jaypipes | mriedem: whatup? | |
| 14:06:08 | mriedem | yikun: ^ let me know if that all makes sense | |
| 14:06:11 | mriedem | jaypipes: nvm | |
| 14:07:56 | openstackgerrit | Ghanshyam Mann proposed openstack/nova master: Merge server create for security group extension https://review.openstack.org/578714 | |
| 14:09:49 | yikun | yeah, got it, :), put refactor _policies stuff in a separate patch~ | |
| 14:10:04 | yikun | mriedem, dansmith ^ | |
| 14:11:21 | efried | gmann: Having the word "merge" in your commit title, that's great psychology. | |
| 14:11:36 | efried | Like, we had a guy running for mayor in Austin whose name was Will Wynn. | |
| 14:11:56 | mriedem | but he lost right? | |
| 14:12:10 | efried | Heh. I actually don't think so. I don't keep up on politics much though. | |
| 14:12:33 | mriedem | i'll be damned, mayor from 2003 to 2009 | |
| 14:12:34 | efried | mriedem: No, apparently he served as mayor from 2003 to 2009. | |