| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-03-24 | |||
| 13:57:00 | bauwser | -ish | |
| 13:57:42 | bauwser | I could try to tackle that now | |
| 13:58:15 | superdan | hmm, | |
| 13:58:26 | superdan | looks like we got request_spec at init and we just overwrite it from_compontents? | |
| 13:58:29 | superdan | is that right? | |
| 13:58:39 | sdague | mriedem or others, anyone want to merge in i18n deletes. I'm trying to keep no more than 2 open at a time just to not waste time on rebasing - https://review.openstack.org/#/c/448082/ | |
| 13:59:23 | mriedem | superdan: i tried to summarize in the bug | |
| 13:59:26 | superdan | yeah, I think we should have that right there | |
| 13:59:32 | superdan | mriedem: okay I was going to, sorry | |
| 13:59:51 | bauwser | superdan: yup, I actually think we can directly use self.request_spec without needing to rehydrate | |
| 14:00:06 | bauwser | because it's useless to regeneate ity | |
| 14:00:06 | superdan | I'll try | |
| 14:00:11 | bauwser | lemme fire the drill | |
| 14:00:28 | bauwser | because some other move operations can have the same stuff | |
| 14:00:36 | bauwser | and here, it's resize | |
| 14:00:42 | bauwser | not live-mig | |
| 14:00:46 | bauwser | superdan: ^ | |
| 14:01:02 | bauwser | superdan: I'm cooking the patch | |
| 14:01:11 | superdan | we get it from the same place in both cases | |
| 14:01:12 | superdan | bauwser: about to submit | |
| 14:01:36 | bauwser | superdan: okay, so if you cook, don't forget to add the resize case | |
| 14:01:47 | superdan | eh? | |
| 14:02:00 | superdan | it's in migratetask, same for both | |
| 14:02:56 | bauwser | oh snpa | |
| 14:03:09 | bauwser | I was thinking we were loooking at the *live* migrate Task | |
| 14:03:24 | bauwser | nvm then | |
| 14:03:39 | bauwser | but I think we probably have the same for live-migration and rebuild | |
| 14:04:09 | bauwser | I'm just looking at that | |
| 14:04:10 | superdan | let me put this up to see if it breaks anything and/or appears to fix | |
| 14:05:08 | bauwser | okay | |
| 14:05:41 | bauwser | FWIW, live-migration is not having the same useless rehydratation | |
| 14:05:50 | bauwser | only if we have a not found spec | |
| 14:05:57 | bauwser | but we can remove the conditional | |
| 14:06:10 | superdan | yeah | |
| 14:06:15 | bauwser | so, I'm gonna fire a patch for that given we now have 100% of chances to have it | |
| 14:06:22 | superdan | alright | |
| 14:06:25 | openstackgerrit | Matt Riedemann proposed openstack/nova master: remove i18n log markers from nova.api.* https://review.openstack.org/448082 | |
| 14:07:22 | mriedem | yay my sump pump is running every other minute | |
| 14:07:24 | mriedem | weeee | |
| 14:07:55 | superdan | mriedem: http://imgur.com/DWMGBJW | |
| 14:08:27 | mriedem | which is which? | |
| 14:08:29 | mriedem | blue is rain? | |
| 14:08:34 | superdan | seconds on the left, inches on the right | |
| 14:08:44 | superdan | runtime seconds per hour, that is | |
| 14:09:11 | superdan | oh and green is rain | |
| 14:09:13 | bauwser | interesting | |
| 14:09:19 | bauwser | we don't build houses this way | |
| 14:09:30 | bauwser | is that for collecting rain ? | |
| 14:10:10 | bauwser | because I have a drain running all around my house but the gravity does the rest :) | |
| 14:10:25 | bauwser | anyway | |
| 14:10:37 | superdan | bauwser: if you're below grade that doesn't work :) | |
| 14:10:55 | sdague | superdan: or that there is elevation changes | |
| 14:11:11 | bauwser | superdan: ah correct then | |
| 14:11:19 | sdague | the midwest water table being 1' below the surface and everything flat is quite a thing | |
| 14:11:23 | superdan | yeah | |
| 14:12:01 | bauwser | do you collect that into pipes, or do you spill the water in your garden ? | |
| 14:12:31 | openstackgerrit | Dan Smith proposed openstack/nova master: Remove legacy regeneration of RequestSpec in MigrationTask https://review.openstack.org/449640 | |
| 14:12:36 | superdan | bauwser: mine goes into the storm drain | |
| 14:12:36 | mriedem | in my neighborhood, you wash it down the hill to the suckers at the bottom, | |
| 14:12:37 | leakypipes | bauwser: spill. :) | |
| 14:12:43 | mriedem | which unfortunately is me and another guy after me | |
| 14:12:46 | bauwser | interesting | |
| 14:13:08 | bauwser | because yet another regulation here is to defend us spillinh | |
| 14:13:16 | mriedem | supposed to be graded to drain into catch baskets that pump it into a pond further down the way | |
| 14:13:29 | bauwser | but rather collecting all the rain into pipes that are transfered to a specific collecting tank | |
| 14:13:36 | bauwser | that's a rain network | |
| 14:13:45 | superdan | bauwser: == storm drain | |
| 14:14:08 | mriedem | sometimes i hear you get a drunken frenchman drown in one of those and then he clogs up the pipes | |
| 14:14:15 | superdan | hah | |
| 14:14:28 | mriedem | stories to scare your kids, | |
| 14:14:33 | mriedem | like ringing doorbells | |
| 14:14:51 | bauwser | hah | |
| 14:17:40 | bauwser | superdan: what will be the name of your branch for cleaning up the migration task ? I'd ideally put it on the same gerrit topic | |
| 14:17:53 | superdan | bauwser: the bug? see above ^ | |
| 14:18:08 | bauwser | superdan: cool | |
| 14:22:21 | mdbooth | mriedem: Thanks for sorting out the connect/disconnect thing | |
| 14:22:32 | mdbooth | ABCs don't do what we want though, unfortunately | |
| 14:22:52 | mdbooth | All an ABC does is ensure that subclasses implement abstract methods | |
| 14:23:02 | mdbooth | It doesn't actually do any checking of the signatures of those methods | |
| 14:23:09 | mdbooth | So... not all that useful tbh | |
| 14:23:14 | mriedem | mdbooth: why not? if you change the signature on an abstractmethod, and fail to adjust any classes that inherit from the ABC, they will blow up | |
| 14:23:31 | mriedem | mdbooth: i'm saying make the actual connect/disconnect_volume methods abstractmethods | |
| 14:23:38 | mdbooth | Case in point: RemoteFilesystemDriver is an ABC, and none of its subclasses have the correct signature for copy_file | |
| 14:24:00 | mdbooth | mriedem: Yeah, that's fine. But that will only assert that subclasses implement them | |
| 14:24:06 | mdbooth | There's no signature checking | |
| 14:24:12 | mdbooth | So it wouldn't catch this error | |
| 14:24:57 | mdbooth | Anyway, I agree that a test for this would be good, and probably useful in a few different places | |
| 14:25:15 | mdbooth | My first thought was to look for an existing tool, and I gave pylint a go | |
| 14:25:35 | mdbooth | However, pylint would be wildly impractical unfortunately. | |
| 14:25:51 | mdbooth | Getting a clean pylint job would be more work than getting python3 working, I think. | |
| 14:26:31 | mdbooth | So, I was considering writing some kind of introspection test for superclasses with abstract interfaces | |
| 14:26:38 | mdbooth | So you'd do something like: | |
| 14:27:13 | mdbooth | FSTest = SubclassCheckTest(SuperClassToTest) | |
| 14:27:22 | mdbooth | And it would generate you a test class | |
| 14:27:28 | mriedem | can't you scope pylint? | |
| 14:27:31 | mriedem | or whitelist? | |
| 14:27:40 | mdbooth | It all over the place | |
| 14:28:12 | mdbooth | I disabled almost everything, and I still had 95% false positives | |
| 14:30:41 | mdbooth | It did find RemoteFilesystemDriver.copy_file for me | |
| 14:31:00 | mdbooth | Although in this case, somebody has clearly updated all the implementations and forgotten to update the superclass | |