| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-02-12 | |||
| 21:38:51 | aspiers | Ah, that conflict was super easy to resolve. Onwards... | |
| 21:40:55 | aspiers | OK, I think I am officially declaring git-irebase as awesome | |
| 21:44:08 | efried | aspiers: what is git-irebase? | |
| 21:44:17 | aspiers | incremental rebase | |
| 21:44:24 | aspiers | one commit at a time | |
| 21:44:34 | aspiers | so you are only ever resolving conflicts against a single commit | |
| 21:45:07 | efried | ye gods, that sounds like the hard way to go, but good on ya. | |
| 21:45:16 | aspiers | no, it's really easier | |
| 21:45:28 | aspiers | this change you pointed me at is over 1000 commits behind master | |
| 21:45:38 | aspiers | it conflicts with multiple commits along the way | |
| 21:45:44 | efried | right, but only a handful of those would have conflicted. | |
| 21:46:21 | aspiers | yes, but I would have had to understand *all* of those commits at the same time to resolve the conflict via a normal single-shot rebase | |
| 21:46:38 | aspiers | with code I've never seen before, that's a nightmare | |
| 21:46:49 | aspiers | even if I'd seen it I suspect it would have been tricky | |
| 21:47:31 | aspiers | I'm now at master~510 and so far I've had to handle one major conflict (the get_traits() removal from ironic driver) and 3 minor conflicts | |
| 21:49:00 | aspiers | also it means I can run the tests after each resolve, which increases the chances of catching logic errosr | |
| 21:49:30 | aspiers | just hit another major conflict | |
| 21:49:43 | aspiers | but it's only a single commit, so now manageable :) | |
| 21:51:46 | aspiers | ah it wasn't major, just a method signature change | |
| 21:54:24 | efried | aspiers: I looked at the all-in-one rebase, and you're right, it would be pretty hairy. Thanks for tackling it. | |
| 21:54:45 | aspiers | yw! only 307 commits behind master now :) | |
| 21:55:15 | aspiers | efried: do I understand that for adding an SEV capability to the libvirt driver, capabilities has to be an instance variable rather than a class variable (like for powervm) because the SEV capability is determined dynamically per host? | |
| 21:57:21 | efried | aspiers: I'm pretty sure that's what we figured out for the PowerVM image cache capability, which is based on which disk driver is set up. edmondsw, back me up here. | |
| 21:57:38 | aspiers | yeah, I saw the image cache cap being set at runtime | |
| 21:57:50 | efried | I actually can't remember the exact reason we couldn't use the class variable. | |
| 21:58:37 | efried | or maybe we just thought it was ugly to set PowerVMDriver.capabilities['image_cache'] from the context of 'self'. | |
| 21:58:40 | aspiers | presumably it varies from host to host - does the driver get instantiated once per host? | |
| 21:59:00 | efried | At least once, yes. | |
| 21:59:26 | efried | and it's the "possibly more than once" part that might be what gets you into trouble using a class var. But that doesn't make a lot of sense. | |
| 21:59:48 | efried | Let me go find the review where that happened. | |
| 22:01:03 | efried | aspiers: Ah, it may have just been for testing purposes: https://github.com/openstack/nova-powervm/commit/cc7564549a90a59f2ef27cca14862c33b9a07c25 | |
| 22:02:52 | aspiers | ahhh ok | |
| 22:03:14 | aspiers | rebase finished!! | |
| 22:03:28 | efried | swheet! | |
| 22:03:36 | aspiers | I think there were about 8 commits conflicting in total | |
| 22:03:44 | aspiers | out of ~1000 | |
| 22:03:46 | efried | quick, upload the rebase-only so you have a checkpoint. | |
| 22:03:57 | aspiers | to the same review? | |
| 22:04:00 | efried | absolutely | |
| 22:04:05 | aspiers | OK | |
| 22:05:28 | openstackgerrit | Adam Spiers proposed openstack/nova master: WIP: Convert driver supported capabilities to compute node provider traits https://review.openstack.org/538498 | |
| 22:06:39 | aspiers | efried: there ya go | |
| 22:06:55 | aspiers | who knows, Zuul might even verify it :) | |
| 22:07:11 | cdent | wow, that's like time travel or something | |
| 22:07:42 | efried | aspiers: I'm a fan of doing rebase in one PS and updates in another. Doing an incremental review when rebase+changes are in one PS is suck. | |
| 22:07:54 | aspiers | efried: totally agree | |
| 22:07:55 | efried | especially when the rebase is massive. | |
| 22:08:09 | mriedem | dansmith: comments in the down cell api microversion change https://review.openstack.org/#/c/591657/ - at this point i think i need to pull it into a devstack environment and kick the tires because I think it's being aggressive about processing filters when 'nova list' might send some parameters by default that would otherwise be ignored | |
| 22:08:26 | dansmith | mriedem: okay | |
| 22:08:56 | aspiers | efried: unfortunately in this case diffing between PS7 and my new PS8 is also full of suck, because we're running an ancient Gerrit which can't distinguish between real changes and stuff dragged in by the rebase | |
| 22:09:05 | aspiers | newer Gerrit handles this correctly | |
| 22:09:13 | efried | aspiers: customary to use -W instead of -1 to signify wip with changes on the way. | |
| 22:09:29 | efried | aspiers: Oh, really, there's a better gerrit where that's concerned? That would be pretty amazing. | |
| 22:09:30 | aspiers | efried: I would have if I had W permissions ... | |
| 22:09:40 | efried | aspiers: duh, of course. | |
| 22:09:44 | aspiers | XD | |
| 22:09:59 | aspiers | yes, I remember seeing it demoed at the Gerrit User Summit in London | |
| 22:10:07 | aspiers | I can maybe even find the youtube for you | |
| 22:10:10 | efried | As it stands, I open two tabs, one with old and one with new, and flip-diff 'em. | |
| 22:10:21 | aspiers | yeah, that's better | |
| 22:11:36 | aspiers | efried: https://youtu.be/yWTvUyvP24M?t=963 you can even see my shiny head in the 2nd row ;-) | |
| 22:12:26 | aspiers | although unfortunately we're still on 2.13, not even 2.14 yet let alone 2.15 ... | |
| 22:18:16 | aspiers | OK, time for a very late dinner... | |
| 22:18:23 | aspiers | l8rs | |
| 22:42:25 | edmondsw | efried yep, you found it... sorry, was in a mtg | |
| 22:42:30 | edmondsw | (in a lot of those these days...) | |
| 22:52:09 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Change nova-next tempest test regex https://review.openstack.org/636459 | |
| 22:52:24 | mriedem | ^ drops a bunch of tempest API tests that we don't care about for nova changes | |
| 22:52:41 | mriedem | hopefully making that job a bit faster and less redundant | |
| 23:08:45 | openstackgerrit | Merged openstack/nova master: Fix legacy-grenade-dsvm-neutron-multinode-live-migration https://review.openstack.org/634962 | |
| 23:10:38 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: API microversion 2.69: Handles Down Cells https://review.openstack.org/579563 | |
| 23:21:21 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: API microversion 2.69: Handles Down Cells https://review.openstack.org/579563 | |
| 23:35:54 | mriedem | dansmith: what would be a simple way to effectively disable/stop the nova_cell1 db without actually stopping mysqld? failing at finding a db stop command | |
| 23:35:57 | mriedem | jaypipes: ^ | |
| 23:36:16 | mriedem | i guess i could eff up the db_connection in the cell1 mapping | |
| 23:36:26 | sean-k-mooney | mriedem: what do you mean by stop? | |
| 23:36:36 | mriedem | i want to make a specific db unavailable | |
| 23:36:40 | sean-k-mooney | as in not allow any new queries/transactins | |
| 23:36:50 | mriedem | i guess | |
| 23:36:57 | mriedem | i want to simulate that the db has crashed | |
| 23:37:00 | mriedem | w/o stopping mysqld | |
| 23:37:09 | dansmith | mriedem: hard to do on a single server and make it real | |
| 23:37:10 | mriedem | since i still need mysql for nova_cell0 and nova_api | |
| 23:37:16 | mriedem | i'll just eff up the db connection then | |
| 23:37:19 | sean-k-mooney | right because you want to allow the other dbs to work | |
| 23:37:21 | dansmith | mriedem: you could revoke privs on the db | |
| 23:37:54 | dansmith | mriedem: or try dropping the tables altogether I guess, but tbh we don't really know what the failure modes will look like I'd guess, and most of the time in reality it would be a connection timeout, | |
| 23:38:02 | dansmith | which will be hard to mimic with one mysql | |
| 23:38:26 | dansmith | one thing you could do, is change the connection string to point to some ip black hole for you | |
| 23:38:39 | dansmith | that would get you the timeout on that connection | |
| 23:38:58 | dansmith | depends on if you're trying to make it happen at runtime, or just start it up unable to reach one of the dbs | |
| 23:40:23 | sean-k-mooney | dansmith: you might be able to do it with ssh forwarding | |
| 23:40:35 | dansmith | do what/ | |
| 23:41:01 | mriedem | yeah i just changed cell1 db connection to mysql+pymysql://root:openstack1@127.0.0.2/nova_cell1?charset=utf8 | |
| 23:41:03 | mriedem | will see what happens | |
| 23:41:16 | sean-k-mooney | e.g. expose the mysql server port locally on anoter port point nova at it and then kill the ssh tunnel e.g. using ssh -L ... | |
| 23:41:21 | dansmith | mriedem: that might not be a black hole for you :) | |
| 23:41:43 | dansmith | mriedem: I would change it to some 172. or 192. or 10. address you definitely can't reach | |
| 23:42:31 | mriedem | oh yeah the connections are cached, | |
| 23:42:31 | sean-k-mooney | using ssh that way would allow nova to start up normmally and then you can kill the connect when ever you like by killing the ssh tunnel | |