[00:04] anastasiamac: i cannot test on windows [00:04] i dn't have a windows machine [00:05] but I fixed the error reported by CI [00:05] which was the sole remaining use og version.Current.OS [00:09] davecheney: did u have a chance to look at this? is this worth a try? http://wiki.cloudbase.it/juju-testing [00:10] * thumper wanders off to find some lunch [00:13] i'm fine with letting CI test this [00:13] if there is a problem, reverting it is a quick process [00:49] wallyworld: I'm going to be out tonight, so won't be able to make the retro sorry [00:49] axw: sure, np [00:49] wallyworld: also I'm not working today, in case you'd forgotten [00:49] you have a holiday anyway [00:50] axw: why r on irc? [00:50] axw: u* [00:50] wallyworld: summary: I spent most of last week working on various bugs, and trying to come up with a demo for storage for seattle (no fruit yet). blocked on azure because no SDK updates yet [00:50] anastasiamac: just to rub it in that I have a holiday ;) [00:51] axw: oh yes - thank you - appreaciated :D [00:59] thumper: you don't need +1 for backport, you can just land that can't you [00:59] wallyworld: no, but I was really wanting some form of confirmation [00:59] but I may just merge it [01:00] i can look if yiu want [01:05] thumper: lgtm, seems to be an extra unrelated test from the cherry pick that came across, doesn't matter [01:31] Bug #1500283 opened: apiserver: data race in machinePinger.Stop [01:52] Bug #1500283 changed: apiserver: data race in machinePinger.Stop [01:55] Bug #1500283 opened: apiserver: data race in machinePinger.Stop [02:25] for those of you who are in the wrong side of the world [02:25] http://imgur.com/J0RNfTt [02:25] sorry for the quality my lens is not the best there is [02:29] perrito666: nice picture :P [02:30] perrito666: but everyone who is on the "wrong side of the world" is now asleep :P [02:30] anastasiamac: lol [02:30] its noon for you [02:36] :P yes just passed [02:46] http://reviews.vapour.ws/r/2764/ [02:46] ^ quite urgent [02:48] davecheney: wrong channel... re-posting here [02:48] ok.. m pleading my ignorance... why changing from bool will fix a race? :D [02:49] we need to use atomic operations so the change to the value is visible across threads [02:50] and there is no atomic.LoadBool() in 1.2.1, so this is the closes [02:50] and there is no atomic.LoadBool() in 1.2.1, so this is the closest [02:50] davecheney: ah! [02:51] davecheney: is it possible to add this info to codebase and/or PR? [02:57] sure, i'll amend the description [02:57] \o/ [03:00] done [03:02] davecheney: just saw this branch in when i pulled master "bugger-off-version-binary-os". that is awesome, most aussie branch name ever [03:08] wallyworld: :) [03:34] Bug #1465873 changed: Environment.Users does not take into consideration the current environment [04:14] Bug #1500298 opened: API message logging should have field blacklist [04:17] Bug #1500298 changed: API message logging should have field blacklist [04:20] Bug #1500298 opened: API message logging should have field blacklist [04:23] Bug #1500298 changed: API message logging should have field blacklist [04:32] Bug #1500298 opened: API message logging should have field blacklist [07:40] rogpeppe: heyya, can i get a review of a small charm.v6-unstable pr when you have time? https://github.com/juju/charm/pull/154 [07:41] rogpeppe: also, i've made a charmrepo.v2, since i also need to change other methods besides just adding a new interface. i'll push a deps update once the above pr lands, plus there's also a failing test that slipped through onto gh [07:44] wallyworld: morning, he'll be here in a "few minutes" [07:44] wallyworld: still a bit early for UK :) [07:44] urulama: no worries :-) [07:44] wallyworld: and welcome back, hope you had a great time off [07:44] urulama: yeah, had a wedding to go to, was good [08:01] frobware: I saw the updated 1:1 time by the way [08:01] frobware: fine [08:02] voidspace, great. sorry for the short notice. :) [08:02] urulama: with mongo, do you know a way to detect if javascript is enabled via the session or some such? i have a bunch of charmrepo tests failing because i'm using juju-mongo without javascript engine. i can add a skip for those tests where mongo doesn't support javascript [08:03] wallyworld: hm, isn't there "isJavascriptEnabled" or something like that? [08:03] wallyworld: i can take a look, but after the call [08:04] wallyworld: have you actually found some instances of old charms that have a series field in? [08:04] not sure, hence the question, but i'll go searching for a func name like that. ty [08:04] rogpeppe: in a gz file [08:04] which contained bundles [08:04] rogpeppe: it has Series: "" [08:04] so it needs to be handled [08:05] wallyworld: hmm, bummer [08:05] yeah:-( [08:06] wallyworld: um, what's a charm metadata file doing in json format anyway? [08:06] rogpeppe: nfi [08:06] rogpeppe: see allcharms.json.gz in the charmrepo [08:06] wallyworld: so not a charm in the charm store then? [08:06] no [08:08] wallyworld: i don't think you should take allcharms.json as representative [08:09] wallyworld: it was generated from actual charms that do not have series entries [08:09] wallyworld: for example, the first entry in that file is cs:precise/apache2-12 [08:09] rogpeppe: sure, but legacy charms won't [08:09] wallyworld: but if you get that entry from the charm store, it doesn't have a series field in its metadata [08:10] rogpeppe: hmmm, ok. so an option is to change that json file then [08:11] delete all the Series: "" [08:11] rogpeppe: although, the code is safe, i think it's best to be robust [08:11] read everything, write concisely [08:12] who know what local charms people will have [08:12] i'd rather err on the side of caution [08:14] wallyworld: ok, i guess [08:14] wallyworld: but i'm not convinced about the approach in that PR [08:14] wallyworld: it means that the series will be lost when marshaling the metadata [08:15] lost how? it's converted to a slice [08:15] oh [08:15] marshalling [08:15] yes, but series as a string literal is deprecated [08:16] s/deprecated/strongly discouraged [08:17] i think we just need to handle reading older bundles [08:17] wallyworld: it'll be lost even if it's a slice, no? [08:17] wallyworld: anyway, i thought we were calling it SupportedSeries [08:18] rogpeppe: oh, hmmm. i think you're right. in which case it's kinda moot [08:19] rogpeppe: the spec says "series' thpugh [08:19] i guess we can change it [08:19] will be a lot easier [08:20] rogpeppe: i think i'll just change the spec and ask for forgiveness, and can repropose this pr if needed if the spec has to be changed back [08:21] wallyworld: i think you can call the field SupportedSeries in the Meta type [08:21] yes [08:21] and make the serialised field name "supported-series" [08:22] wallyworld: theoretically you can actually have two fields that both marshal to "series" [08:22] wallyworld: but actually better to use "supported-series" in the metadata [08:22] yeah [08:22] wallyworld: it's a good name anyway - it reflects what it does [08:22] rogpeppe: ok, i'll delete the current pr and repropose a charm.v6-unstable pr with SupportedSeries [08:23] wallyworld: thanks [08:23] rogpeppe: ty too. btw, do you know how to detect is mongo javascript is enavled? i have abunch of failing tests [08:23] because i have juju-mongodb without js [08:23] wallyworld: i don't think we can rely on mongo-with-js [08:23] and so charmrepo tests fail [08:24] wallyworld: because it's not supported on some architectures [08:24] rogpeppe: there's about 4 tests which check that stats are updated which fail without js [08:24] wallyworld: ah yes, charmstore uses mongojs [08:25] rogpeppe: yeah, so i'd like just to skip those tests if there's no js [08:25] wallyworld: perhaps just ignore those failures on your machine - CI will tell you if the tests really pass [08:25] oh, ok :-) but i was hoping for something nicer :-) [08:26] wallyworld: i'm sure it wouldn't be hard to work out [08:26] wallyworld: just execute some js and see what happens [08:26] rogpeppe: yeah i had a quick look but nothng jumped out, thought i'd ask just in case you knew off the top og your head [08:27] there's an error just i can catch, but i'd rather detect it and skip [08:27] anyways, it's no biggie [08:29] wallyworld: you could use Database.Run to run http://docs.mongodb.org/manual/reference/command/eval/#dbcmd.eval [08:29] wallyworld: but eval is deprecated, so i don't know how long that'll carry on working [08:29] yeah, i saw that and came to the same conclusion [08:36] wallyworld: this might help you with JS https://github.com/juju/charmstore/blob/v5-unstable/internal/storetesting/flag.go [08:37] urulama: ty, will look after dinner [09:15] rogpeppe: quick one to rename series https://github.com/juju/charm/pull/155 [09:17] wallyworld: so we want to support "supported-series: trusty" as well as "supported-series: [trusty]" ? [09:18] rogpeppe: ah, bollocks, will fix that, thanks. was rushing to get it done before dessert [09:18] i'll check that we just want []string [09:19] wallyworld: tbh i'm not sure that categories and tags work as intended in that respect [09:19] * rogpeppe checks [09:19] rogpeppe: i just checked - actually, supported-series doesn't support string literals [09:20] it requires a list [09:20] so it's ok as is [09:20] we now just ignore any series attribute [09:20] as it is meaningless [09:20] wallyworld: you're right - i misread parseStringList [09:20] wallyworld: sorry for false alarm :) [09:21] np :-) [09:21] i didn't change parseStringList I don't think [09:23] rogpeppe: thanks, after dinner, i'll propose that tweak to charmrepo to make the tests happy [09:24] wallyworld: no, i thought that parseStringList accepted a single string [09:24] wallyworld: i'd be interested to know what API-breaking changes you were thinking of for charmrepo, BTW [09:25] wallyworld: BTW, $$merge$$ works on the charm repository [09:25] rogpeppe: InferRepository() returns Interface [09:25] wallyworld: so better to use that than the big green button :) [09:25] rogpeppe: oh sorry, i thought there was no bot [09:25] wallyworld: it's relatively recent. no worries. [09:26] rogpeppe: so even if I use a new SupportedSeries interface, that method wil need to change also [09:26] gotta run, dibber, bbiab [09:26] dinner [09:26] wallyworld: enjoy [09:56] rogpeppe: sorry, last one for a bit, it's small https://github.com/juju/charmrepo/pull/30 [10:00] rogpeppe: wtf, tests pass for me but github says checks fail due to a charmstore.v5 build error [10:01] and i haven't updated charmstore.v5 dep for this pr [10:07] frobware, voidspace, dooferlad, TheMue, I'm back, we can start the planning HO [10:07] dimitern, OK [10:07] dimitern: on it [10:07] omw [10:07] dimitern, shall we use the link from friday's meeting? [10:08] frobware, sgtm [10:09] * dimitern ah.. monday hangouts.. [10:09] wallyworld: you haven't added charmrepo.v2 to the deps [10:09] ah [10:10] rejoining.. [10:10] wallyworld: oh, sorry my mistake [10:10] wallyworld: this is targetted at v2 of course [10:11] rogpeppe: it is. and with the flag stuff, uros pointed me at that code, it's straight from charmstore [10:11] voidspace, ping [10:12] wallyworld: in the charmstore, that code is in the storetesting package [10:12] wallyworld: which is there specifically for tests [10:12] wallyworld: we don't want to have that stuff in production code [10:13] ok, i'll tweak it [10:15] wallyworld: thanks [10:15] rogpeppe: there's a testing package in the top level i'll mov eit top [10:15] wallyworld: i wonder whether you shouldn't just use jujutesting.MgoServer.WithoutV8 [10:16] could do, i wonder why that other code doesn't do that [10:16] wallyworld: although... i'm not convinced by the heuristics for deciding whether the set that [10:17] wallyworld: are you using /usr/lib/juju/bin/mongod ? [10:17] yes [10:17] wallyworld: in which case that'll probably do the trick [10:17] wallyworld: it certainly seems like the right place to look at [10:17] i'll try [10:18] rogpeppe: although for consistency, may be nice to use the same code [10:18] wallyworld: i'll suggest changing charmstore actually. and possibly changing juju/testing too. [10:19] ok [10:19] wallyworld: ISTM there should be one canonical place for this info [10:19] yeah [10:21] dimitern: omw, sorry [10:22] rogpeppe: just using that WithoutV8 flag seems to have worked [10:22] wallyworld: cool [10:22] dimitern: need to do authentication dance, will take a minute [10:24] dimitern: aaaand you're not in the standup hangout - got a link for me? [10:26] rogpeppe: so jenkins still fails, should i just try doing another PR to update charmstore.v5-unstablel to use charmrepo.v2? [10:26] charmstore.v5 imports charmrepo.v1 [10:26] and the build of charmstore.v5 fails [10:28] wallyworld: if you run godeps -t ./... > dependencies.tsv, you'll probably end up with something that works [10:28] wallyworld: you'll still need charmrepo.v1 as a dependency, but that will be fixed in time [10:28] makes sense, ta [10:28] wallyworld, rogpeppe: we don't have jenkins jobs picking up charmrepo.v2 or charmstore.v5, only charmstore.v1 and cs.v5-unstable [10:29] wallyworld, rogpeppe: if you're relying on our CI that is [10:29] urulama: it looks like the bot is picking up that branch ok [10:29] hm [10:29] it shouldn't :D [10:29] urulama: although it's possible it's ignoring the target branch i guess [10:29] urulama: well, it should really :) [10:30] urulama: but it might be doing it erroneously [10:30] rogpeppe: ah, ok, the test bot, but the merge bot won't work [10:30] urulama: ah, ok [10:31] urulama: well, if the test bot says it passes, i don't mind clicking the big green button while we wait for CI to catch up [10:31] urulama: i'm wondering if we should be using v2.unstable though [10:31] rogpeppe: v2-unstable would be following our protocol, yes [10:32] rogpeppe: that worked [10:33] wallyworld: given that we probably haven't finished making breaking changes to charmrepo, could you retarget at v2-unstable please? [10:33] wallyworld: cool [10:33] ok [10:33] i'll merge this change first and then rename [10:35] rogpeppe: assuming you give it a +1 [10:35] wallyworld: i'd prefer not to create charmrepo.v2 [10:35] wallyworld: as it gives the impression that it's stable [10:35] ok, i'll update now before landing [11:06] rogpeppe: ok, so v2-unstable created, and here's the new pr https://github.com/juju/charmrepo/pull/31 [11:07] wallyworld: LGTM [11:07] rogpeppe: awesome, ty [11:07] now i can start the Interface changes [11:18] rogpeppe: how long do i need to wait for the $$merge$$ on charmrepo to be picked up? [11:19] wallyworld: we use :shipit: instead [11:19] ah, oops, ty [11:19] wallyworld: but it might not work, as i'm not sure the merge bot picks up merges for all targets [11:19] wallyworld: try it and see [11:19] i've tried it, let's see [11:23] and done [11:47] frobware: just realised I pick my daughter up from school at 3:15pm, can we move 1:1 to 4.00pm? [12:46] voidspace, done [13:54] frobware: thanks [13:54] wwitzel3: ericsnow: let's just meet in moonstone for iteration planning [13:54] katco: rgr [13:59] mgz: can you review https://github.com/juju/juju/pull/3388 [13:59] sinzui: looking [13:59] natefinch: we're meeting in moonstone for iteration planning [14:00] katco: browser crashed, brb [14:00] wwitzel3: no worries [14:00] mgz: sorry http://reviews.vapour.ws/r/2771/ [14:04] sinzui: lgtm [14:04] thank you mgz [14:05] hm, I think I will install ntpd on reviews. my comment is now 8 minutes from now. [14:06] mgz: yeah. I have installed ntpd on most of our machines because something eventually breaks when the instance lives more thsn a month [14:08] dimitern, ping; do you have time for a quick HO regarding juju-br0? [14:08] frobware, sure [14:09] dimitern, let's use the standup HO [14:09] frobware, ok, omw [14:58] voidspace, can we delay 15 mins? [14:59] voidspace, in a HO with dimitern and sean looking at the wily 4.2 bug [15:02] frobware: yup, np [15:19] voidspace, as we're making some progress any objections if we reschedule for tomorrow? [15:21] frobware: no problem [15:21] frobware: maybe give me a chance to get my branches landed by the time of the network call (maybe...) [15:22] frobware: good that you're making progress [15:30] dimitern: Regarding constraints, is the section in the network model document still up-to-date? [15:38] TheMue, it should be - which part specifically? [15:39] dimitern: the meaning of the spaces constraint, to add it to the docs [15:39] TheMue, that part hasn't changed [15:40] TheMue, the format - comma-delimited list with ^ prefix for negatives [15:40] dimitern: ok, thx. only wanted to get sure as we had some discussions in London [15:41] anyone fancy a tiny review? https://github.com/juju/juju/pull/3390 [16:01] frobware, dimitern, TheMue: hangout [16:03] Bug #1499613 changed: Windows device path mismatch in volumeSuite.TestListVolumesStorageLocationBlockDevicePath [16:03] dooferlad, we're still in a call, will join soon [16:07] dimitern: frobware: eta? [16:08] dimitern: frobware: jay is looking at Andrew's bug but we can't really help without him, and we don't have anything else to talk about [16:08] so maybe we defer to email for that bug [16:09] Bug #1499613 opened: Windows device path mismatch in volumeSuite.TestListVolumesStorageLocationBlockDevicePath [16:12] dimitern: frobware: Jay has gone for breakfast :-) [16:12] voidspace, ah :/ too bad [16:12] Bug #1499613 changed: Windows device path mismatch in volumeSuite.TestListVolumesStorageLocationBlockDevicePath [16:12] voidspace, dooferlad, that 4.2 kernel bug seems like something is messed up with the hardware network stack - juju does what's expected [16:13] dimitern: ah... [16:13] i.e. ifdown eth1 looks like it worked,but the device is still up after that [16:13] here's an incremental change to apiserver/common, converting a macaroon discharge-required error with ServerError: http://reviews.vapour.ws/r/2774/ [16:13] dimitern: Jay was very suspicious about the fact that it was receiving packets with itself as the source address [16:13] voidspace, yeah [16:13] dimitern: he suspected a loop somewhere in the network stack [16:13] voidspace, it looks like it yeah [16:17] frobware, I think I'll call it a day and resume with the demo prep first time tomorrow morning [16:18] dimitern, agreed. been in a meeting since 9am.... [17:17] ericsnow: wwitzel3: natefinch: be there in a sec [17:21] natefinch: ready? [17:30] katco: sorry, my wife is late coming home from picking up Lily, so I still have two kids... [17:37] natefinch: we're going to defer for half an hour; ericsnow is occupied until then anyway [17:37] katco: ok, great (sorta). [17:42] frobware: dooferlad: TheMue: if you have a chance: http://reviews.vapour.ws/r/2775/ [17:46] tasdomas: you're OCR I believe, so if you get a chance http://reviews.vapour.ws/r/2775/ [20:32] mramm: ping? [21:04] Bug #1500613 opened: configstore should break fslock if time > few seconds [21:07] Bug #1500613 changed: configstore should break fslock if time > few seconds [21:07] davechen1y: http://data.vapour.ws/juju-ci/products/version-3112/maas-1_8-deploy-trusty-amd64/build-884/machine-0.log.gz [21:07] davechen1y: look at the panic there [21:08] panic: cannot pass empty version to VersionSeries(), github.com/juju/utils/series/supportedseries.go:185 [21:08] utils/series looks like your recent stuff [21:09] found this looking through the CI failure on http://reports.vapour.ws/releases/3112/job/maas-1_8-deploy-trusty-amd64/attempt/884 [21:09] which just failed on master [21:19] Bug #1500613 opened: configstore should break fslock if time > few seconds [23:12] axw: perrito666: anastasiamac: i'm finishing another meeting, will be 10 mins or so late [23:12] ok [23:15] wallyworld: sure \o/ [23:19] Just noticed this in the build - + bzr whoami 'J. Random Hacker ' [23:19] very funny [23:24] Could any of you join the hangout? Trying my connection axw anastasiamac [23:24] perrito666: coming