[00:07] davechen1y: PTAL http://reviews.vapour.ws/r/1163/ and http://reviews.vapour.ws/r/1164/ [00:10] * perrito666 hears a kid receiving express education on the house next door [00:12] sitting in my office during the night makes for the most interesting show [00:12] perrito666: is that Argentenian for FastMath (tm) ? [00:16] s/FastMath/FasttMath/ [00:21] jw4: I dont know what FastMat ™ is, but I was referring at hand against kids bottom [00:21] perrito666: :-p [00:22] I figured as much - I was trying too hard to be funny [00:22] and of course kids screaming reply [00:24] perrito666: did http://reviews.vapour.ws/r/1172/ look okay now? [00:26] ericsnow_: yup, you need a senior rubber stamp though [00:28] perrito666: thanks [00:40] thumper, waigani, davechen1y, wallyworld : refactoring of api.Open: http://reviews.vapour.ws/r/1179/ [00:40] * thumper looks [00:44] menn0: done [00:44] thumper: thanks [01:01] thumper: hey, you owe me an emails answer :) could I collect on that? [01:02] perrito666: um... sure [01:02] thumper: the one about the mongo admin user [01:02] yeah, I know the one [01:03] just busy right ow [01:03] will get to it shortly [01:03] thumper: well you have a lot of time, I am going to sleep [01:18] can anyone else get to the ppc vm's ? [01:20] sinzu, can you get to your ppc vm's anymore ? [01:20] looks like batuan has lost all our keys [01:22] axw_: reviewed, just a few questions [01:23] wallyworld: cheers [01:38] wallyworld: PTAL [01:38] looking [01:40] axw_: lgtm [01:40] thanks [01:59] Hi, I have a noob question about hooks [02:00] somebody can give me a hand? [02:00] redelmann: what's your question - we'll try :) [02:01] want to prevent django migration when new unit is add [02:01] jw4, want to prevent django migration when new unit is add [02:02] jw4, can i set a variable inside the charms? [02:02] redelmann: hmm; that's fairly specific to the charm you're using I think [02:02] jw4, im making a custom charm [02:02] ah, I see [02:03] jw4, can i change a charm config variable from inside the charm? [02:03] redelmann: yes you should be able to - I'll need to dig a bit to see exactly how [02:03] jw4, something like migrate: true? [02:04] jw4, charmhelper does not have something to do that? [02:05] redelmann: it's outside my experience, but I can see if I can find more info in the source [02:05] jw4, could use a file, but it is not the most elegant solution [02:07] jw4, ok dont worry. i was asking because i thought there were a direct solution [02:08] redelmann: okay - someone else on this channel or on #juju may know off the top of their head [02:09] Bug #1373236 changed: apiserver/backups: backups must be migrated off legacy provider storage [02:09] jw4, with direct solution i meant implemened solution in juju [02:10] jw4, thank [02:10] :) [02:13] redelmann: '$ juju help set' if you haven't tried that yet [02:15] axw_: RE persistent attribute, we could use the provider ValidateConfig() to reject attempts to set persistent for providers which don't support it? [02:15] jw4, but i cant run "juju set" inside charm hooks. or i can? [02:15] redelmann: that's what I don't know [02:16] jw4, i will try tomorrow at work [02:17] kk [02:20] jw4, i'm seeing postgresql charm, i think they use some "state file". Maybe that's the elegant solution [02:20] jw4, thank you. [02:22] cool [02:22] good luck redelmann [03:07] axw_: i've updated the pr to add extra provider validation [03:11] gah... [03:11] trying to work out why my test wasn't working [03:11] hadn't set the feature flag [03:12] ... [03:12] yay? [03:21] thumper: at least you know they work [03:21] yeah :) [03:41] thumper: it is not my day. due to other branches landing db-log now has merge conflicts again. [03:41] :( [03:41] thumper: prepare for another PR for you to merge [03:41] * thumper braces himself [03:59] * thumper is still braced [04:02] thumper, menn0 is helping you with your gym routine ;) [04:02] alexisb: heh... kinda [04:09] ha :) [04:09] thumper: https://github.com/juju/juju/pull/1857 [04:10] menn0: merged [04:10] menn0: I don't see much point actaully looking at the diff [04:11] it isn't like I'd be able to spot anything :) [04:11] thumper: there was a conflict due to waigani's most recent change [04:12] * thumper nods wisely [04:13] thumper: I guess this is one downside of big feature branches. you end up with a much larger "conflict surface" :) [04:13] true [04:14] thumper: not a showstopper (they're still worth it) but something to be aware of [04:35] * thumper sighs [04:35] my magic branch to stop serving the initial environment at the root of the api now breaks a shed ton of tests [04:36] because guess where all the tests connect to... [04:42] :( [04:48] thumper: woot! db-log branch merged [04:49] \o/ [04:50] thumper: and I have a fix for the intermittent upgrade test failure [04:50] double \o/ [04:50] \o/\o/ [04:51] a ':' bites me again [04:52] ok, down to four test failures, and I'm sure at least one of them is about logging [04:53] FARK!!! [04:53] shitty shitty shitt tests [04:53] * thumper stabs it through the heart [04:53] I'll work out how to write it properly tomorrow [04:54] thumper: new logging stuff, or old? [04:54] well, I'm working around the 'response redacted' bti [04:54] implementing it (I think) a little better [04:55] but also, we have tests that assert that we call version 1 of Login [04:55] now I have version 2 [04:55] I want to rewrite the test [04:55] not just change 1 to 2 [04:55] the test is broken [04:55] and testing the wrong behaviour [04:55] it obviously don't care that I'm logging in with v1 or v2 [04:55] it actually cares about ipv4 vs ipv6 [04:55] so it should be testing that [04:56] not the version of the login [04:56] bah humbug [04:56] totally. understood. [04:56] ok, I'm done [04:56] laters peeps [04:59] wallyworld: just got back. will take a look now [04:59] sure, had to rebase as well [05:01] wallyworld: if you have a moment: http://reviews.vapour.ws/r/1184/ [05:01] sure [05:02] wallyworld: thanks [05:04] wallyworld: still feels a little fragile, as it's opt-out rather than opt-in, so default behaviour would be to "support" the persistent attribute but ignore it. we can iterate on it, what you did with the scope checking is a good step [05:04] wallyworld: shipit [05:05] axw_: yeah, we need to improve validation a bit, plus add schema support etc [05:07] wallyworld: i'm done for the day. if you're happy with that PR would you mind attempting a $$merge$$ on it? [05:07] menn0: looks good, did you change the api call for any reason? [05:07] menn0: just did a +1 [05:07] i can merge [05:07] wallyworld: cool thanks... i'll do the merge [05:07] ok [05:08] wallyworld: i changed the API because it seemed silly to trigger a possible environment destruction when we still need the env for the test [05:08] fair point [05:08] wallyworld: so I chose a non-destructive yet restricted API call [05:08] +1 [05:08] wallyworld: cheers === anthonyf is now known as Guest1386 [06:40] wallyworld: FYI, https://github.com/axw/juju/tree/worker-mounter [06:40] need to do some more testing before I propose it [06:41] it appears that "storage list" is broken, looking into it atm [06:45] ok [08:06] wallyworld: still around? http://reviews.vapour.ws/r/1185/ [08:29] morning all [08:50] grrr... someone else landed an upgrade step [08:50] now I have conflicts to resolve [08:50] *really easy* conflicts, but still... [09:19] dimitern: "addresser"? [09:20] dimitern: or networker/addresses ? [09:21] voidspace, you mean the name of the worker? [09:21] dimitern: yep [09:21] voidspace, addresser I think - not in networker though - top level [09:22] dimitern: yep, cool - thanks [09:51] Hi folks, greetings from the CeBIT [09:52] TheMue, hey! how's it going there? [09:58] First informational talks for me, so far few interested people [09:58] But this area optically more looks like for recreation instead of a real booth [09:58] dimitern: just you and me for standup I think :-) [09:58] Not well designed [09:58] TheMue, it will pick up as it goes [09:59] voidspace, omw [09:59] I hope so [10:07] Anyone seen a message like this before? I'm getting this when destroying a local environment: ERROR while stopping mongod: exec ["stop" "--system" "juju-db-nate-local"]: exit status 1 (stop: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist) [10:19] natefinch, I've seen this [10:20] natefinch, is this on vivid? [10:20] dimitern: utopic [10:21] natefinch, inside a container? [10:23] natefinch, perhaps this is relevant - http://ubuntuforums.org/showthread.php?t=1594566 [10:24] I have seen this error recently, but can't quite recall the circumstances - what I remember is that it has nothing to do with dbus missing or otherwise [10:26] it's just the local provider on my laptop. Laptop is utopic. *shrug* [10:26] connman is not installed, so that link is evidently not applicable [10:38] natefinch: my laptop arrives today, it will have windows on it [10:38] natefinch: is installing ubuntu straightforward? [10:39] voidspace: IIRC it's just a matter of making an ubuntu USB stick and booting with it in [10:39] voidspace: I don't remember having to twiddle with the bios or anything [10:39] natefinch: cool, that's what I'm hoping :-) [10:49] morning everyone [10:49] perrito666: morning [10:49] natefinch: fell off the bed? [11:01] perrito666: nah, I been getting up at 5am for a couple weeks now, trying to get this HA stuff done.. my day is pretty broken up with kids stuff, though, so I'm usually AFK from 7-9:30 [11:04] dimitern: do you think "juju add-machine lxc:0" should be sufficient to allocate an IP address? [11:04] dimitern: 1.22, maas [11:05] voidspace, in 1.22 it won't allocate anything [11:06] dimitern: gah, dammit [11:06] voidspace, you need 1.23 - then it will work [11:06] dimitern: I should have done 1.23 [11:06] yep [11:06] :) [11:06] heh, ah well - at least I've got maas working [11:06] dimitern: took a bit of effort - it has a dependency on python-apt that isn't automatically installed [11:06] so everything was broken until I worked it out [11:07] voidspace, which one? maas? [11:08] Anyone have an idea of why this worker, when started in MachineAgent.Run() would cause juju to simply not run? https://github.com/natefinch/juju/blob/ha-to/cmd/jujud/agent/converter.go [11:08] dimitern: yep, maas [11:10] dammit, screwed up my git checkout and now have juju 1.22 local branch named juju-1.23.0 [11:10] voidspace, weird.. I haven't seen this with maas before [11:10] I guessed the tag wrong - should have remembered it wasn't released yet [11:10] dimitern: maybe you had python-apt already installed? [11:11] voidspace, ah :/ [11:11] it's quite common [11:11] I just have a kvm image *just* for the maas controller - so only maas dependencies installed [11:11] voidspace, I've installed what maas packages from the ppa brought over I guess [11:11] natefinch: without any ouput? [11:11] dimitern: me too [11:13] axw_: was at soccer, will look soon [11:19] that was weird [11:19] wwitzel3: ? [11:19] my bnc acted up, can't tell if what I typed was actually sending [11:19] did you guys see my comments about using the termination work as a reference piece? [11:20] nope [11:20] I havent seen any comment from you [11:20] natefinch: I ran into the same issue [11:20] natefinch: I am currently making a barebones working using the termination worker as a reference [11:21] natefinch: then I was going to make it watch the jobs collection [11:21] natefinch: and just get that starting without hanging [11:21] perrito666: yeah, no output, no logs at all [11:22] natefinch: I'll let you know if that works in a second [11:22] perrito666: like, /var/log/juju/ is empty [11:22] wwitzel3: cool [11:22] I gotta go afk for a couple hours. Kids are up. [11:22] dimitern: how long should it take for a new container to switch from "instance-id: pending" ? [11:24] voidspace, if it's the first one, a few minutes until it downloads the image [11:24] dimitern: ah [11:24] dimitern: ok [11:24] wallyworld: if you are still around I have answered you on the review and would appreciate an answer to that [11:24] perrito666: ok, looking [11:24] voidspace, you could ssh into the host, sudo su -, then look in /var/lib/juju/containers/*/*.log and /var/lib/lxc/* [11:26] dimitern: it's started :-) [11:26] dimitern: and has a dns-name [11:28] voidspace, it's a great feeling when it works, isn't it? :) [11:28] dimitern: only if you know why [11:28] perrito666: hmmmm, i think we might want to retain the Stopped state [11:29] for that legacy agent-state [11:29] dimitern: upgrade worked fine [11:29] dimitern: and I appear to be able to deploy into the container [11:29] dimitern: so the upgrade didn't break the container [11:29] perrito666, :) [11:29] wallyworld: works for me [11:30] voidspace, so what was your scenario pre-upgrade? [11:30] perrito666: let's do it and we'll validate the decision [11:30] dimitern: I just added the container [11:30] dimitern: bootstrap then add container, wait for that to complete, upgrade [11:31] dimitern: I have to go! [11:31] dimitern: see you in a bit [11:31] voidspace, ok, that's great - need to check with a destroyed container as well [11:32] wallyworld: I believe Ill go with Unknown->Error and Terminated->Terminated [11:32] voidspace, ping me when you're back [11:33] perrito666: i don't think Unknown->Error is quite right. we know if start hook has run [11:33] so unknown maps to pending or started [11:33] also, Terminated should ->Stopped [11:33] to keep using the legacy terminology [11:52] wallyworld: I'm thinking of simplifying storage provisioning a bit. I'm thinking of extending the storage.Provider interface to indicate whether or not it supports dynamic provisioning. If it does, provisioning will be done by the storage provisioner, and if it doesn't it'll be done by the machine provisioner [11:52] wallyworld: so then there'll be exactly one thing responsible for provisioning a volume [11:53] wallyworld: atm there's a race between storage provisioner and machine provisioner, and it's manifesting in the storage provisioner in my testing [11:53] axw_: that aspect was starting to occupy my thoughts also [11:53] not from anything concrete [11:53] but just to eliminate unnecessary complexity [11:54] wallyworld: the other thing I was thinking was removing Attachment from VolumeParams and FilesystemParams [11:54] that i hadn't been thinking about [11:54] wallyworld: so they're always created separately, rather than "maybe with the volume, maybe later on" [11:55] ok [11:55] wallyworld: we'd still do both at the same time in the machine provisioner [11:55] so there'd be a different type for that [11:55] ok, let's see how it plays out [11:56] I'll spike on it tonight/tomorrow, I think I can get something in that makes the storage provisioner more reliable [11:57] \o/ [11:59] axw_: i also ran into that attached vs pending bug [11:59] in this http://reviews.vapour.ws/r/1186/ [12:00] added a todo [12:00] could you look when you get a chance, no hurry [12:01] wallyworld: will do [12:01] ta [12:32] fwereade, got a moment - irc is fine [12:32] mattyw, sure [12:42] perrito666: thanks for the review - I think those issues can be dropped... thoughts? [12:43] jw4: if you can say why :p I can certainly agree (but i was meaning to add them as comments not issues) [12:43] wallyworld: reviewed [12:43] ty [12:44] perrito666: sure - see if my responses make sense and if not we can keep them as issues [12:45] jw4: ill answer in rb so its easier to follow up [12:46] perrito666: cool, tx! [13:08] thanks perrito666 I'll update the PR with your feedback :) [13:08] jw4: the ones where I said nothing i am fine with dropping [13:08] perrito666: cool [13:11] natefinch: well I got past juju just out right hanging, now I at least am getting "unknow object type Converter" [13:11] natefinch: with an error of not implemented .. but it doesn't tell me what is not implemented [13:12] natefinch: but getting closer :) [13:13] THere is a way to tell logging not to redact responses right? [13:21] wwitzel3: dunno about redacting responses [13:22] natefinch: ok, well I'm trying to figure out what is "not implemented" === kadams54 is now known as kadams54-away [13:23] natefinch: right now I've got it starting from the machine agent with StartWorker but it is just in a restart loop with that error [13:23] natefinch: but again, that is better than hanging completely [13:23] natefinch: I can push what I have if you want to look [13:23] wwitzel3: sure [13:24] fwereade: got any time to give us a hand? We're trying to wire up a watcher, and it's causing the whole of jujud to blow up for some reason. [13:25] natefinch: ok, pushed [13:26] natefinch: well it isn't blowing up anymore, not it is just in an isolated restart loop :) [13:26] improvement! [13:27] wwitzel3: repeated smaller explosions better than one big one? I guess so :) [13:30] perrito666, you available for cloudbase call? [13:31] natefinch, go on [13:31] natefinch, fist guess is that it's returning an error that is somehow triggering the isFatal check in its runner or something? [13:32] fwereade: could be, I'm just surprised that it would kill jujud before it could even write a log file [13:32] fwereade: https://github.com/natefinch/juju/blob/ha-to/cmd/jujud/agent/converter.go [13:33] natefinch, that ErrTerminateAgent looks to me like the problem [13:33] fwereade: this is a worker for machine agent for when we convert a normal server to a state server [13:34] natefinch, ErrTerminateAgent means "ok clean yourself up and never run again" [13:34] natefinch, returning just-some-error will exit nonzero and put ourselves in the hands of the init system, which should then bounce us === kadams54-away is now known as kadams54 [13:35] natefinch, so (assuming you do want to restart jujud, which seems sane) create some error that triggers isFatal, but don't use ErrTerminateAgent [13:35] ahh ok [13:36] oh well that's my fault [13:36] reading the code it sure does look like ErrTerminateAgent is handled like the other IsFatal errors [13:37] right along side the upgrade error [13:37] wwitzel3, and it is, at the runner level -- but cmd/jujud/agent/machine.go:360 [13:38] case worker.ErrTerminateAgent: [13:38] err = a.uninstallAgent(agentConfig) [13:38] ahh [13:38] yeah, we don't want that [13:38] natefinch, wwitzel3: and FWIW it's my fault for not fixing ErrTerminateAgent when it became clear it was a problem waiting to happen [13:40] natefinch, wwitzel3: it's a Very Bad Thing that we return it from the Uniter, for example [13:40] natefinch, wwitzel3: it's not the uniter's job to decide whether the whole process should die [13:40] natefinch, wwitzel3: it's the uniter's job to inform whatever started it that the unit doesn't need/want to exist any more [13:41] natefinch, wwitzel3: and that code can then itself make a sober judgement as to whether uninstalling itself is really justified [13:41] natefinch, wwitzel3: and, if so, itself return ErrTerminateAgent to the top level directly [13:41] natefinch, wwitzel3: sane? [13:43] fwereade: I'm working on a bit of a different problem than natefinch .. I'm refactoring the worker to it properly uses api facade instead of calling state directly as in the proof of concept. [13:44] fwereade: but I'm running in to a restart loop with the new converter work, getting back not implemented, but all the params and responses are redacted, so it is a bit hard to tell what's happening [13:45] fwereade: peppering logging bits throughout now :) [13:50] wwitzel3, ha [13:50] wwitzel3, that's a good thing in general [13:52] fwereade: yeah, well we wanted to get a proof of concept working first, make sure we were on the right path [13:52] wwitzel3, yeah, indeed [13:52] wwitzel3, I don't have any immediate insight there, though, I'm afraid [13:53] fwereade: think I found the problem [13:53] fwereade: it helps if you declare the facadeVersion in api/facadeversions.go when using a facade [13:53] :P [13:54] wwitzel3, haha [13:54] I could of sworn I did that === kadams54 is now known as kadams54-away [13:55] Bug #1420049 changed: ppc64el - jujud: Syntax error: word unexpected (expecting ")") [13:55] Bug #1428692 changed: cannot boostrap vivid: Operation failed: No such file or directory [14:09] natefinch: ? [14:10] by the way, can I trouble someone for another review of http://reviews.vapour.ws/r/1165/ please? [14:11] ideally someone who's worked in the uniter, but if not I can answer questions [14:12] wwitzel3, perhaps :) ^^ [14:14] fwereade, I'll have a look [14:14] dimitern, tyvm [14:15] * dimitern learned a new word today - "impending" :) [14:17] dimitern, that word goes very well with "doom" :) [14:17] haha [14:17] fwereade, I bet it does :D [14:22] fwereade, in the comment starting at line 56 in modes.go, you mention we shouldn't try to accept leadership if we already did, but the code below doesn't seem to check for that [14:23] dimitern, canAcceptLeader := !opState.Leader [14:23] dimitern, the ordering of the statements in the comment is misleading though [14:23] fwereade, also the check for Kind != Continue looks like we won't try if we're in any hook currently, not just pending hook [14:24] dimitern, hence "eg (= for example) pending hook" not "ie (= that is specifically) pending hook" [14:24] fwereade, right, I'll leave a comment to rephrase the comment a bit to match the impending code below it :) [14:24] dimitern, haha, thanks [14:24] fwereade, ok, fair enough [14:25] dimitern, I should rephrase that too though [14:25] dimitern, "if we're busy doing anything else at all, don't try to accept leadership" [14:25] fwereade, yeah, that'll be much better, cheers [14:38] Bug #1433116 was opened: 386 compilation error: dblogpruner/worker.go:32: constant 4294967296 overflows int [14:39] dimitern, natefinch We need someone to fix this critical ^. CI aborted testing because it cannot build all the packages. I am going to remove 386 from building to allow other tests to run [14:41] sinzui, natefinch, I'll have a look, but unfortunately won't be able to help much about it today [14:47] sinzui: can you remind me how to run the tests using the gccgo compiler again? [14:48] jw4, add -compile gccgo [14:48] dimitern: ta [14:48] jw4, sorry, -compiler gccgo [14:48] kk [14:50] Bug #1433116 changed: 386 compilation error: dblogpruner/worker.go:32: constant 4294967296 overflows int [14:53] fwiw, go 1.4 seems incompatible with gccgo === urulama is now known as urulama|afk [14:56] jw4: yeah, I ran into that.... brought it up as a problem on golang-dev, and they weren't really interested in fixing it [14:56] natefinch: lol, yeah, just noticed you were the reporter :) [14:56] jw4: heh [14:58] jw4: you can install go 1.2 side by side with 1.4 and use 1.2 as needed with gccgo... it's a little annoying, but not the end of the world [14:58] natefinch: yeah - I just switched to my laptop with 1.2.1 installed [14:59] perrito666, natefinch, trivial review http://reviews.vapour.ws/r/1187/ - please take a look [15:02] Bug #1433116 was opened: 386 compilation error: dblogpruner/worker.go:32: constant 4294967296 overflows int [15:02] dimitern: ship it! [15:02] natefinch, cheers! [15:02] also: good god gomaasAPI is a horrible cluster of a go package [15:03] it really is [15:03] it's written like a c library [15:10] it's written like they just translated the REST API directly into Go calls, so you have to understand the REST API in order to use the package, rather than making the package abstract away the REST API. [15:19] natefinch, another review - hopefully fixing bug 1433116 - http://reviews.vapour.ws/r/1188/ [15:19] Bug #1433116: 386 compilation error: dblogpruner/worker.go:32: constant 4294967296 overflows int [15:21] dimitern: add a comment there, looks like one of those things one would remove upon first sight thinking is a noob error [15:22] perrito666, good point, will do [15:24] perrito666, updated [15:29] perrito666, and I have another one for you - http://reviews.vapour.ws/r/1189/ :) - last one for today I promise [15:30] dimitern: looking [15:31] perrito666, thanks! [15:35] dimitern: btw, int in i386 is int32? === kadams54 is now known as kadams54-away [15:37] somehow now I am not sure that your fix fixes the fix as you intend it to be fixed [15:37] perrito666, it is [15:38] perrito666, you mean because it will be negative perhaps? [15:38] dimitern: https://play.golang.org/p/2LEwN2pZ9X [15:39] dimitern: it blows [15:39] at least there [15:39] i wold expect the value to become math.MaxInt32 [15:40] actually I dont see a good reason for that value not being uint32 all the way (or in any case, explicit int size) [15:41] dimitern, perrito666 : is there a reason it needs to be typed? [15:41] perrito666, good point - we could constrain it to math.MaxInt32 for i386 or use the 4GB default otherwise === kadams54-away is now known as kadams54 [15:42] +1 for using a math.Maxsomething [15:42] natefinch, not that I can think of [15:42] natefinch: yes, I believe its a good practice when the code is going to run in different int size archs to be explicit [15:42] or you are just moving the overflow to the next guy [15:43] perrito666, natefinch, ok, I'll tweak it a bit by initializing the default depending on the arch [15:43] perrito666: constants never overflow, though [15:43] there is explicit information in the type "this number needs a box this big to fit" [15:44] natefinch: so says the doc [15:45] natefinch: you cannot guarantee the use of that constant is going to be given [15:45] * perrito666 loves typing things [15:46] dimitern: back [15:46] dimitern: took longer than expected, sorry [15:46] dimitern: I'll have to work tonight [15:46] my new laptop arrived [15:46] have to set that up later :-) [15:46] voidspace: congrats, what did you get? [15:48] perrito666: Dell XPS 15 [15:48] perrito666: it's basically as powerful as my desktop [15:48] nice [15:48] quad-core i7, 16gb ram [15:48] voidspace, hey, no problem [15:49] voidspace, I've discovered a nasty bug in our address allocation for maas - see http://reviews.vapour.ws/r/1189/ [15:49] dimitern: ah, ok [15:49] voidspace, can you approve that btw? [15:49] dimitern: was it our bug then, and not theres? [15:49] dimitern: will look [15:49] dimitern: hah, ouch [15:49] voidspace, yeah, it was - but not because their API docs where clear enough to follow :) [15:50] dimitern: LGTM [15:50] voidspace, thanks, setting to land === kadams54 is now known as kadams54-away [15:52] dimitern: ah, requested_address is actually the param name for claimstickyaddress op [15:52] voidspace, and for ipaddresses op=reserve as well apparently [15:52] dimitern: ah, I see [15:52] it's that way round [15:52] dimitern: ip is for release [15:53] OCR PTAL http://reviews.vapour.ws/r/1181 (got a round of reviews from perrito666 already, just need graduated reviewer approval) [15:53] jw4, will look shortly [15:53] voidspace, yeah :) [15:53] tx dimitern [15:56] perrito666, natefinch, voidspace - this should be a better fix for bug 1433116 I guess - http://reviews.vapour.ws/r/1188/ [15:56] Bug #1433116: 386 compilation error: dblogpruner/worker.go:32: constant 4294967296 overflows int [16:00] natefinch, perrito666, voidspace, no sorry, that's not good enough still - updated http://reviews.vapour.ws/r/1188/ again [16:02] dimitern: I wonder how much we care about the one extra byte on amd64 :/ [16:02] Bug #1433161 was opened: feature request: support virtual services [16:02] natefinch, you mean 2 bytes I guess? [16:03] if not actually four [16:03] natefinch, re int vs int32? [16:07] dimitern: nevermind, I was thinking MaxUint32... actually it's a factor of 2 [16:08] natefinch, ah, well 4GB limit for logs seems too much to me even on x86_64 [16:08] #1433116 [16:08] Bug #1433116: 386 compilation error: dblogpruner/worker.go:32: constant 4294967296 overflows int [16:09] dimitern: LGTM [16:10] voidspace, thanks! [16:10] dimitern: is there a reason we couldn't change whatever is using int to int64? I mean... seems like what we intend, anyway [16:11] natefinch, that's not for me to say - I intend to fix the build failure on i386, not to change the assumptions [16:11] dimitern: the assumption is that we wqanted 4GB [16:11] dimitern: the architecture problem just shows why using "int" was a bad idea [16:12] dimitern: having the log half as big because you're on a different architecture does not seem like a design decision anyone would intentionally make [16:12] natefinch: we are punishing users for actually still use i386 [16:12] perrito666: heh [16:12] perrito666: yep, that sounds reasonable [16:13] dimitern: seriously, though. The fix to just change LogPruneParams to int64 seems way more simple and obvious [16:13] dimitern: you wanted me to repeat the upgrade test with a destroyed container [16:13] dimitern: and then see if the IPAddress is marked as Dead? [16:14] voidspace: off course it is, no savvy user should use archs older than the ony my mom uses, and she has x86_64 [16:14] natefinch, ok, can I ask you to comment on the proposal then and I won't land it as is, will leave it for thumper or menn0 to decide [16:14] voidspace, yes please [16:15] dimitern: I'll have to use direct mongo access to see I guess... [16:15] dimitern: unless you have a better idea [16:15] voidspace, not really [16:15] voidspace, you could just add more logging :) [16:15] dimitern: hah, well if we're going to trust *code* to tell us [16:15] dimitern: we could just trust the test [16:16] dimitern: but that's not a bad idea [16:16] voidspace, I forgot to mention that earlier actually - it's good to have logs during upgrade steps lest it goes wrong [16:16] dimitern: I'll create a new branch and add logging [16:16] natefinch, thanks! [16:16] voidspace, sounds good [16:16] dimitern: welcome, sorry to be a pain in the butt :) [16:22] natefinch, not at all - I prefer a better solution than a quick and dirty fix :) [16:25] jw4, reviewed [16:25] dimitern: gratzie [16:26] ok ill be OoO for a moment, be back later [16:30] dimitern: I think the first two issues can be dropped? I'll work on the third. [16:30] dimitern: and yes, I'm also waiting for a sanity check from fwereade [16:31] jw4, let me have another look [16:31] dimitern: ta [16:31] jw4, yeah, sounds good re the first two issues [16:31] dimitern: cool [16:32] jw4, sorry, so do you intend to keep the second assert there? [16:33] dimitern: it seems reasonable to me - it's asserting a subtly different thing than the first assert [16:33] jw4, if you need to verify the cause as well and there's a specific error you can check for, better use jc.Satisfies [16:33] dimitern: oh, interesting [16:33] dimitern: since I only touched this because wording changed elsewhere, I'm not keen to change the tests too much. [16:34] dimitern: but I'm willing if you feel strongly about it [16:34] jw4, not that strong :) [16:34] dimitern: k [16:35] voidspace, I guess you're afk now [16:37] dimitern: no, here [16:37] voidspace, ah, ok :) [16:48] ocr could you please take a look at https://github.com/juju/charm/pull/94 when you have time? thanks! [17:32] hmmm... so the bad news is that maas seems to have crapped out pretty badly and looks like I need to reinstall [17:32] the good news is that I've started the ubuntu install on the xps 15... [17:32] hah, although looks like I need a mouse as the trackpad isn't working [17:33] or maybe I can proceed without it [17:34] voidspace, any idea if dimitern has gone for good? [17:34] (for good meaning - today) [17:34] screen is lovely [17:34] mattyw: yes, gone for the day [17:35] voidspace, ok thanks - screen as in < tmux? [17:35] perrito666, you available to do a review for me? [17:35] mattyw: sure [17:35] mattyw: shoot [17:35] perrito666, http://reviews.vapour.ws/r/1005/ [17:35] perrito666, thanks very much [17:36] perrito666, it has an LGTM but I made some largeish changes since [17:36] mattyw: it has a ship it [17:36] ah ok [17:37] * perrito666 wonders how mattyw did large changes in such a short patch [17:37] perrito666, I try to keep my patches short and focused [17:37] perrito666, it was largish in that it was > 60% of the patch changed [17:37] so to make a change large you add a lot and then remove it? :p [17:38] mattyw: screen as in - the physical screen on my new laptop (Dell XPS 15 - currently installing ubuntu on it) [17:38] voidspace, oh right, I saw you twittering about that I think [17:38] voidspace, be interested to see how you get on, I like dells - and I think I'm due a new one at the end of the year [17:40] voidspace, mattyw: natefinch and I have that same laptop, I believe [17:41] voidspace, mattyw: and axw too [17:41] ericsnow_, is that the one you had in brussels? [17:41] mattyw: yep [17:42] ericsnow_, ah yes - on the laptop with the insane resolution :) [17:42] mattyw: to which I forgot the power cord and had to beg hits off the other two guys :) [17:49] mattyw: I have some concerns I reviewed it [17:50] perrito666, ok thanks [17:51] perrito666, yeah - that type thing is the thing that's keeping me from landing this branch - everyone has a different idea for how it should look - and it started off not being part of my change :) [17:51] perrito666, good shout about the maps - I'd forgotten about that [17:52] mattyw: in my pov this opens the possibility of garbage strings comming down the line, the speciffic type sends a message of what you are expecting to come down the line [17:52] mattyw: that is the justification for my objection , in case it helps [17:52] perrito666, that's right, but so does type MeterStatusCode string [17:53] perrito666, I don't disagree with you at all [17:53] perrito666, I'm just trying to find a way of fixing it [17:53] mattyw: well a function expecting to receive (or return) a string is much less useful in terms of information than one expecting MeterStatusCode [17:54] you are making a statement in terms of the content of that string :) [17:54] natefinch: you can break the tie? [17:54] anyway, i need to get afk for a moment, bbl [17:54] perrito666, no problem === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [18:07] perrito666: reading scrollback === anthonyf is now known as Guest85523 === kadams54 is now known as kadams54-away [18:28] wwitzel3: any luck? [18:32] Bug #1433254 was opened: manual provider on trusty/precise syntax error near unexpected token `then' [18:47] I've got a general golang question [18:48] I want to get the http status code of a URL, I'm guessing this is the http library but I'm not sure how to check response code [18:51] marcoceppi: golang.org/pkg/net/http/#Get [18:52] when you issue the Get on the url you get back a *Response [18:52] which has Status among other things [18:52] jw4: awesome, thanks! I'll give that a /go/ [18:52] bwhahah [18:52] lol [19:00] you can tell a newbie gopher by all the bad jokes === kadams54-away is now known as kadams54 [19:01] natefinch: lq - marcoceppi is a ninja so I'm going to lq (laugh quietly) instead of lol === kadams54 is now known as kadams54-away [19:42] Bug #1433244 was opened: MAAS should handle RAM upgrades without decommissioning / recommissioning existing nodes [19:48] Bug #1433244 changed: MAAS should handle RAM upgrades without decommissioning / recommissioning existing nodes [19:57] OCR: PTAL http://reviews.vapour.ws/r/1190/ [19:58] perrito666: ^^^ [20:00] good morning, thumper [20:00] o/ [20:00] thumper: when you get settled, I have a quick question for you [20:00] better be quick [20:00] stand up is now [20:02] thumper: I can wait [20:03] Bug #1433244 was opened: MAAS should handle RAM upgrades without decommissioning / recommissioning existing nodes === ericsnow_ is now known as ericsnow [20:47] menn0, perrito666: PTAL http://reviews.vapour.ws/r/1190/ [20:49] ericsnow: i'll take a look after i've finished with the review i'm currently looking at [20:49] menn0: thanks! [20:57] ericsnow: I added one comment to the bash stuff but my brain is jello I cannot in good concience review embedded bash and produce useful output === kadams54-away is now known as kadams54 [20:57] perrito666: np :) [21:01] cmars: chat today? [21:03] thumper: he's out this week [21:03] rick_h_: cheers, I guess that is a no then :) [21:04] rick_h_: my daughter is wanting me to help with a school thing on Friday [21:04] rick_h_: any chance we can reschedule our meeting? [21:05] thumper: we can try tomorrow but have to ask urulama|afk as it's late late his time [21:05] rick_h_: ok [21:05] rick_h_: alternatively I could try to make it earlier [21:05] rick_h_: say... if I got up at 6am for the call [21:06] rick_h_: it would make it earlier for urulama|afk and you [21:06] as long as it doesn't clash with other calls you may have [21:06] rick_h_: so... 3 or 3.5 hours earier than currently specified [21:06] thumper: well I'm booked honestly. You can see if there's a slot that works for you but my wed/thurs are call days [21:06] ah [21:06] * thumper tries to see rick_h_'s calendar [21:07] thumper: if you can find a slot happy to move it around [21:07] rick_h_: I see a slot there... [21:07] * thumper calculates timezones [21:07] rick_h_: are you EDT? [21:08] thumper: yep [21:08] feel free to take it then [21:08] 1pm? your time [21:08] thumper: wfm [21:08] and urulama|afk looks open [21:08] I think that would be 6 or 7pm for ubuntulog2 [21:08] so happy to move it earlier then [21:08] lol [21:08] ok, lets do it for this week [21:08] * thumper moves [21:08] * thumper sighs [21:08] perhaps ubuntulog2 doesn't want to come [21:09] unless it can automatically minute our meeting [21:10] rick_h_: moved [21:10] thumper: yay, I can't wait :) [21:20] heh [21:38] ericsnow: done. lots of problems with the bash code unfortunately. [21:38] menn0: k, thanks === kadams54 is now known as kadams54-away [21:54] Bug #1433336 was opened: juju deploy tags are persistent accross juju deploys [21:55] menn0: are you sure about `[[ ! $? ]]` ? [21:56] menn0: I'm pretty sure you're right in the case of a single bracket, but the double bracket works [21:56] ericsnow: yep. I just included an example in reply to your comment. [22:08] menn0: weird. your example works for me [22:09] menn0: ah, it's the ! that is messing things up [22:09] ericsnow: thing I found with bash is always use -ne or -eq [22:10] never test unaddorned [22:10] also, I always quote args, "$1" [22:10] never just $1 [22:10] thumper: yep [22:10] in [[ ]] at least [22:10] bash is a minefield [22:10] also... I hate bash scripts [22:10] true that [22:10] menn0's got my back :) [22:11] wallyworld, ping [22:11] alexisb: hey [22:11] heya [22:11] I just sent you a mail [22:12] ok, looking [22:12] the error looks familiar [22:12] does it to you as well? [22:12] ericsnow: strange that it works differently for you [22:13] ericsnow: could be a bash version thing or a shopt thing [22:13] ericsnow: i'd still play it safe and use the more conventional check [22:13] menn0: no, it was only without ! that it worked the way I expected [22:13] menn0: agreed [22:14] alexisb: the series string is missing from the binary version [22:14] what are they running juju on? [22:14] a maas setup on a VM [22:15] and I cant repo in on my env [22:15] menn0: all fixed [22:15] alexisb: no, not surprised, it's a setup issue of some sort, but i'll need to dig a little to find root cause [22:16] I dont want to bother youm but can you give me some pointers on what to look at? It is on a partners test setup in class and it is bugging me that I cant figure out what he has done different [22:16] ericsnow: looking again [22:16] menn0: ta [22:17] alexisb: no problem at all. can we run sync-tools with --debug [22:18] so we can see where it's looking for the tools tarballs [22:18] it could be a badly named file [22:19] ericsnow, menn0: what is the first line of the discovour script? [22:19] by default, it runs through /bin/sh right? [22:19] which is dash on some servers [22:19] not bash [22:19] #!/usr/bin/env bash [22:20] just a query, but I do wonder if bash is really bash on some servers [22:20] it may not be [22:20] it would be pretty awful if it wasn't [22:20] yes [22:20] perhaps it was changing sh for dash not bash [22:20] that I recall [22:21] thumper: that sounds plausible [22:21] * menn0 nods [22:21] what you get with /bin/sh is a little "flexible" [22:21] wallyworld, getting logs for you [22:21] but is supposed to be posix compatible sh [22:21] * thumper sighs [22:22] apiserver tests take over two minutes [22:22] alexisb: ty, and then pastebin please [22:22] I wish this was faster [22:22] directly asking for bash should be safe enough though [22:23] o crap wallyworld I just emailed [22:25] alexisb: never minds, email works :-) [22:26] * thumper swears at the tests [22:29] davecheney: could you take another look at http://reviews.vapour.ws/r/1172/? [22:29] alexisb: just for kicks, can you please try "sudo apt-get install distro-info-data" \ [22:29] on the machine running ysnc-tools [22:30] yep one sec [22:30] i suspect the machine doesn't know about vivid [22:32] wallyworld, already installed [22:32] didn't make a difference [22:32] ericsnow: done. just one question but ship it otherwise. [22:32] menn0: thanks [22:32] alexisb: ok, i'll dig into the code and get back to you [22:33] alexisb: also, bug 1433336 - it's working as designed, constraints used at bootstrap time become default constraints from then on [22:33] Bug #1433336: juju deploy tags are persistent accross juju deploys [22:34] wallyworld, thanks, not urgent, just bugging us :) [22:34] so if you want to bootstrap to a machine using tags, you'll need to set the constraints again afterwards [22:34] wallyworld, can you add a note to bug 143336 [22:34] Bug #143336: __bobo_traverse__ and ftp/webdav [22:34] yep [22:34] thanks [22:34] i'l find this current issue first [22:35] wallyworld, I know you guys are busy, so really not urgent stuff, but we got lots of feedback from classmates on juju stuff (from core to gui) so I was trying to get info back to the team [22:35] alexisb: that sort of feedback is very much desired [22:36] was just giving you a heads up on the reason for the bug [22:36] i agree the usability kinda sucks in that case [22:40] oh for the love of [22:40] * thumper headdesks [22:41] alexisb: i think that the maas machine needs to have that distro info package installed as well [22:41] alexisb: i suspect the standard maas images don't have it [22:48] wallyworld, I installed distro info on both the maas machine and the bootstrapped machine that has the maas image, and it makes no difference. === kadams54-away is now known as kadams54 [22:49] alexisb: trouble is, juju will now have cached it's knowledge of the distro info, so you will need to bounce the agent [22:50] sudo service juju-agent restart <-- i can't recall OTTOMH what the exact service name is [22:50] look in /etc/init [23:05] ericsnow: I just added one more comment. Summary: you should use utils.ShQuote instead of %q or "%s" [23:07] alexisb: how'd you get on? ping if you're still stuck === kadams54 is now known as kadams54-away [23:16] still not working [23:16] but they are going to kick us out soon [23:16] wallyworld, I will try to repo tomorrow [23:17] alexisb: ok, let me know how you go etc [23:26] menn0: would you mind also taking a look at http://reviews.vapour.ws/r/1172/ [23:46] thumper: perrito666 says you owe him an email? [23:46] yeah... [23:46] * thumper has been distracted [23:47] ohh... shiney [23:47] ericsnow: will do. i just have to take care of a few other things first. [23:47] menn0: no worries :) === kadams54-away is now known as kadams54