[00:00] jcw4: LGTM, thanks [00:00] marcoceppi: cool [00:12] thumper: dummy.Bootstrap sets a bool: estate.bootstrapped = true. dummy. dummy.StateServerInstances errs after checking that bool: [00:12] if !estate.bootstrapped { [00:12] return nil, environs.ErrNotBootstrapped [00:12] } [00:14] thumper: so, I don't see how writing the bootstrap IP to storage will change estate.bootstrapped? [00:23] perrito666: sorry... it's been a crazy morning. are you still around? === menn0_ is now known as menn0 [00:26] thumper: if you have a moment, https://code.launchpad.net/~wallyworld/golxc/lxc-console-log/+merge/228778 [00:36] waigani: * for i in `seq 0 4`; do juju deploy trusty/ubuntu --to lxc:0 trusty; done; [00:36] sorry [00:36] wallyworld: [00:36] * for i in `seq 0 4`; do juju deploy trusty/ubuntu --to lxc:0 trusty; done; [00:36] * for i in `seq 0 4`; do juju deploy precise/ubuntu --to lxc:0 precise; done; [00:36] ^ from dpb's email [00:36] this will result in a broken juju [00:36] what he means to do is juju deploy trusty/ubuntu -n 4 [00:37] davecheney: haven't seen that email yet, but will look soon [00:37] what will happen is the furst unit of the trusty/ubuntu service will deploy [00:37] the other 7 will fail [00:39] yes, i think you are right [00:39] thanks [00:43] wallyworld: in that case, i have no idea what is going on [00:43] does --to lxc:0 override the duplicate service check ? [00:44] don't think so [00:44] in that case i cannot explain what dpb is doing [00:44] or how it works [00:44] or how it didn't work but he didn't notice [00:45] i'm also loath to comment as it will be a distraction [00:45] ok, i'll look into it [00:45] ta [00:45] thank you too [00:54] thumper: i'm down to three api packages failing, some 10 test cases left to fix [01:30] thumper: wallyworld http://paste.ubuntu.com/7900177/ [01:30] do you agree that this change is correct [01:30] it is the source of a lot of problems [01:30] AuthAlways is curently accepting anything, including invalid data and returning true [01:31] when I change it to only return true for valid tags => dozens of test failures [01:33] waigani: have you found the problem then? [01:34] davecheney: that change looks ok to me [01:35] thumper: not yet [01:36] thumper: if !canWatch("") { [01:36] return result, common.ErrPerm [01:36] } [01:36] this is rife through the codebase [01:36] what does this mean ?!?! [01:36] canWatch(anything?) [01:36] canWatch(nothing?) [01:36] authenticate anyuthing [01:37] even the empty string !?!? [01:41] I'm not sure... [01:43] axw: i tested the endpoints branch on 1.20, seems to work ok, plus has the fix for the list rendering, so off it goes to the bot [01:44] all bollocks, except bot is blocked [01:45] thumper: can you review that lxc fix so i can unblock the bot? [01:45] wallyworld: doing it now [01:45] fanks [01:45] wallyworld: rework needed [01:46] wallyworld: lxc-create doesn't support long opts [01:46] :-( [01:46] lxc-start does [01:46] hazaah [01:46] thumper: but lxc-creat --help says otherwise [01:47] wallyworld: of which version? [01:47] thumper: so what are you basing that on? [01:47] wallyworld: I'm looking on the man page, and output of lxc-create on precise 0.7.5 [01:47] hmm, i have 1.0.4 [01:47] sigh [01:48] heh, the man page for lxc-create says no long opts, lxc-create --help says yes [01:48] for 1.0.4 [01:48] yep [01:48] go 'man lxc-create' [01:48] geez [01:48] confusing [01:48] yep [01:48] thumper: i tested running up a local env [01:48] but that was 1.0.4 [01:48] sure, but you have a modern lxc [01:49] are you sure 0.7.5 doesn't support long args? [01:49] yep [01:49] ok, and it's just create? [01:49] well, not actually tried passing arg [01:49] seems to be [01:49] well [01:49] i only looked at lxc-create and lxc-start [01:50] lxc-stop has long [01:50] lxc-info, lxc-wait? [01:50] lxc-destroy short only [01:50] thumper: fuck, it, maybe we just go back to short [01:50] lxc-info is long [01:50] lxc-wait is long [01:51] ok, so just create, destroy [01:51] * thumper nods [01:51] rightio [01:51] I do wonder if we could just say "your lxc is too old, go away" [01:52] i wish [01:53] thumper: pushed changes [01:53] ah sorry, left in info [01:54] will delete those, that was for debugging [01:55] lxc-clone is short only on old :( [01:55] wallyworld: ^^ [01:56] ffs [01:57] thumper: try now [01:58] done [02:01] thumper: ty [02:03] thumper: it just gets worse [02:03] http://paste.ubuntu.com/7900384/ [02:03] the fake authoriser used in our tests rarely has the tag that it is authenticating set [02:04] davecheney: if an arg can be empty in a test, you can bet your eggs that someone will pass "" through [02:05] any hints why 'juju ssh 0' keeps giving me Permission denied (publickey,password) ? [02:05] jcw4: yes [02:05] jcw4: I bet you are using the local provider [02:05] thumper: mind reader! [02:05] jcw4: and you have no ubuntu user on the host [02:05] thumper: wow, interesting [02:05] and/or your aren't running sshd on the host [02:06] the former [02:06] jcw4: don't do it [02:06] not supported [02:06] oh? juju ssh not supported on local? [02:06] saves you from running "juju run --machine 0 'sudo reboot; " [02:06] lol [02:06] just for machine 0 [02:06] because it is the host [02:06] I'd love to fix the local provider so machine 0 is a container too [02:07] but I don't have enough working hours [02:07] I'm trying to figure out why all my machines stay stuck in pending except for 0 [02:07] * thumper sighs [02:08] * thumper raises his hand again [02:08] * jcw4 feels nervous now [02:08] probably my fault [02:08] hopefully wallyworld is going to fix it to be less shit [02:08] jcw4: please run "sudo lxc-ls --fancy" for me [02:08] yep, rsn [02:09] lxc: Error: juju-trusty-template creation was not completed [02:09] NAME STATE IPV4 IPV6 AUTOSTART [02:09] ---------------------------------------------------- [02:09] juju-trusty-template STOPPED - - NO [02:09] interesting... [02:09] jcw4: ok, do this: [02:09] sudo lxc-destroy -n juju-trusty-template [02:09] jcw4: then... [02:10] * thumper wonders where the hell he put the lock file [02:10] container not defined? [02:11] n/m; at least lxc-ls is empty now [02:11] jcw4: look in /var/lib/juju/locks [02:11] juju-trusty-template/message|held [02:11] jcw4: delete that dir [02:12] done [02:12] now I expect one of your machines will fail to start [02:12] and then the next will be slow to start [02:12] as it is recreating the template [02:12] the rest should be fast [02:13] do a "sudo lxc-ls --fancy" again [02:13] see if the template has been created again [02:13] yes, but no error now [02:13] right [02:13] now wait [02:13] jcw4: just before everything starts to fly [02:14] you'll see the template go from running to stopped [02:14] the second machine may fail if you have slow internet [02:14] oh, it was stopped when I looked [02:14] due to timing [02:14] that wallyworld if fixing right now [02:14] and machines 1, and 2 are still pending [02:14] jcw4: it may still have been creating [02:14] look now [02:14] thumper: i'm fixing the lock around downloading/creating the template [02:15] NAME STATE IPV4 IPV6 AUTOSTART [02:15] ---------------------------------------------------- [02:15] juju-trusty-template STOPPED - - NO [02:15] the fact that the lock can be left aquired [02:15] ah, now it's starting to come up [02:15] wallyworld: I was referring to the --console-log one [02:15] ah, ok [02:15] wallyworld: as that impacts the "template failed to stop" issue [02:15] thanks thumper [02:15] jcw4: np [02:16] the bot is running the merge job now [02:16] * thumper goes to fix our mongo upstart bouncyness [02:16] * thumper picks music [02:16] disturbed I think [02:17] :) [02:17] thumper: that is a nice bug [02:17] thumper: i can't hear, can you turn up the volume [02:17] agent restarts, rewrites upstart config, upstart restarts mongo, agent restarts, rinse, repeat [02:18] davecheney: aye [02:18] whups [02:18] thumper: OMG [02:19] i just found hundreds of places where the tests set fakeauthorizer.tag to somethign [02:19] without setting fakeauthorizer.entity [02:19] !?!? [02:19] i've changed it so you set the entity and that is what defines the tag [02:19] as they are not indepdeant [02:20] fakeBadAuth := apiservertesting.FakeAuthorizer{ [02:20] Tag: s.mysqlUnit.Tag(), [02:20] LoggedIn: true, [02:20] UnitAgent: true, [02:20] Entity: s.wordpressUnit, [02:20] } [02:20] oh crap [02:20] i can't even do that [02:20] althoguht I cannot explain what this is trying to test [02:20] * thumper hides and codes for 20 minutes [02:26] okay, next question [02:26] juju debug-log is getting spammed with modprobe errors [02:27] could not insert 8021q ; operation not permitted [02:27] on machine-2 [02:28] jcw4: sounds unrelated [02:29] davecheney: okay. I'm just concerned because it's drowning other messages [02:29] it's a bug for sure [02:29] but that's something related to wifi [02:29] interesting [02:29] davecheney: thx [02:31] thumper: we need to have a serious chat about apiserver/testing/FakeAuthoriser [02:31] it's wrong [02:31] in many ways [02:31] and the tests have mutated to accept it as the source of truth [02:31] davecheney: would it be better to take it to the list? [02:32] thumper: i'm not at that stage [02:32] it just keeps getting more confusing [02:32] ok, can I put you off for a few minuts to get this bug fixed? [02:32] sometimes things are authenticated againts the GetAuthEntit [02:32] others authenticate against GetAuthTag [02:32] in most cases the tag and the entity don't match, and most cases one is nil [02:33] thumper: which bug ? [02:33] https://bugs.launchpad.net/juju-core/+bug/1349969 [02:33] <_mup_> Bug #1349969: Jujud rewrites /etc/init/juju-db.conf constantly [02:46] * thumper takes a deep breath [02:48] * thumper silently stabs the person who named a public struct param "Desc" instead of "Description" [02:49] * thumper mutters under his breath [02:51] fucking brain dead test [02:52] * jcw4 quietly does a grep to make sure it wasn't him [02:53] (╯°□°)╯︵ ┻━┻ [02:53] nice [02:54] I saw davecheney use that table flipping thing before [02:54] jcw4: emojicons.com/table-flipping [02:54] oooh fun [02:54] sorry davecheney, giving away trade secrets [02:55] is there a way to update the jujud binary without destroying and bootstrapping? [02:55] can I just kill the process? [02:57] jcw4: juju upgrade-juju --uplaod-tools [02:57] davecheney: cool [02:57] * jcw4 is embarrassed that almost all of his usage of juju has been in unit tests [03:02] wallyworld: you saw CI failed your golxc PR? [03:02] dependencies.tsv update [03:03] no, not yet [03:03] vapour wouldn't load for me [03:03] i hadn't checked back [03:03] huh, working for me [03:03] looks like a CI infrastructure failure [03:04] axw: so you can load the dashboard? [03:04] i can't [03:04] yep [03:04] http://juju-ci.vapour.ws:8080/ [03:04] yep, the browser title changes, the page goes blank, and it gets stuck reading [03:04] le shrug [03:05] axw: what does the error say (as i can't see it) [03:07] un moment [03:07] ah, chrome can load the page [03:07] i-da61a1f6 doesn't exist anymore [03:07] our ec2 instance has been removed [03:08] oh joy [03:09] oh fark... again... [03:13] wallyworld, I see a problem [03:14] sinzui: i was lookingif our image id were are using had changed [03:14] wellm that is indeed my topis [03:14] topic [03:14] script uses ami-e55a648c [03:14] testing with saucy is bogus, it is EOL [03:14] wallyworld, you want a trusty id? [03:15] maybe ami-018c9568 ? [03:15] * sinzui looks at other trusty test [03:15] i though we did have a trusty id [03:15] thought [03:15] surprised we didn't [03:15] i'll follow up with martin to see wtf is going on :-( [03:16] wallyworld, ami-018c9568 is what CI will use when it re-runs unit tests [03:16] I think I can change it now if you like [03:16] sinzui: yep, that's where i got it from :-) [03:16] i'm changing it [03:16] the github-merge-job [03:16] wallyworld: https://github.com/juju/juju/pull/424 [03:18] looking [03:19] sinzui: i was hoping to be able to do a new 1.20.2 build today but we're not ready :-( [03:20] wallyworld, I understand. I am frantically putting a set of certification tests together for Ubuntu. There just aren't enough people to do the work [03:20] and we keep finding more issues to fix :-( [03:23] wallyworld, Most of the issues I saw today weren't essential I placed them in 1.20-alpha1. I am trying to keep the issues in 1.20 to be regressions and detrimental performance [03:24] sinzui: yeah. issues we're working on: template lock, mongo restarts every 3 seconds, backport of api endpoint fix [03:24] I don't disagree with those. The restart is something I see too often myself [03:31] wallyworld: what is the typo you refer to? [03:31] it isn't a well structured sentence, but no typo [03:31] thumper: maybe i can't read. ah, it makes sense a second time [03:32] sorry [03:32] I'll restructure... [03:34] wallyworld: you merged? how did you get the instance back? [03:34] or was it just the temporary instance went away [03:34] axw: i used a new one [03:34] a trusty one [03:34] ok [03:34] i think the other one was saucy [03:35] but i didn't know that - i assumed were had been set up for trusty [03:35] axw: but something is still wrong, the console output shows no tests as being run [03:35] sigh [03:36] all i did was change the image id [03:37] wallyworld: that's a bit of a worry, since it merged... [03:37] yes indeed [03:41] axw, wallyworld don't panic. we know that the AMI is bad [03:41] wallyworld, see http://juju-ci.vapour.ws:8080/job/run-unit-tests-trusty-amd64/1215/console [03:41] oh [03:41] got a good one? [03:42] wallyworld, looks like we need to find another. I can do that now. lets see these results playout before reverting [03:43] sinzui: they should be ok, it was a simple dependencies.tsv change [03:43] wallyworld, I just cannot get everything transitioned to the slaves fast enough [03:43] yep, I think it is safe too [03:43] yeah, i hear you [03:43] it's way past you eod so thank you very uch [03:50] * thumper is sad [03:50] code was broken but no tests failed [03:50] * thumper writes another test [03:52] another quick question... juju upgrade-juju --upload-tools works great... can I update a charm in a similar way without destroying/deploying it? [03:52] fark [03:52] I know why [03:52] stabby stabby [03:54] jcw4: yes [03:54] juju upgrade-charm foo [03:54] calls the upgrade hoook [03:54] thumper: it's like magic [03:54] yep [03:54] sucky tests suck [03:55] * thumper unsucks the tests [03:55] ha [03:57] wallyworld, our new ami for trusty is ami-b027efd8. I will update the jobs that seem to need it [03:57] sinzui: great, ty [04:03] axw: which todo are you referring to? [04:03] axw: nm, found it [04:04] * thumper needs coffee [04:06] wallyworld, menn0: updated the PR, axw - removed old todo [04:06] * thumper goes to make coffee [04:06] 20 minutes guess -> 2 hours seems about right [04:06] thumper: looking now [04:07] suppose I should squish all those commits for easier cherry picking into 1.20 [04:10] thumper: what about the comment I made (+1'ed by axw) about starting the service? [04:10] the other change looks good [04:11] sure, will do [04:12] menn0: that means another damn test [04:16] thumper: sorry :p [04:17] ok, so how do I squick all these again [04:20] * thumper pushes a single commit [04:20] geez I must be good to get that right first time [04:20] just don't look at the review comments [04:21] ah fark [04:21] * thumper found a problem [04:26] https://github.com/juju/juju/pull/415 [04:26] if anyone has a minute to inspect :) [04:26] I still need to add a few comments to things -- will take care of [04:28] wallyworld: I've updated the LP bugs related to this morning's discussion with everything we currently know and what's being done [04:28] wallyworld: should I also email juju-dev asking for help? [04:28] menn0: \o/ thank you [04:28] with the mongo issue? [04:28] yep [04:28] the panic [04:28] yes please [04:29] ok doing that now [04:32] menn0: and another look at my branch? [04:33] ah fark... [04:34] * thumper stabs it again [04:34] thumper: huh? [04:34] old comments in the new tests [04:34] just removed them [04:37] wallyworld: is the bot unblocked? [04:37] le tme check [04:38] you folks have until my coffee is made to complain about that branch, otherwise I'll take the previous four LGTMs and merge it [04:38] changed somewhat [04:39] thumper: appears to be yes [04:44] menn0: changing the commit message, just for you [04:55] thumper: aww shucks [04:57] is trunk unblocked ? [05:01] woot! we have an end to end action [05:01] marcoceppi, :) [05:03] axw: i have a flock implementation which hopefully will be suitable https://github.com/juju/juju/pull/425 [05:04] \(^O^)/ [05:06] * thumper goes to drop of kid a sports === thumper is now known as thumper-afk [05:19] wtf, why can't i merge things [05:20] I just saw something lang [05:20] land [05:25] we are going to store metadata for backups in the state...so I'm guessing we need a new collection, etc. [05:25] is that right? what's the best way to do that? [05:27] ericsnow: obtain paper bag, breath deeply [05:27] let the carbon dioxyde sooth you [05:28] davecheney: careful, it's quite late here and my brain is already rather fuzzy :) [05:34] davecheney: critical bugs blocking landing [05:41] axw: ping [06:08] hi [06:08] tried to land my PR for juju-core and got this response from the bot: Does not match ['$$fixes-1347715$$', '$$fixes-1342725$$'] [06:08] what does this mean? [06:11] tasdomas, this means that sinzui has put his foot down -- it's explained on juju-dev === uru_ is now known as urulama [06:16] thumper, wallyworld how come this one landed ? https://github.com/juju/juju/pull/419 [06:17] davecheney: 1.20 [06:17] different target branch [06:17] wallyworld: why did it fail the first time ? [06:18] davecheney: the critical bug affected 1.20 also [06:18] now that one has been fixed [06:18] wallyworld: yes, but the magic string was never mentioned [06:18] i just want to make sure the bot is working properly [06:18] Build failed: Does not match ['$$fixes-1350011$$'] [06:18] build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/157 [06:18] it was wasn't it? [06:19] it was what ? [06:19] mentioned [06:19] you asked if the magic string was mentioned [06:19] i pasted the comment from the failed merge showing it was [06:19] yes, and I cannot see it there [06:19] the bot said that [06:20] so the build fails, the bot then comments with the right string and resubmits itself ? [06:20] no, the developer has to [06:20] wallyworld: i cannot see a comment from a developer with the right string [06:20] i saw the failed pr and resubmitted [06:20] wallyworld: you said $$Merge$ [06:20] that isn't the correct string [06:21] oh, i did the right thing for master [06:21] maybe there's a gitch [06:21] wallyworld: i think there is a glitch [06:21] i did it at the same time for both pr's [06:26] ఠ_ఠ [06:35] morning all [06:42] wallyworld: pong. sorry, went out for a while [06:43] axw: no problem. just wanted to get you to look at fix for clone lock, and i changed to pr so didn't want you to look at wrong one. new one is https://github.com/juju/juju/pull/427 [06:43] wallyworld: I think you branched off katco's branch by accident [06:43] ok [06:43] axw: yep :-) [06:43] that has lande dnow [06:43] cool [06:44] axw: also there was some double up (as per emails), i haven't looked at martin's implementation [06:44] okey dokey [06:45] i kept mine self contained - just added lock to container package [06:45] axw: also, i'm concerned we're using fslock in container handler setup, but we still need it since hooks still use fslock [06:45] we need to think about using the new lock instead [06:58] wallyworld: reviewed [06:58] ty [07:00] axw: trouble with LOCK_NB is that it actually acquires the lock, even if you just want to check the status [07:00] well not it itself [07:00] but it's used with LOCK_EX [07:00] you can unlock it immediately after [07:00] yuk [07:00] though about that [07:01] doesn't matter [07:01] leave as is for now [07:01] the IsLocked is just for testing [07:01] prod code only needs lock/unlock [07:01] axw: my only real concern is whether we should have a lock timeout [07:02] then you'll need to use LOCK_NB and poll. we're not doing timeouts now right? I think it'd be better to keep it simple [07:03] axw: correct, no timeouts now. but just thinking we may need them. i mean we should be able to determine that we don't want to wait 100 years for a clone template lock [07:03] but for now i think this fixes the issue better than what we had [07:07] hey what, the manual provisioning jobs started working again...? [07:10] ah, 1.20 [07:16] axw: changes pushed [07:16] looking [07:17] wallyworld: LGTM [07:17] axw: awesome ty [07:27] * axw gives worker/networker the evil eye [07:28] wallyworld: I have a vague suspicion that we're screwing around with networking too much at bootstrap time [07:28] not sure yet, but I've had some issues with azure [07:28] could be [07:28] and in the last failing manual bootstrap job, there's this: [07:28] 2014-07-29 18:25:31 ERROR juju.cmd supercommand.go:323 failed to stop mongo: exec ["stop" "--system" "juju-db"]: exit status 1 (stop: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist) [07:28] yuk [07:29] you're looking t trunk? [07:29] that's CI running with trunk, yes [07:29] 1.20 is working [07:29] so this may be related to the other network screw ups eg network-manager issues [07:37] axw: small one https://github.com/juju/juju/pull/428 [07:39] thanks [07:54] fwereade: hi, you ok for the juju gui meeting? [07:56] rick_h__: is francesco able to come? [08:17] wallyworld, yeah, I can do that I think [08:17] wallyworld, but I was thinking I'd take my second swapday from NZ the rest of the day [08:18] wallyworld, I'll make sure my phone will warn me === bodie_ is now known as Guest40776 [10:27] wallyworld: not sure, will check today [10:28] frankban: are you up for a late night charm meeting tonight with wallyworld? It's optional, so don't worry if not. [10:42] rick_h__: oh sorry, i thought it would be late afternoon. fucking timezones [10:42] wallyworld: all good, frankban and I had a chat during the sprint so I think I've got a good list of all the stuff to worry about [10:42] ok [10:58] jam: TheMue: hard crash! rejoining room [10:58] voidspace: see you in a sec [11:22] rick_h__: I should be able to be in the call later tonight [11:35] can someone please review https://github.com/juju/juju/pull/429 [11:35] morning [11:35] should fix the manual provider regression [11:35] morning perrito666 [11:55] perrito666: morning === psivaa is now known as psivaa-lunch [12:01] mgz_: standup? [12:24] axw: have you tested that https://bugs.launchpad.net/juju-core/+bug/1347715 is fixed ? [12:24] <_mup_> Bug #1347715: Manual provider does not respond after bootstrap [12:25] CI says your patch has landed but it hasn't run the manual provider with the new rev. [12:26] jam1: I could not reproduce it completely, I could only verify that .jenv is properly populated now [12:26] k, it looks like it will try again soon http://juju-ci.vapour.ws:8080/job/manual-deploy-precise-amd64/ [12:27] I'll check back later [12:29] hmm, I don't think CI has built my rev yet === rogpeppe1 is now known as rogpeppe [12:37] wallyworld, davecheny, your conversation explains why tomas's branch was accepted after being rejects. I have taught the script to ignore comments by the bot. [12:37] sinzui: thank you [12:37] sinzui: will that break listening to failure messages, so a [12:37] future $$merge$$ works again? === BradCrittenden is now known as bac_ === bac_ is now known as bac [12:41] katco, yes, you can re $$merge$$ [12:41] sinzui: cool :) === psivaa-lunch is now known as psivaa [12:44] sinzui: so is the only remaining bug the Windows CLI regression that natefinch was going to work on? [12:46] jam1. I believe so [12:53] sinzui: what exactly is the fixes check/change? I don't understand the dollars in it. [12:55] I guess I should just replay to your thread [12:55] -a [12:57] fwereade: would you mind adding a brief "sgtm" reply to the "series-agnostic charm URLs" thread in juju-dev, for the record, please? [12:59] mgz_, the script iterated over the comments looking for $$fixes-xxx$$. when it rejects a merge because of blockers, it then comments on the pr with the list of blockers it is looking for. A resubmit will be merged because the jujubot comment matched a blocker :( [13:00] mgz_, the fix was to ignore all comments by jujubot [13:01] okay, I guess that's harmless. just the cute dollar-anything change I made causing issues... ;_; [13:03] mgz_, I don't think that can cause a problem the script is doing simple string checking: http://bazaar.launchpad.net/~juju-qa/juju-ci-tools/trunk/view/head:/check_blockers.py [13:04] sinzui: the issue is the *landing* script looks for a comment from a juju-dev with $$wtv$$ as a sign to go ahead and land [13:05] mgz_, yeah. there may be reason to force a merge. and I cannot stop devs from lying about what the branch fixes or they could change the status of a bug for a few minutes to hide the blockers [13:06] aghh fml (type *"labix.org/v2/mgo".DialInfo) as type *"gopkg.in/mgo.v2".DialInfo [13:06] mgz_, I will shout if I think developers are abusing the rules [13:07] sinzui: I don't think that's an issue, just that because your script reports an answer with dollars it can confuse the landing script when it reads github comments [13:07] but I can just revert the cute change [13:08] mgz_, ah, so you want a different quote. We can do that. [13:08] yup, just for confusion's sake if nothing else [13:10] mgz_, I like __fixes-nnnn__ [13:11] sinzui: that seems fine, though I'm a bit confused as to why it needs quoting at all, /fixes-[0-9]+/ is already hard to accidentally work into your comment by accident :) [13:12] I am so tired. I created a certification tests for Ubuntu last night. Since I am alone this week, I had no one to talk to but myself. I heard my wife asking by daughter if she thought I was crazy [13:12] unlike duplicateing accidentally words by accident, I do that all the time [13:12] mgz_, okay, the hyphen is not natural in typing === Guest40776 is now known as bodie_ [13:35] sinzui: what triggers build-revision? [13:35] the job [13:36] axw, a cron tab polls for new commits in stable and master. [13:37] axw your work will start testing in 45 minutes? [13:37] wwitzel3: 1 on 1? [13:37] sinzui: ok, thanks === Ursinha is now known as Ursinha-afk === Ursinha-afk is now known as Ursinha [14:00] * perrito666 tries for the first time restore with an integrated cli and backend [14:01] perrito666: good luck! [14:01] heh, I already know it will not work :p I am missing a bit in state/apiserver, just trying to figure out which :p [14:03] perrito666: I've looked at that code a bunch so let me know how I can help :) [14:04] natefinch_: lemme know when you are here [14:04] its a totally non urgent matter [14:06] perrito666: here [14:51] does anyone know what the current status of CI on github.com/juju/charm is? [14:51] mgz_: ^ [14:52] rogpeppe: I've not done it yet [14:52] mgz_: ok, ta [14:53] mgz_: big green button it is then :-) [15:01] perrito666, ericsnow: standup [15:28] wwitzel3, mgz_, fwereade, voidspace, bodie_, natefinch_, frankban: i've updated this PR for tip; it's huge most almost entirely mechanical. i'd appreciate a quick review if possible, so that it doesn't bitrot again. https://github.com/juju/juju/pull/253 [15:28] I'm just going EOD [15:28] 6:30pm here [15:28] but good luck :-) [15:28] voidspace: enjoy your evening [15:28] voidspace: ok [15:28] thanks [15:28] voidspace: where are you? [15:29] rogpeppe: Romania [15:29] voidspace: ah, fun [15:29] rogpeppe: until the end of August [15:29] voidspace: cool [15:29] gotta run, got a date with the gym :-) [15:29] voidspace: any particular reason, or just 'cos you thought it'd be a nice place to hang out? [15:29] night all [15:29] voidspace: g'nigfht [15:29] rogpeppe: wife is Romanian [15:29] voidspace: ah! [15:29] so we're living next door to my parents in law! [15:29] babysitters on tap though, so not all bad... [15:29] voidspace: joy :-\ [15:36] lol === Ursinha is now known as Ursinha-afk === Ursinha-afk is now known as Ursinha [15:50] rogpeppe, I can give it a look after lunch :) but I can't promise I'll have much to say [15:50] bodie_: just "LGTM" would do nicely :-) [15:50] lol, go bodie_ go [15:51] anyone else up for it? TheMue? perrito666? https://github.com/juju/juju/pull/253 [15:54] rick_h__, we just demoed our first baby working action for Mark :) [15:54] bodie_: woot! congrats. Really glad to see that progressing. [15:55] the client API needs to be built out a bit, and we have a couple of minor tech debt items that we pinned together for the demo, but it's really close [15:55] rick_h__, Mark mentioned we should sync with the frontend in the near future [15:56] so, put that on your brain plate and nibble on it :) [15:56] bodie_: sure thing. I'm out next week and change, but say in 2wk we could sync up [15:57] frankban: i've updated https://github.com/juju/charmstore/pull/45 to add some sanity checking for the metaEndpoint.get functions [15:58] bodie_: who've you been working with on actions mostly these days? [15:58] bodie_: I want to chat with them and get an update [15:58] rick_h__: It's mostly bodie_ and I [15:59] We have our stand up in a minute [15:59] Might be discussion w/niemeyer, but you're welcome to join [15:59] jcw4: if you guys don't mind and want to fill me in I'd love to jump on and derail it for you :) [16:00] you're welcome... one small detail, the hangout link doesn't work til a Canonical joins: https://plus.google.com/hangouts/_/canonical.com/juju-actions [16:00] ah, well then I can fix that :) [16:00] :) [16:01] * rick_h__ joined [16:02] hmm I'm still getting the "this party is over" message [16:03] hmm [16:03] maybe mgz_ or fwereade have to join? [16:03] hmm, odd [16:03] pm me your google name and I'll try to manual invite? [17:30] rick_h__, you asked who we've been working on actions with -- mgz and fwereade are both tuned in, though not actively engaged in pushing code [17:30] and we've been talking a bit with marcoceppi as well [17:30] bodie_: understood. In the meeting next week I want to know who I should ping to represent juju-core. [17:31] bodie_: thanks for the contacts [17:31] cool === natefinch_ is now known as natefinch [17:50] hey, anyone else getting worker/uniter test failure in master? [17:53] cmars log message? [17:55] do the container/lxc tests take forever for anyone else? [17:55] jcw4, http://paste.ubuntu.com/7906865/ [17:56] cmars: hmm; bodie_ might have some insight [17:58] bodie_: know anything about ^^ [17:59] natefinch: I would run them but I need my ram to run the restore ones [17:59] sorry [18:01] cmars: is it possible your system was under enough load that 10 seconds could have passed before the system could finish that step? [18:02] perrito666: it's ok, it's probably something wacky in my new system... [18:11] jcw4, yes, possible. after closing all the browser windows, it passes. [18:11] rerolling to be sure [18:11] that's one hell of a tab collection [18:12] :) [18:12] jcw4, not many tabs, really. i'm surprised it made a difference [18:12] still, 10 seconds seems awfully short for 'worstCase' [18:15] uhoh, failed again. i think it might just be intermittent. :( [18:15] urg... the worst. Not suprising to me though [18:16] whenever your test has a time element that screams random failure to me [18:16] and when it's 10 seconds in a distributed system... [18:30] natefinch: remember how yesterday i was asking if it was ever reasonable for an environment config not to be present in a machine config? what about provisioning machines? [18:34] katco: I'm pretty sure that the environment config is always added to the machine config before it's sent to the server being provisioned [18:35] katco: I don't know for sure, though [18:36] natefinch: could you look at juju/juju/worker/provisioner/provisioner_task.go::provisioningInfo? [18:36] it creates a new machine config, but doesn't seem to fill in the environ config [18:37] oh FFS. Don't do deep equals on a map!~ [18:37] if that's the case, i'm not sure what the right thing to do in kvm.go where it is trying to read the simplestream's path... i could just ignore it if it's not present, but i don't know if that's the "right thing" [18:42] bbl [18:50] katco: Sorry. I'm not sure. [18:50] natefinch: thats ok, thanks for taking the time to look [18:50] who can tell me what is involved when adding a new collection to the state? [18:52] pretty straightforward ericsnow [18:53] about 3 spots to change, and maybe a little more if you want to do indexes [18:53] lemme find my actions and actionresults commits and send the hash #'s to you [18:53] jcw4: this is for backups so it should be relatively simple (and small) [18:54] jcw4: that would be a big help. thanks! [19:00] ericsnow: hash adfdfa2f [19:00] actionresults [19:00] mostly state/state.go and state/open.go [19:01] ericsnow: wallyworld refactored a bit since then, but the same pattern applies [19:02] ericsnow: also, 3d262b2f for actions [19:04] jcw4: thank you [19:04] ericsnow: the second one wasn't complete 'cause I learned about the indexes later... still looking for that commit [19:05] jcw4: np [19:14] natefinch, ping [19:16] yeah, worker/uniter tests are pretty flaky on my laptop. ran them 10 times in a loop: http://paste.ubuntu.com/7907518/ [19:16] alexisb: howdy [19:17] cmars: presumably all in the same specific test? [19:17] natefinch, can I take a few minutes of your time? [19:17] cmars: can you pipe output to a file instead of /dev/null? [19:18] alexisb: sure [19:18] jcw4, i probably should have captured that, sure [19:18] cmars: not really necessary I guess [19:18] cmars: just my cautious nature [19:18] alexisb: pretty sure that's one of your primary responsibilities ;) [19:18] every time i've observed it, its been the same "never got expected hooks" [19:18] but i didn't really observe it there, did i? [19:19] cmars: that's probably it... that also means your loop must've taken at least 100 seconds? [19:19] jcw4, it runs about 170-180 seconds [19:19] per iteration [19:19] :( [19:19] cmars: ooh [19:20] so 1800 total for the loop 10 times? [19:20] more or less, yeah [19:21] its probably not load either, i had to join a google hangout for the last 6-7 iterations and let it run [19:21] to me that says 2 problems [19:21] 1. the test's "worstCase" time is fairly close to the boundary of the "normalTime" (at least on your machine) [19:22] 2. why does worker/uniter/ take over two minutes to run? [19:24] cmars: have you been able to reproduce it with 'go test -v ./worker/uniter -gocheck.f=UniterSuite.TestActionEvents' [19:24] i.e. just that specific test only [19:26] jcw4, yep, that does it. runs at about 26s. pass/fail intermittent [19:26] cmars: okay, I think that's a bug that bodie_ and I have to figure [19:27] cmars: out of curiousity, you're not running multiple cores by any chance? [19:27] as in Go configured to use multiple cores [19:27] jcw4, this is on a 4-core i7, thinkpad x230 [19:28] i haven't messed with GOMAXPROCS [19:28] but i could.. [19:28] cmars: I think it defaults to 1 if it's not specified [19:28] but for grins, maybe set it to 1 and try? [19:29] jcw4, another datapoint, which might be relevant.. i recently reimaged my laptop, and installed juju-mongodb [19:29] before i was running mongodb-server [19:29] cmars: interesting [19:31] GOMAXPROCS=1 seems to pass. we're 6 for 6, so far. [19:37] cmars: not sure if this is applicable -- just popping my head in -- but you might try setting -parallel=1 as a flag when running tests [19:38] cmars: juju does a lot of heavy tests with real resources, so parallel tests can step on each other. [19:41] cmars: yeah, I got 10 for 10, so I'm guessing it's related to -parallel [19:44] -parallel shouldn't matter... only tests that mark themselves as being able to be run in parallel are run in parallel [19:45] http://golang.org/pkg/testing/#T.Parallel [19:45] natefinch: I see. What about GOMAXPROCS? [19:45] i get intermittent pass/fail with -parallel=1 [19:46] I haven't reproduced cmars issue myself yet with default and GOMAXPROCS=4 [19:47] jcw4: gomaxprocs is just the default for parallel [19:47] natefinch: I see [19:47] cmars: have you repro'd the error with GOMAXPROCS=1 yet? [19:48] jcw4, no, GOMAXPROCS=1 seems to pass [19:48] hmm [19:48] maybe unrelated, but suspicious [19:49] generally if gomaxprocs > 1 affects your tests, it's because of a bug in your code that is expecting things to run more serially than they really will [19:49] (a bug in someone's code that happens to be tested) [19:49] (not laying blame :) [19:49] natefinch: that's what I'm afraid of [19:49] natefinch: i regularly experience failures w/o -parallel=1 [19:50] katco: hmm... that's a problem [19:50] natefinch: jcw4 and i beat my head against that issue yesterday actually [19:51] i wonder if -parallel=1 somehow affects gomaxprocs as well which would affect goroutines [19:53] cmars: bodie_ worked pretty much 2 days straight, so I don't expect to see him today. I think he is most familiar with that test, but anyone with hook familiarity can probably get up to speed on it quicky too [19:54] i got some fails with GOMAXPROCS=1. less often though, 2 out of 10 runs [19:55] cmars: okay.. that's good news actually [19:55] thanks jcw4 katco, i'll keep poking at this [19:55] cmars: that just means parallelism is just a complicating factor, not the cause [19:56] cmars: good luck :) [20:21] how can I get a machine address within a Client method from state/apiserver/client/client.go ? [20:22] perrito666: try c.st.addr [20:23] perrito666: oops, that is the client side [20:23] wong c [20:23] :p [20:23] yup [20:26] well I can machine, err := c.api.state.Machine(p.Target) and then ask addr := network.SelectInternalAddress(machine.Addresses(), false) [20:27] and since p.Target is invariantly 0 in my case, should be enough [20:27] yep === sebas53__ is now known as sebas5384_ === menn0_ is now known as menn0 [21:14] wallyworld, you online yet? [21:15] alexisb: in a meeting, finished soon [21:15] ack [21:28] mmpdfs I think I hit some kind of limit on amazon [21:34] niemeyer: hey there [21:34] thumper: Heya [21:34] niemeyer: is the mgo fix committed to trunk? [21:34] thumper: It is [21:34] niemeyer: thanks for the fix btw [21:34] not sure anyone else could have found it anywhere near as quickly [21:34] thumper: np, and sorry for the bug pain [21:34] I'm just happy it has been found and fixed [21:34] cheers [21:36] thumper: Please note it's on github [21:36] niemeyer: we are using gopkg.in for mgo now [21:36] so that picks it up right? [21:36] anyone had this problem with amazon? Request limit exceeded. (RequestLimitExceeded) [21:36] perrito666: you are doing too much :) [21:37] why do these things happen when one has to try the whole thing [21:37] thumper: Ah, brilliant yeah [21:48] menn0: re bug 1318366 [21:48] <_mup_> Bug #1318366: jujud on state server panic misses transaction in queue [21:48] menn0: niemeyer says the fix is now in trunk of mgo [21:48] thumper: yep, just catching up. that's great news. [21:48] menn0: so the fix for us should be to just update dependencies.tsv [21:49] menn0: should do it on the 1.20 branch too [21:49] menn0: If we can [21:49] thumper: shall I do that? [21:49] menn0: please [21:49] will do [21:49] menn0: re 1.20, we recently changed the imports for mgo from labix to gopgk, not sure if it is in 1.20 or not [21:50] menn0: so could be more of a problem there maybe [21:50] sinzui: wallyworld: do you know? [21:50] about the import for mgo in the 1.20 branch that is [21:51] menn0: I have waigani arriving here shortly to pair on the bootstrap issue [21:51] * wallyworld reads back scroll [21:51] alexisb: just finished meeting [21:51] morning wallyworld [21:51] morining [21:51] sinzui: thumper: we now import gopkg.in for mgo [21:51] wallyworld: yes, but what about the 1.20 branch? [21:52] wallyworld: the mgo panic fix is in github [21:52] thumper: yep - I already talked to waigani this morning (he has his sublimetext go oracle plugin working) [21:52] wallyworld, we are in a test call, but I think we are good, was just going to invite you [21:52] alexisb: ah ok,sorry,i scheduled and was in a different meeting [21:53] thumper: sinzui: yes, you are right. to get the mgo fix in 1.20 we need to change the imports [21:53] sinzui: we will do that this morning within the next few hours. then CI can bless a new 1.20.2 build [21:54] wallyworld: omg, that is a pain [21:55] wallyworld: do we want the mongo service bouncing in 1.20 for the next build? [21:55] thumper: yes, i thought that bug was marked as affectibng 1.20 and that yuo were going to backport your fix from trunk [21:56] wallyworld: I am, was wondering about 1.20.2 vs 1.20.3 [21:56] the next RC build will still be 1.20.2 [21:57] 1.20.2 was never released officially - just packaged for interal stakeholder testing [21:58] thumper: the above is my understanding unless sinzui tells me i'm wrong === jcw4 is now known as jcw4|away [21:59] alexisb: there's no video call link for the meeting [22:00] crap [22:00] one sec [22:00] wallyworld, thumper I am catching up. 1. please update imports in 1.20. 2. CI is happy/clean right now so I think 1.20.2 might have a better canididate [22:00] wallyworld, added [22:01] wallyworld, I will be a little late [22:01] niemeyer: to confirm we should now be depending on gopkg.in/mgo.v2 rev dc255bb679efa273b6544a03261c4053505498a4 right? [22:01] sinzui: thank you, will do [22:01] menn0: Haven't checked, but whatever v2 points to right now [22:01] niemeyer: ok, thanks. [22:02] menn0: Looking at https://github.com/go-mgo/mgo, that matches [22:02] meh, my zone is degraded temply apparently [22:02] ok, that marks EOD [22:02] ericsnow: remember the review [22:03] natefinch: same [22:03] perrito666: didn't forget (just running late) :) [22:03] perrito666: ok L( [22:03] er :) [22:03] niemeyer: great [22:03] not pushing here, just a gently reminder [22:08] wallyworld, sinzui, thumper: I will take care of the import changes in 1.20 [22:09] menn0: awesome, ty :-D [22:09] looks like thumper found a way to circumvent the fixes-* block on master [22:09] * sinzui adds more locks to the jail [22:12] sinzui: wat? [22:13] sinzui: is it still blocked? [22:13] thumper, your reply with $$tryagain$$ contained jujubot's helpful message of why your branch cannot land [22:13] sinzui: I saw the landings and assumed it was all good [22:13] that tricked jujubot seeing a comment from you into thinking the branch fixes bug 1347715 [22:13] <_mup_> Bug #1347715: Manual provider does not respond after bootstrap [22:14] thumper, there are still two blocking bugs === BradCrittenden is now known as bac [22:14] ah [22:15] thumper, but if your branch is critical, then we either escalate an issue to be a critical regression or we add an escape clause because sometime the bot has to do what we say [22:15] sinzui: the branch I was trying to land was one for mongo service restarting every time jujud starts [22:15] sinzui: it isn't currently critical [22:15] sinzui: just high [22:16] question, im seeing a odd behavior that the state-servers aren't being populated in local.jenv until i run juju status at least once [22:16] is that normal [22:16] sinzui: I think an escape clause would be good [22:16] stokachu: yes normal [22:16] stokachu: and being working on right now [22:16] to fix it [22:16] thumper, ah ok, is there a bug for that yet that i can follow? [22:16] stokachu: no, it is a feature :) [22:16] haha fair enough [22:17] I'm not aware of a bug for this behaviour [22:17] i only noticed it b/c i am using the api and couldnt get a state server address right after bootstrap [22:18] heh [22:18] stokachu: waigani and me are looking at this as we type [22:19] thumper, awesome, lemme know if you need me to test anything [22:19] stokachu: thanks, but it is pretty easy to check :) [22:19] sounds good :) [22:19] sinzui: is bug 1318366 on of the ones blocking 1.20? it should be. [22:19] <_mup_> Bug #1318366: jujud on state server panic misses transaction in queue [22:20] menn0, 1.20 is unblocked. No critical regressions reported against it [22:21] sinzui: ok. [22:21] sinzui: sorry, I'm confusing blocked landings vs blocked releases. [22:22] thumper, wallyworld, sinzui: at any rate here's the mgo change for trunk: https://github.com/juju/juju/pull/433 [22:22] working on the 1.20 change now [22:22] menn0: otp, look soon [22:23] menn0, there are two branches, master and 1.20 master is has critical regressions, so juju bot is only accepting fixes for those issues to merge into master [22:23] menn0, but you point out that you probably need to land in both branches at about the same time. [22:27] sinzui: the changes to master and 1.20 don't really have to happen at the same time but certainly soon. 1.20 is probably higher priority but I've made the master change already because it's very straightforward. [22:29] menn0, I am revising the token per mgz's advise. I am going to add something, maybe __JFDI__ to ensure engineers can always force a merge when we agree the merge is critical for other reasons [22:33] sinzui: sounds good [22:45] jam: ping [22:46] perrito666: it's 4 or 5 in the morning for him [22:46] ah, how dares he sleep [22:46] wallyworld: ah, I just notice the time here, it seems late in the night [22:47] :-) [22:48] * perrito666 watches the minister of economy of his country not daring to say on a press conference that we are in default [22:49] wallyworld: FARK [22:49] wallyworld: given the present state we can do the next sprint here, for about U$D2 [22:49] wallyworld: the 1.20 code for upstart services is completely different [22:49] wallyworld: cherry pick is a fail [22:50] thumper: oh joy :-( [22:51] perrito666: i'd love to come to argentina [22:52] oh how I love the import cycles caused by the state package [22:55] thumper: I'm having 1.20 backporting problems too. I think we were using mgo v1 in 1.20 but the fix we need is in v2 [22:56] * thumper sighs [22:56] alexisb: i'm ready for meeting now [22:57] I'm just figuring out what's going to be easiest: updating 1.20 to work with mgo v2 or backporting the mgo fix into mgo v1 [22:57] niemeyer: any thoughts? ^^^ [22:58] mjs0: mgo v2 has been out for several years [22:58] mjs0: You're definitely using v2 [22:58] wallyworld, that means I have to stop stuffing my face with popcorn ;) [22:59] no it doesn't :-) [22:59] alexisb: uh, popcorn, good idea [22:59] niemeyer: ok. I thought someone recently changed juju to use v2 but I must have that wrong [22:59] niemeyer: it must just have been the import changes from labix to gopkg [22:59] mjs0: the import path changed from labix to gopkg.in === mjs0 is now known as menn0 [23:00] never mind. I will figure out the build issue then. [23:00] stand up first... [23:34] menn0: thumper: 3 hours later and i have finished the first round of meetings for today. is there anything i need to do to help with the final 1.20 backports? [23:35] wallyworld: I am in dependency hell because of the labix to gopkg change [23:35] wallyworld: hey [23:36] wallyworld, menn0: perhaps the easiest change would be to get the fix applied to the labix.org branch of mgo? [23:36] menn0: what sort of hell? [23:36] niemeyer: any chance we can have that? [23:36] I've had to update several entries in dependencies.tsv to get the labix -> gopkg changes for mgo [23:36] but then juju/charms requires an update to juju/names which breaks juju 1.20 [23:36] niemeyer: our 1.20 branch was pointing to labix.org for mgo [23:36] ah yes, because the sub repos [23:36] juju/charms with the required mgo import change requires names.IsValidUser [23:36] niemeyer: and backporting the gopkg change is a nightmare [23:36] and updating to juju/names with IsValidUser breaks juju 1.20 [23:37] wallyworld: I suggested 1.20 braches of dependencies [23:37] menn0: i have dealt with that before - there' already 1.20 branches for those sub repos [23:37] starting with the version we need [23:37] you just need to update the 1.20 breanches of the sub repos [23:37] I think we can probably break the cycle by having a 1.20 branch for juju/charms that just has the import changes [23:37] I'll do that [23:38] there should be 1.20 branches for all the sub repos which need it [23:38] with different revisions to master [23:39] thumper: how's the mongo restart backport? [23:40] wallyworld: thanks. I think I see what I need to do. [23:40] menn0: thank you for saving me from having to do it. if you need to hand it over, i canpick it up [23:41] menn0: the necessary 1.20 branches should already exist is what i should have said above, so it involves checking out those existing branches and updating [23:42] how do I go about getting the changes merged. do I need to fork the subrepo on GH first? [23:42] yeah [23:42] ok [23:42] same as for makng changes to master [23:42] fork, make branch, pull request [23:43] then merge manually [23:43] wallyworld: getting there [23:43] thanks for doing it [23:45] arosales: you got a minute to talk about bug 1350493 [23:45] <_mup_> Bug #1350493: 1.20.x local provider not running apt-get update [23:46] wallyworld: for sure. [23:46] arosales: ok, let me create a hangout [23:47] arosales: we can use this one https://plus.google.com/hangouts/_/canonical.com/tanzanite-stand [23:49] shit fuck shitfuck damn [23:50] ╯°□°)╯︵ ┻━┻ [23:55] thumper: that good eh? [23:56] thumper, wallyworld: here's the required juju/charm change: https://github.com/juju/charm/pull/30 [23:57] thumper, wallyworld: 1.20 is building now with the new import paths but I see at least one mgo related test failure which seems related to the change [23:57] menn0: sec, otp again [23:57] chasing that now