[00:01] rebased and fixed conflicts [00:02] natefinch: is it https://jujucharms.com/docs/2.0/introducing-2 or https://jujucharms.com/docs/stable/introducing-2 [00:02] * natefinch is doing pretty well for having a sleeping toddler in his lap :) [00:02] wallyworld: evilnick said stable [00:03] ok [00:03] The works 'now and later' bit is a slight problem. We could use the URL: [00:03] https://jujucharms.com/docs/stable/introducing-2 [00:03] I can create that page in the current stable docs and redirect to /devel/ [00:03] When we release the 2.0 docs in a few days, it will be at that URL anyhow. [00:03] (that was from him) [00:14] natefinch: i have asked some questions in the PR about the tests [00:15] eg we should be using PatchExecutable I think [00:15] wallyworld: I didn't even know we had a patch executable [00:15] we do :-) [00:16] very useful [00:16] oh god it writes OS dependent scripts. Ouch [00:17] see, that's the nice thing about using the Go executable that we already have, it's already cross-platform [00:17] but the tests are very messy [00:17] wallyworld: maybe we could address these problems for beta 6? [00:17] hmmm, i reslly don't like the tests as they are [00:18] i guess we could [00:18] wallyworld: well, I think the better solution might be to simply not run juju-1 and print 1.x all the time [00:18] wallyworld: and that would clean up the production code and the tests [00:19] natefinch: but actually, why can't the os.Exec patch just write to stdout without running anything? [00:22] wallyworld: I could patch out the whole call to run anything, it's true. My way lets us get a little closer to testing everything, but it's not truly necessary. we could have a runExec(string path, args ...string) ([]byte, error) and patch that out [00:23] natefinch: yes, something like that. i am reluctant to just print 1.x if rick has asked for the real version [00:23] natefinch: bit also, PatchExecutable is used extensively in juju so why do something inconsistent here? [00:24] wallyworld: 'cause patch executable is horrible ;) But mostly, I didn't know it existed. [00:25] wallyworld: also, patch executable doesn't let us verify we're sendingf the right arguments, AFAICT [00:25] there's a PatchExedcutableEchoArgs [00:26] OMG, that whole file is awful hackery [00:27] Bug #1572350 opened: juju status shows incorrect message after switching to a controller with no model [00:27] Bug #1572353 opened: mismatch at [0].Tag.id: unequal; obtained "2"; expected "1" [00:28] wallyworld: I can use that if that's what you think is best. [00:29] natefinch: if you used PatchExcutableEchoArgs, you could easily verify that "juju version" is called right, and return the expected version to std out in only a few lines of code [00:30] it doesn't really matter if we consider PacthExdcutable good code or not, it's in our toolbox and is what juju uses and it works [00:31] wallyworld: that's fine. I'll change my code to use it. [00:31] ty :-) [00:31] PatchExecutableEchArgs i *think* will work ok [00:31] for what we need here [00:32] wallyworld: ok [00:33] Bug #1550586 changed: github.com/juju/juju/tools/lxdclient_test constant overflows int [00:33] Bug #1572355 opened: provider/maas/volumes_test.go constant overflows int on 386 [00:36] wallyworld: I'm not sure we can verify the args *and* produce output using what's there. It looks like it's one or the other [00:38] natefinch: yeah, just looked at the code, it seems so [00:39] wallyworld: I actually have to go for a while... my toddler's awake, and I have to take care of him. Maybe we can address the tests in beta 6? They're not *wrong* per se, even if they're not consistent with the rest of the code. [00:39] wallyworld: I have time later to work on them, just not sure how ASAP this should be [00:39] wallyworld: might be a couple hours [00:40] hmmm, ok, we need to get this landed asap. i was hoping for some other cleanup also but i guess that can be done in a followup [00:41] natefinch: i've hit merge [00:42] wallyworld: cool, thanks for the review and the merge. i'll be back on later, we can talk about further cleanup. [00:42] ok === natefinch is now known as natefinch-afk [00:42] Bug #1572355 changed: provider/maas/volumes_test.go constant overflows int on 386 [00:42] Bug #1550586 opened: github.com/juju/juju/tools/lxdclient_test constant overflows int [00:47] cherylj, wallyworld, thumper: I'm seeing a lot of this in failed CI runs from the last 24 hours: [00:48] ERROR juju.state.unit unit.go:720 unit ubuntu/0 cannot get assigned machine: unit "ubuntu/0" is not assigned to a machine [00:48] This is happening when jobs are just deploying the ubuntu charm [00:48] I'm seeing it in functional-ha-recovery and functional-ha-backup-restore [00:49] it's just in the test setup before it tries to enable HA and do other things [00:51] hmmm actually it might just happen when Status is called and a unit is being deployed... [00:57] Bug #1550586 changed: github.com/juju/juju/tools/lxdclient_test constant overflows int [00:57] Bug #1572355 opened: provider/maas/volumes_test.go constant overflows int on 386 [00:59] menn0: yes We see than in the restore tests that claim success, but acutally failed https://bugs.launchpad.net/juju-core/+bug/1569467 [00:59] Bug #1569467: juju restore-backup does not complete properly [01:00] * sinzui just purges 5 instances from us-east-1 left behind by today's tests [01:01] menn0: hmm... [01:02] just status related? [01:03] sinzui: a lot of the log files for the failures also appear to be truncated ... activity in the console logs goes on for much longer than what's in the machine logs [01:04] that is odd. I never seen truncated logs before [01:04] * menn0 hopes it isn't that juju that stops logging [01:04] I'll do some more digging but things look pretty unhappy right now [01:24] thumper: ping [01:24] wallyworld: hey [01:25] for you maas BlockSize types, you should use int64 [01:25] uint64 [01:25] we do that elsewhere in storage [01:25] and not that it matters now, because we have just agreed to drop i386, but it fails on i386 [01:25] due to int overflow [01:26] but to be consistent with juju/storahe/BlockDevice [01:26] would be good [01:26] so gomaasapi.BlockDevice could be updated [01:29] thumper: you ok with that? [01:30] meh [01:30] can do [01:34] thumper: it will avoid casts when copying data [01:35] wallyworld: otp right now, so distracted [01:35] sure np [01:39] sinzui, thumper, cherylj, wallyworld: ok I'm less concerned about the failures now. it looks like we've been running into quota limits [01:39] "cannot run instances: Your quota allows for 0 more running instances" [01:39] fun [01:40] menn0: yes the restore tests are always leaving unit/0 behind because the machine is not known by the restored controller [01:40] I believe sinzui just cleaned up some orphaned instances [01:40] and I did just clean us-east-1 a hour ago [01:41] sinzui, cherylj, wallyworld: because of the quota issues I still can't be sure if my peergrouper changes have helped [01:41] I'll keep an eye on the runs [01:45] Bug #1543770 changed: Juju 2.0alpha1 does not assign a proper netmask for LXC containers [02:03] wallyworld: the main reason I didn't was due to schema.ForceInt returning an int [02:03] and that is the only reason [02:03] could easily do it inside gomaasapi [02:03] ok [02:05] thumper: fwiw, iirc, all sizes in juju/storage are uint64 so it will make your life easier later [02:05] * thumper nods [02:11] wallyworld: can you please take a look at https://github.com/go-amz/amz/pull/67 when you have a moment [02:11] sure [02:11] sorry, i forgot [02:11] wallyworld: np, juju PR hasn't had a proper review yet anyway [02:13] yay go 1.6 made http.Client default transport no longer support file:// protocol [02:13] at least in windows :p [02:14] or changed the way it handles file :p [02:15] axw: lgtm, i assume we will set the new sg tags elsewhere [02:15] wallyworld: yes, in the juju branch [02:16] ta [02:17] well with the pleasure of having fixed this ill go to sleep see you all tomorrow, cheers [02:18] perrito666: ty. do you have a reference for the change in behaviour? i wonder ehy they did it just on windows [02:27] Wallyworld so what changed (just confirmed through testing) is the kind of url handled [02:28] Bug # changed: 1379396, 1456757, 1481133, 1494743, 1534610, 1534619, 1534632, 1534637, 1544853, 1550817, 1550821, 1572355 [02:28] Windows is different from linux in the necessity to have a drive letter in the path [02:28] perrito666: ok, i'll look for something in the release notes [02:28] they must have documented it if the behaviour changed [02:29] Tomorrow ill hit the code/release notes to see why \\localhost\c$ is no longer accepted and what is now the alternative [02:29] By default, if the drive letter is omitted c is used and it works [02:29] Now ill need to figure what is the new way of specifying the drive [02:30] C u all tomorrow [02:34] Bug # changed: 1469807, 1534620, 1545045, 1552021, 1559381, 1559382, 1559704 [02:43] Bug # opened: 1469807, 1534620, 1545045, 1552021, 1559381, 1559382, 1559704 [02:58] Bug # changed: 1469807, 1534620, 1545045, 1552021, 1559381, 1559382, 1559704 === natefinch-afk is now known as natefinch [03:04] Bug # changed: 1290920, 1421315, 1421621, 1436863, 1455627, 1457575, 1460683, 1488576, 1532831, 1559715, 1568069 [03:04] Bug #1458588 opened: cannot add charm to storage: io timeout [03:04] Bug #1572382 opened: Can not add credential to user-defined OpenStack provider in juju 2.0 [03:05] wallyworld: 1:1? [03:06] natefinch: sure, otp, one sec [03:06] wallyworld: np [03:34] Bug # changed: 1260187, 1490656, 1498010, 1498084, 1498175, 1502935, 1514451, 1521220, 1528975 [03:37] natefinch: next bug for your to do list maybe, bug 1567518 [03:37] Bug #1567518: Payload commands don't work [03:37] after other stuff is wrapped up [03:38] wallyworld: yeah, I'd been trying to stick to the red ones, but I'm more than happy to fix that one.. I'm sure it must be something dumb. I had looked at it briefly before, but didn't immediately see the problem. [03:38] ty, will be good to get that fixed [03:38] thumper: there's a test breakage affecting CI in a maas2 test, i will skip it for now to unblock beta5 [03:38] TestInstanceVolumesMAAS2 [03:38] wallyworld: ok [03:39] bug 1572353 [03:39] Bug #1572353: mismatch at [0].Tag.id: unequal; obtained "2"; expected "1" [03:39] ta [03:39] * thumper looks [03:40] Bug #1391066 changed: worker/uniter: FAIL: filter_test.go:449: FilterSuite.TestConfigAndAddressEventsDiscarded [03:40] Bug #1409739 changed: UniterSuite.TestActionEvent failing intermittently [03:40] Bug #1426394 changed: TestConfigEvents random failure [03:40] wallyworld: it is a dict ordering bug [03:40] thumper: samecontents may fix it [03:40] aye [03:40] * thumper looks [03:41] but i didn't want to just assume that order didn't matter [03:41] without looking a bit deeper [03:41] thumper: it is a slice isn't it? [03:41] []storage.Volume [03:41] hence ny concern about ordering [03:42] yes, but it is coming in from python [03:42] which may not have strict ordering [03:42] let me look deeper [03:42] you can skip it now [03:42] ok [03:42] I can unskip for the landing [03:45] * thumper reads the tests [03:46] wallyworld: yep [03:46] the source iterates over a map [03:46] and appends into a slice [03:46] so ordering is not defined [03:46] ah, the python source [03:46] no [03:47] the test creates a dict [03:47] no, map [03:47] * thumper tries to replicate the test failure locally [03:47] oh right ok, i didn't look too closely at the test [03:47] got it [03:51] got a fix [03:51] and tested [03:51] thumper: if you push your fix, i'll stop the landing job [03:51] wallyworld: have you seen dave's stress script [03:51] ? [03:51] wallyworld: pushing now [03:51] no, don't think so [03:52] if i have i gorgot [03:52] forgot [03:52] Bug #1391066 opened: worker/uniter: FAIL: filter_test.go:449: FilterSuite.TestConfigAndAddressEventsDiscarded [03:52] Bug #1409739 opened: UniterSuite.TestActionEvent failing intermittently [03:52] Bug #1426394 opened: TestConfigEvents random failure [03:52] http://paste.ubuntu.com/15940883/ [03:54] wallyworld: http://reviews.vapour.ws/r/4649/ [03:54] looking [03:54] i'll have to keep that script handy [03:54] wallyworld: I have it in ~/bin/ as 'stress.sh' [03:54] it compiles and links once and runs repeatedly [03:54] very handy for intermittent failures [03:55] indeed [03:55] thumper: +1, i'll cancel my job [03:55] k [03:56] I've asked the bot to merge it [03:56] it has been accepted [04:04] Bug # changed: 1391066, 1409739, 1411818, 1426394, 1432654, 1436495, 1440199, 1440205, 1440213, 1440219, 1451104, 1456726 [04:16] Bug # changed: 1456763, 1459337, 1461578, 1463047, 1463135, 1469777, 1471004, 1471030, 1471308 [04:16] Bug #1456728 opened: UniterSuite.TearDownTest fails [04:16] Bug #1457092 opened: InvalidInstanceID.NotFound [04:16] Bug #1458992 opened: Uploading tools: closed explicitly [04:24] thumper, axw or wallyworld: https://github.com/juju/juju/pull/5225 [04:24] looking [04:25] menn0: nice pickup [04:26] wallyworld: I wasn't able to repro but it because obvious when I looked right to the bottom of the race detector output and saw where one of the goroutines had been created (i.e. a different test) [04:27] ack [04:28] wallyworld, menn0: http://reviews.vapour.ws/r/4651/ [04:29] thumper: looking [04:29] * wallyworld hugs thumper [04:30] menn0: I really wanted to change schema.ForceInt to return int64 instead of int but that was out of scope for this change [04:30] I really hate that scheam.Int returns int64 [04:30] but scheam.ForceInt is just int [04:30] +100 [04:33] wallyworld: lp bug 1572353 fix committed [04:33] Bug #1572353: mismatch at [0].Tag.id: unequal; obtained "2"; expected "1" [04:33] i saw :-) [04:33] ty [04:33] np [04:35] thumper: you've only tested for numbers around +/-42 [04:36] thumper: I think you need to test for all numbers [04:36] sort that out will you :-p [04:36] heh [04:36] * menn0 jokes [04:36] thumper: ship it [04:36] for i := 0; i < math.MAX_INT; i++ { check fmt.Sprint(i)... } [04:37] thumper: what about all floating point numbers too :) [04:37] I did notice a missed code path [04:37] and all possible strings [04:37] for negative float values [04:37] * thumper will add it [04:37] thumper: what's that? [04:38] -42.5 [04:38] the conditional in the float case statement [04:38] that checks for v < 0 [04:38] ah right... a missed test not implementation [04:39] you had me looking in the implementation and that looked right [04:39] yeah, just the test [04:40] sinzui: does the merge bot do juju/schema? [04:41] thumper: easiest way to find out, look at previous commits [04:41] doesn't look like it [04:41] thumper: the bot only runs make build and make test [04:41] looks like next is back [04:46] Bug # changed: 1463399, 1463826, 1464671, 1466525, 1468357, 1468369, 1469196, 1471775, 1479889, 1479942, 1484303, 1484308, 1485013, 1490653, 1494749, 1494754, 1494765, [04:46] 1494870, 1494876, 1494887, 1494894, 1494938, 1496472, 1502127, 1502149, 1502153, 1502154, 1507637, 1507644, 1534623, 1559313, 1560061, 1560192, 1565827 [04:48] wallyworld: https://github.com/juju/gomaasapi/pull/43 [04:49] Bug # changed: 1535328, 1557264, 1559299, 1559305, 1565831, 1566450, 1566452 [05:04] Bug # opened: 1535328, 1557264, 1559299, 1559305, 1565831, 1566450, 1566452 [05:16] Bug # changed: 1384233, 1436407, 1457124, 1458992, 1461965, 1461968, 1461969, 1462409, 1462415, 1467556, 1510129, 1532232, 1535328, 1557264, 1559299, 1559305, 1565831, 1566450, 1566452 [05:22] Bug #1558803 changed: Manual deploy on ppc64el wants wrong package and agents [05:31] wallyworld: probably not till later given the meeting's on soon, but if you can take a look later it'd be much appreciated: https://github.com/juju/juju/pull/5226 [05:31] sure [05:37] Bug #1558803 opened: Manual deploy on ppc64el wants wrong package and agents [05:46] Bug #1558803 changed: Manual deploy on ppc64el wants wrong package and agents [07:32] In order to know the version for windows ,I need to look at the CurrentVersion registry value but there are some windows versions with the same SKU, like for example desktop and server, were can I look to know if I'm running a windows server editior or destktop one, other than looking on ProductName? It's there any integer or bytes number that will give me this answer? [08:32] "nonpersisting-pamala" is a slightly worrying name for a maas node [08:32] I'd quite like it to be persisting thank you very much [08:41] axw: ping? [08:46] babbageclunk: pong, in a meeting atm [08:48] axw: ok - let me know when you're free? Just want to confirm stuff before I go off half-cocked again. :) [08:48] babbageclunk: :) no worries, will do [08:59] voidspace, babbageclunk, frobware: please take a look http://reviews.vapour.ws/r/4653/ [09:01] dimitern: ah, but have you tested on MAAS 2? [09:01] voidspace: not yet, wasn't sure if it'll work, but will run a test now [09:02] dimitern: should do [09:02] dimitern: anyway, straightforward - looks good [09:02] voidspace: thanks, will let you know if it works on 2.0 shortly [09:28] babbageclunk: sorry, finished now [09:29] axw: great, thanks! [09:31] axw: I'm already putting device.Name() into the VolumeAttachmentInfo.DeviceName, I think - should I change that to the full /dev/disk/by-dname/ path? [09:31] awx: or is it better with the device name. [09:31] gah, typo'd your name [09:32] babbageclunk: is /dev/disk/by-dname *always* available? [09:32] axw: yeah, from what blake_r was saying yesterday. [09:32] babbageclunk: also, is it really "by-dname"? not by-name? [09:32] ok [09:32] * axw looks at MAAS docs and sees that it really is [09:32] axw: by-dname [09:33] babbageclunk: so, CreateDevice only lets us create a device with one interface - and AllocateContainerAddresses wants to be able to create devices with multiple interfaces on different subnets [09:33] babbageclunk: so it can't just be an "all in one call" unfortunately [09:33] babbageclunk: still not too bad [09:33] axw: do we also want to extract the hardware id from the id_path if it's a by-id one? [09:34] babbageclunk: typically speaking, a device name (e.g. /dev/sdb) is not guaranteed to be persistent [09:34] dimitern: do we really need to be able to create containers (devices) with multiple nics on different subnets? [09:34] babbageclunk: we need something unique and persistent for the lifetime of the volume's attachment to the machine [09:34] babbageclunk: i.e. it must not change if the machine is restarted [09:34] axw: ok [09:35] babbageclunk: for MAAS on KVM, the device names should not change [09:35] babbageclunk: I can't speak with any authority about by-dname, but it looks to me like it's just the same as the device name [09:35] babbageclunk: whereas "by-id" should be persistent [09:36] axw: ok - so then I should do something like what's there already (in the MAAS 1 version) - use the by-id path to get the hardware id if available [09:36] babbageclunk: that's my feeling, but if there's one thing that's always guaranteed to be available, and guaranteed to be persistent - then use that [09:37] axw: and if not set the device name on the attachment info [09:37] babbageclunk: yup. doesn't hurt to set the DeviceName field also; HardwareId will be used in preference it it's set [09:37] axw: Well, that was what I understood from blake_r [09:38] axw: (about by-dname) [09:38] babbageclunk: so if the by-dname value is always persistent, then you could just put that into DeviceLink [09:38] babbageclunk: and forget about HardwareId and DeviceName [09:39] babbageclunk: on the machine, we have a worker that inspects udev to get the device links, so we can match against the one you provide in VolumeInfo [09:39] axw: ah, ok - I hadn't clicked DeviceLink was a different field on the attachment info - my brain was autocorrecting it to DeviceName. [09:39] VolumeAttachmentInfo* [09:40] babbageclunk: yeah, DeviceName is just "sdb", whereas DeviceLink can be any of the /dev/disk/by-... links [09:40] axw: Ok - that sounds like the right thing to do - just DeviceLink on the attachment info. [09:40] axw: [09:40] Oops [09:40] babbageclunk: we needed that for GCE, because on there you're expected to use one of those paths to uniquely/persistently identify disks [09:40] sounds good [09:40] axw: awesome - thanks for helping me muddle through all this. [09:40] babbageclunk: not at all :) [09:41] babbageclunk: gotta go now, have a nice day [09:41] axw: you too! [09:42] voidspace: yeah, I guess convenience calls cost flexibility. [09:42] voidspace: could we reasonably extend the gomaasapi one to take more info? [09:43] voidspace: or does it make more sense to just do it in the provider with the lower-level bits? [10:24] babbageclunk: well, I'm trying to verify if maas supports devices with interfaces on different subnets [10:24] babbageclunk: it looks like the CreateDevice call only supports multiple interfaces on the same subnets [10:25] babbageclunk: so, assuming we *can* have multiple interfaces on different subnets, and do it as separate calls to add / link then there's not much value to it being in gomaasapi over juju [10:25] babbageclunk: we still have to maintain the code wherever it lives... [10:26] babbageclunk: I need to setup a maas that I can test this on though [10:44] voidspace: yeah, makes sense [10:47] morning [12:35] axw: reviewed, have a question about retry [12:36] Bug #1555391 changed: MachineSuite failed during unit test <2.0-count> [12:45] Bug #1544849 changed: unit-test loop with juju.worker.uniter.remotestate retry hook timer triggered <2.0-count> [12:45] Bug #1545055 changed: TestManageModelRunsUndertaker timed out <2.0-count> [12:57] Bug #1544849 opened: unit-test loop with juju.worker.uniter.remotestate retry hook timer triggered <2.0-count> [12:57] Bug #1545055 opened: TestManageModelRunsUndertaker timed out <2.0-count> [13:06] Bug # changed: 1544849, 1545055, 1567676, 1571947, 1572353 [13:09] Bug #1567676 opened: windows: networker tries to update invalid device and blocks machiner from working [13:09] Bug #1571947 opened: bootstrap --upload-tools fails with "cannot start bootstrap instance: missing tools URL" [13:09] Bug #1572353 opened: mismatch at [0].Tag.id: unequal; obtained "2"; expected "1" [13:15] Bug #1567676 changed: windows: networker tries to update invalid device and blocks machiner from working [13:15] Bug #1571947 changed: bootstrap --upload-tools fails with "cannot start bootstrap instance: missing tools URL" [13:15] Bug #1572353 changed: mismatch at [0].Tag.id: unequal; obtained "2"; expected "1" === natefinch is now known as natefinch-afk [13:43] voidspace, dimitern, frobware: reviews please? http://reviews.vapour.ws/r/4655/ [13:43] babbageclunk: looking [13:43] (That's a nice quick one) [13:44] voidspace, dimitern, frobware: Also this one (a bit more involved, but just tests): http://reviews.vapour.ws/r/4654/ [13:44] babbageclunk: no need to bump gomaasapi rev to use Path() ? [13:44] voidspace: man, journald keeps hanging/crashing on me [13:45] dimitern: no, it was already there - I didn't end up needing to add HardwareId [13:45] babbageclunk: ok, first one LGTM [13:47] dimitern: sweet, thanks! [14:03] babbageclunk: second one also LGTM [14:04] frobware, voidspace, dooferlad, babbageclunk: guys, please take a look at http://reviews.vapour.ws/r/4656/ - first step towards cleaning up a *lot* of legacy code [14:09] Bug # changed: 1460882, 1503992, 1534627, 1541482, 1551779, 1554700, 1554705, 1555694, 1557380, 1558078, 1561315, 1563932, 1563939, 1563942, 1563950, 1563956, 1564017, 1564395, 1564515, 1566332, 1566362, 1566367, 1566369, 1566431, 1567170, 1567719, 1567721, 1567722, 1567724, 1567726, 1567728, [14:09] 1567730, 1567732, 1567734, 1567925, 1568669, 1568848, 1568862, 1568925, 1569054, 1569086, 1569386, 1569490, 1569652, 1569654, 1569914, 1569948, 1570473, 1570654, 1571254, 1571476, 1571478, 1571861, 1571901 [14:09] Bug #1572585 opened: juju ssh spawns many juju and ssh processes [14:09] let it rain ! :D [14:09] bugs galore [14:10] reviews galore too [14:12] Bug #1572585 changed: juju ssh spawns many juju and ssh processes [14:12] Bug # opened: 1460882, 1503992, 1534627, 1541482, 1551779, 1554700, 1554705, 1555694, 1557380, 1558078, 1561315, 1563932, 1563939, 1563942, 1563950, 1563956, 1564017, 1564395, 1564515, 1566332, 1566362, 1566367, 1566369, 1566431, 1567170, 1567719, 1567721, 1567722, 1567724, 1567726, 1567728, [14:12] 1567730, 1567732, 1567734, 1567925, 1568669, 1568848, 1568862, 1568925, 1569054, 1569086, 1569386, 1569490, 1569652, 1569654, 1569914, 1569948, 1570473, 1570654, 1571254, 1571476, 1571478, 1571861, 1571901 [14:15] Bug # changed: 1460882, 1503992, 1534627, 1541482, 1551779, 1554700, 1554705, 1555694, 1557380, 1558078, 1561315, 1563932, 1563939, 1563942, 1563950, 1563956, 1564017, 1564395, 1564515, 1566332, 1566362, 1566367, 1566369, 1566431, 1567170, 1567719, 1567721, 1567722, 1567724, 1567726, 1567728, [14:15] 1567730, 1567732, 1567734, 1567925, 1568669, 1568848, 1568862, 1568925, 1569054, 1569086, 1569386, 1569490, 1569652, 1569654, 1569914, 1569948, 1570473, 1570654, 1571254, 1571476, 1571478, 1571861, 1571901 [14:15] Bug #1572585 opened: juju ssh spawns many juju and ssh processes [14:16] dimitern: thanks for reviews! [14:24] dimitern: looking at yours now [14:24] babbageclunk: cheers! [14:32] is there any way to destroy a model within a controller without connecting to the model's API? [14:32] (other than destroying the controller and all its models) [14:34] dimitern: wow, that PR must have been annoying to do [14:34] dimitern: working through it as wll [14:34] *well [14:34] voidspace: it was frustrating, I'm glad it's done and verified to work :) [14:35] if that's the last time I see any of that code will be too early [14:38] dimitern: there's a use of NewSubnetTag in there which can panic [14:38] voidspace: I've replied to your comment [14:39] dimitern: so it might panic in the future, but as it's unlikely at the moment it's ok? [14:40] voidspace: ok, fair enough - AIUI you suggest not to use `subnetID != ""` but names.IsValidSubnet..() instead? [14:41] dimitern: isn't there a way of creating a tag that will error instead of panic - those panic'ing New functions are annoyiing [14:41] *annoying [14:42] dimitern: don't you want to return an error if you get a non-empty-but-invalid subnet id? [14:42] dimitern: i.e. leave the empty check, but check IsValid as well [14:42] voidspace: the only way I can think of is doing the same check New..() does before it panics [14:42] dimitern: yeah, very irritating [14:43] voidspace: ok, will change to check for errors etc. [14:47] dimitern: as these are stored in state do you need a migration? [14:49] voidspace: IIRC migrations are not yet working [14:49] but thumper can know for sure [14:50] dimitern: ok, but will you remember we need one when they are - or are we just not worrying at all about upgrades? [14:50] voidspace: what should I be working on now? [14:51] babbageclunk: well, the only remaining task is: Evaluate all tests in environ_whitebox_test.go and see if any ought to be ported to MAAS 2 [14:51] babbageclunk: that should be fun... [14:51] voidspace: I'll send a mail to thumper/menn0 to clarify that; upgrades from pre-2.0 are not yet allowed AIUI [14:51] babbageclunk: with the exception of device related tests of course [14:52] voidspace: ok, I guess I'll start looking at that! [14:56] babbageclunk: that should be fun, sorry [14:56] babbageclunk: I'm nearly there on devices [15:33] dimitern: What you were suggesting should be cached on the maas environ this morning? Can't remember. [15:34] babbageclunk: the apiversion check now always done in SetConfig [15:37] dimitern: So if ecfg.maasServer() & .maasOAuth() haven't changed and env.apiVersion isn't zero then skip the version detection? [15:39] babbageclunk: let me have a look at how it is now [15:39] Bug #1564670 changed: After dist upgrade Juju 1.X should still be the default [15:39] Bug #1572634 opened: help text for juju logout needs improving [15:45] Bug #1572637 opened: help text for juju change-user-password needs improving [15:49] babbageclunk: hmm.. so what I thought is just verifying whether maasEnviron.apiVersion is empty and only then doing the version check [15:50] babbageclunk: it could be done with a guard mutex, like SupportedArchitectures() [15:51] Bug #1572637 changed: help text for juju change-user-password needs improving [15:52] dimitern: ok - will that be a problem if the maas server url changes? Is that something that even makes sense? [15:52] babbageclunk: it cannot change for an existing model [15:53] dimitern: ok [15:55] dimitern: There's already a guard mutex in SetConfig - seems like that would cover this, right? [15:55] dimitern: so really this is just an early return if env.apiVersion is already set. [15:56] dimitern: is it por [15:56] gah [15:56] frobware: I am not seeing the bridge script run at all on a precise node. Odd. [15:56] babbageclunk: that could work as well, yeah [15:57] dimitern: is it possible for someone to upgrade their maas from 1.9 to 2.0 underneath a Juju model? [15:57] dimitern: (sorry if these are crazy questions) [15:58] dooferlad: odd indeed. [15:58] babbageclunk: it's possible - one of the many ways to shoot yourself in the foot :) [15:58] frobware: looks like the file isn't added to the file system. [15:59] dooferlad: odd. :) Because I have tried this in the past as that's where I ran into the --