/srv/irclogs.ubuntu.com/2014/06/05/#juju-dev.txt

menn0waigani: I've never used it but Stacked Git would probably help with this kinda of thing if it becomes a common thing you want to do. http://www.procode.org/stgit/00:12
waiganimenn0: ah, thanks for the tip00:12
waiganiwhat is the difference between state/api/params/internal.go and params.go?00:39
wallyworld__the former is for when code running within the state server makes an api call, vs clients00:41
waiganiwallyworld__: thanks :)00:45
wallyworld__np00:45
axwwallyworld__: where should I put backlog cards on Leankit now?01:16
wallyworld__axw: let me check01:17
axwonyx has a section01:17
thumpermy recommendation is "in the backlog"01:18
axwthumper: there is no one backlog. there's "onyx", "features", "core 1", "defered", and "team nz/au"01:19
axwand now tanzanite :)01:19
thumperright01:19
thumperwe can kill "team nz/au"01:19
thumpermove all them to "defered"01:20
thumperI guess01:20
wallyworld__axw: in the new tanzanite backlog lane i just created01:21
axwwallyworld__: thanks01:21
wallyworld__axw: i hadn't had a chance to reply yet - i wanted to shutdown the github issue tracking as per the original plan. i don't think having 2 issue trackers is sensible, especially given we are using lp for scoping work for milestones etc01:32
thumpermenn0, waigani: comments left on respective pull requests01:32
waiganithumper: thanks. I'm just reviewing my user info branch before pushing.01:33
axwwallyworld__: I don't have a strong opinion. You can do milestones in GitHub too though.01:33
wallyworld__sure, but milestone in lp then relate to ppas etc and all that other good stuff01:34
wallyworld__and our release processes are built around that01:34
axwyeah, it would be a shame to lose the integration bits01:34
wallyworld__i just wanted to check in with you before replying to the thread01:35
axwit doesn't really bother me. there are pros and cons to both options. I'd kinda like to wait and see, but it may just be a hassle to maintain both01:40
axwif closed, we need a prominent message somewhere pointing people to launchpad01:40
menn0thumper: thanks for the feedback. I've responded and will action the points you've raised. I'll probably wait until fwereade has seen these changes before landing though.01:49
thumperok01:50
axwwallyworld__: FYI, I'm going to change the merge job to use the m3.xlarge instance type02:23
wallyworld__axw: hol off, ec02:23
wallyworld__sec02:23
axwok02:23
axwwallyworld__: rebasing and force-pushing does *not* lose comments on GitHub. I'm sure it used to, but maybe I was just on crack02:24
menn0thumper: let me know when/if you have a moment to talk about schema migrations02:26
wallyworld__axw: https://plus.google.com/hangouts/_/grsvduf57lzffsqepsrfr6mdsqa02:27
thumpermenn0: sure, just trying to submit a few expenses02:27
menn0thumper: no rush02:27
axwwallyworld__: just a sec02:27
wallyworld__axw: oh balls, just failed :-(02:40
axwbugger :/02:40
wallyworld__still, quick enough that we try with parallelisation first02:40
thumpermenn0: how about now?02:41
axwwallyworld__: so it adds ~15 mins at worst?02:41
menn0thumper: now is good02:41
wallyworld__yeah or even a a bit less02:41
menn0thumper: https://plus.google.com/hangouts/_/gujkllcsyr6ughkd5siy5jkdeya?authuser=1&hl=en-GB02:41
axwwallyworld__: seems fine. I was going to look into creating a fs lock for mongo tests. do you think that'd be worthwhile?02:41
axwwallyworld__: then we can run a bunch in parallel, but only those mgo ones will serialise02:42
wallyworld__can't hurt, worth a spike on02:42
wallyworld__this was the failure btw02:42
axwwill see if I can whip something up02:42
wallyworld__FAIL: container_initialisation_test.go:1: ProvisionerSuite.TearDownTest02:42
wallyworld__/home/ubuntu/juju-core_1.19.4/src/github.com/juju/juju/juju/testing/conn.go:135:02:42
wallyworld__    c.Check(err, gc.IsNil)02:42
wallyworld__... value *errors.errorString = &errors.errorString{s:"error receiving message: write tcp 127.0.0.1:45210: broken pipe"} ("error receiving message: write tcp 127.0.0.1:45210: broken pipe")02:42
wallyworld__----------------------------------------------------------------------02:42
wallyworld__PANIC: provisioner_test.go:407: ProvisionerSuite.TestProvisionerSetsErrorStatusWhenNoToolsAreAvailable02:42
axwmmk02:42
wallyworld__looks like a race tearing down a test02:42
wallyworld__anyways, i'll change the job02:43
axwhmm, that's an error closing the API server02:43
axwAPI client event02:43
wallyworld__ok, i didn't look past the error just yet02:43
wallyworld__axw: my code is out of date, so line number doesn't match,but looks like we are in a cleanup and can't close api server. i wonder if it had already been shutdown02:45
axwyes that is the line02:47
axwnot sure...02:47
wallyworld__sure seems like a potential race02:48
axwwallyworld__: it's the client that can't be closed. apparently websockets require you to send data to close the connection. I guess the server has already gone away02:50
wallyworld__yeah02:51
axwwallyworld__: so... I think the issue is that the client is being closed in an AddCleanup, whereas the server is closed by TearDownTest (prior to running other cleanups)02:56
axwI can take a look at fixing if you like02:56
wallyworld__ok, that woud be great02:56
wallyworld__axw: maybe also have a quick check of the code to see if there's other places where something similar is down, so we try and attack them all03:04
axwwallyworld__: is there a bug for this failure?03:18
wallyworld__not yet that i know of03:18
axwk03:18
wallyworld__axw: +1, now let's see how the new landing job goes03:31
axwthanks03:33
axwI really like that that we can see the bot's progress now03:34
wallyworld__axw: \o/03:49
wallyworld__worked03:49
wallyworld__+1 to seeing progress03:49
axwwinning03:49
axwnice and quick03:49
sebas5384there's a way to upgrade a bundle?03:49
rick_h_sebas5384: no, not currently.03:50
axwwallyworld__: maybe we should stick with ephemeral instances then?03:50
sebas5384oh rick_h_ thanks, but there's plans for it?03:50
wallyworld__well, testing is down to 11 mins. building the instace takes about 503:50
wallyworld__so 16mins vs 1103:50
wallyworld__worth a little more effort i think03:51
rick_h_sebas5384: it's been talked about but not currently on the list of stuff being worked on.03:51
axws'pose so.03:51
wallyworld__but not much more03:51
sebas5384rick_h_: ahh ok then, i imagine it isn't nothing simple03:52
sebas5384there are so many complicated situations03:53
sebas5384like adding a service, and then removing it, and thats the same for relations, etc...03:53
thumperdavecheney: seems like your deps file is missing a tab juju-ci.vapour.ws:8080/job/github-merge-juju/17/?04:18
waiganithumper: ping04:23
thumperhai04:23
waiganithumper: I don't understand your review comment "Both user and stateServers for the environment need to read the jenv file. Perhaps consider doing that before?"04:23
thumperwaigani: well, to get the user and the api end points, you need to read the jenv file04:23
thumperyou are reading the jenv file twice04:23
thumperonce in each method04:23
waiganioooh04:23
waiganigot ya04:24
thumper(behind the scenes)04:24
waiganiI'll reuse it04:24
* thumper nods04:24
thumperthat's what I was meaning04:24
thumperwaigani: what happens if there is no jenv file?04:24
thumperbecause that environment isn't bootstrapped?04:24
thumpertests for that>?04:24
waiganithumper: yep04:25
thumpercool04:25
waiganithumper: so i discussed this with menn0, and we wanted to support the scenario of switching to an bootstrapped environ - with no jenv file04:25
thumperwaigani: you can't04:26
waiganithumper: in that case me code is wrong :(04:26
thumperwaigani: if the environment isn't bootstrapped, there is no jenv file04:26
waiganias it currently suppresses file not found error04:26
thumperif there is a jenv file - it should be bootstrapped04:26
menn0I don't recall talking about that :-/04:26
thumperit is possible that you have a jenv file that points to an environment that someone else has destroyed04:27
menn0actually now I do04:27
waiganiso I can remove the error suppression and fail when trying to switch to an env with no jenv?04:28
menn0it was so you could do "juju switch foo" and then "juju bootstrap"04:28
waiganimenn0: yep, that's right04:28
menn0seems like a reasonable thing to want to do, although not super critical04:29
waiganiso the current code allows that04:29
waiganii mean my branch04:29
waiganithumper: do we want to support this usecase: "juju switch foo" and then "juju bootstrap"04:30
thumperyes04:30
thumpermost definitely04:30
thumperI do it all the time04:30
waiganiin which case we have to switch to an env without a jenv04:31
thumperyes, but that isn't what you said04:31
waiganiwhat did I say?04:31
thumperyou said "we wanted to support the scenario of switching to an bootstrapped environ - with no jenv file"04:31
waiganioh shit04:31
waiganiUNbootstrapped04:31
thumperright04:32
waiganitypo, sorry04:32
thumperthat makes more sense04:32
=== vladk|offline is now known as vladk
waiganiright, all on the same page. I've covered it in the code and have tests.04:32
jcw4are we using axw's gocov tool on juju regularly, or some other coverage tool?05:30
davecheneyjcw4: go tool cover05:30
axwgocov is mostly redundant now05:31
jcw4davecheney, axw I see... does go tool cover have a report function too?  I need to go investigate05:31
jcw4(I like gocov test | gocov report)05:32
axwjcw4: only as HTML, AFAIK05:32
jcw4axw: ah.  I guess lynx or something would be do-able on the command line05:33
axwjcw4: gocov just uses the builtin coverage analysis now anyway, so if you prefer that then there's no problem using it05:33
davecheneyhold up05:33
davecheneyhttp://dave.cheney.net/2013/11/14/more-simple-test-coverage-in-go-1-205:33
axwdavecheney: yeah, it's not quite the same. "gocov report" gives you a breakdown by function05:34
jcw4davecheney: thanks!  I think that will be useful too.  I'll probably end up using both05:35
axwit would be nice to have regular coverage reports05:35
jcw4it's not in the juju ci pipeline?05:35
axwnope05:35
jcw4hmm05:36
jcw4I could even see it being tuned and added as a pre-push hook...05:36
jcw4if you don't mind waiting forever05:36
jcw4(metaphorically speaking)05:37
axwcould do, I think it would be fine in the CI tho05:39
axwI prefer to use it just as a tool to guide testing, not to gate changes05:40
jcw4axw:  yeah, that makes sense.05:40
jcw4otoh, 0% coverage is a pretty big red flag...05:41
davecheneyjcw4: go test -cover github.com/juju/juju/...05:41
davecheneywill give you a first aproximation05:41
davecheneymake sure you have the latest cover tool05:41
jcw4k05:42
davecheneythere was a bug with external tests that showed 0 when there were no internal tests05:42
jcw4it would be interesting to develop a hook that could run coverage tests only on modified files05:42
jcw4and fail if less than some threshold, say 50%05:42
davecheneyjcw4: sounds like a nice pipe dream05:43
jcw4:-D05:43
jcw4yep05:43
davecheneythere are more serious issues atm I feel05:43
davecheneylack of mocks for the state server is the big one for me05:43
davecheneythe fact the tests take 30 minutes to run is fucked05:43
jcw4and that is mostly because of mongo dependencies?05:43
davecheneyand they do this because we start one mongo per test05:43
jcw4yeah05:44
davecheney90% of the current test failures are when mongo just fails to start05:44
jcw4what's interesting to me is that the mongo api seems so easy to mock...05:44
jcw4are there subtleties I'm missing?05:44
davecheneynope05:44
davecheneyan in memory mongo is a map and a lock05:44
jcw4hmm.05:45
jam1morning all, I had forgotten I had closed my IRC window. I hope everyone is doing well.05:51
vladkjam1: morning05:53
lifelessjam1: you're still in the middle east I guess?05:59
jam1lifeless: yeah, in Dubai, UTC +406:00
TheMuemorning07:03
jam1TheMue: morning07:26
jam1I think I have the outline for API versioning up for you07:26
jam1fwereade: it would be good if you can give it a look over as well, to make sure my plotted trajectory is sane.07:27
fwereadejam1, great, tyvm07:27
TheMuejam1: great, finished the planning doc yesterday evening and now waiting for Nick to get it online07:28
jam1TheMue: fwiw we'll probably want the API versioning document to become something in trunk developer docs as an .md file, I suppose I need to start reading up on markdown syntax07:30
TheMuejam1: I would like all developer docs, opposite to planning docs, in the standard repo too, yes07:32
TheMuejam1: makes more sense to keep them near and also always matching the releases07:33
TheMuejam1: thankfully md is pretty simply, and github renders it directly when somebody browses our repo07:34
jam1api versioning is potentially a dual doc, since for people that want to consume Juju via the API we do want them to know how we plan to interact with them.07:34
=== vladk is now known as vladk|offline
dimiternfwereade, jam1, hey, I still need an approval on https://github.com/juju/juju/pull/13 please!07:44
jam1dimitern: I'm surprised to see the Disabled stuff come in after the review, I don't think that was part of the discussion so far, did I just miss that part?07:46
TheMuejam1: will talk to Nick about a process to also publish released developer docs out of our repo07:47
dimiternjam1, it was part of the discussions past :)07:47
dimiternjam1, i mean, we talked about configuring only the nics the user wanted, not all possible ones07:47
dimiternjam1, i did implement "find all nics/nets and configure them", but now as we're moving to a more dynamic model the networker can do that later eventually07:49
=== _mup__ is now known as _mup_
voidspacemorning all08:14
fwereadedimitern, reviewed08:16
fwereadedimitern, although, thinking about the disabled stuff08:17
fwereadedimitern, I'm not sure it's the right time for that -- we should be able to guarantee that the ^foo networks won't be possible to configure already, so that bit's handled08:17
fwereadedimitern, but without the networker worker, to handle things the deployment of units that use a constrainted-but-disabled network08:18
fwereadedimitern, sane? or do we expect a functional networker so soon that it makes no odds? I'm a bit sceptical there, 1.20 is coming upon us apace08:19
dimiternfwereade, sorry, i don't quite follow - constrainted-but-disabled network ?08:24
fwereadedimitern, mentioned in constraints, so it'll be noted as an available network, but not specified with --networks and therefore not enabled08:24
fwereadedimitern, without a networker to enable it, we're better off leaving them all configured until we have the machinery in place to handle switching them on and off as required08:25
fwereadedimitern, otherwise we'll end up deploying units to machines that can't actually serve them08:28
=== vladk|offline is now known as vladk
rogpeppehmm, it looks as if the juju commit history was not filtered to remove the non-trunk commits. is that right?08:41
rogpeppemgz: ^08:41
rogpeppethe unfortunate implication of that seems to be that when using git filter-branch to factor out juju subdirs into their own repos while preserving history, none of the trunk commits (the ones with the actual useful messages) get preserved.08:43
dimiternfwereade, until we have the networker, we'll still use cloudinit for the setup08:44
dimiternfwereade, and in my PR i changed the logic to only bring up what the user wanted, leaving the rest disabled08:45
fwereadedimitern, yeah, and if cloudinit leaves some networks disabled then the model will happily assign units that need disabled networks to that machine, and they won't work08:45
dimiternfwereade, that's what we agreed upon in austin, isn't it?08:45
dimiternfwereade, how can that happen?08:46
fwereadedimitern, yeah -- but until we have the networker to switch on those networks when we need them, having them disabled is more broken not less broken08:46
fwereadedimitern, this machine records that it has access to foo, bar, baz08:46
fwereadedimitern, and it's started with --networks=foo08:46
dimiternfwereade, yes, this means we're enable only foo08:46
fwereadedimitern, the unit assignment logic should consider it a viable place to deploy a service that uses bar08:46
rogpeppefwereade: how much do we care about commit history in git?08:47
dimiternfwereade, no yet anyway08:47
fwereadedimitern, expecting that the networker will set up the appropriate interface08:47
dimiternfwereade, the unit assignment logic + networks currently considers only empty machines08:47
dimiternfwereade, there's no way to break things automatically ;)08:47
fwereadedimitern, right -- you can start a machine with --networks, and constraints, and the unit assignment logic should consider that clean machine a viable place to put a unit08:48
fwereadedimitern, and it should not be worrying about the machine's --networks, or its constraints, only on the networks we record as potentially accessible08:48
dimiternfwereade, a new machine, not just a clean one08:48
fwereadedimitern, yes: it's new, so it's clean and empty, so it's in the running08:49
voidspacePR for someone: https://github.com/juju/juju/pull/2408:49
dimiternfwereade, what you're describing involves doing add-machine --networks ... --constraints networks=...08:49
fwereadedimitern, and if it has recorded that net-bar *could* be set up, the unit assignment should consider it a viable location for a unit of a service that requires net-bar08:49
fwereadedimitern, no, it doesn't require any more than add-machine --networks08:50
dimiternfwereade, what networks *can* be configured on a machine comes from the interfaces discovered at provisioning time08:50
fwereadedimitern, right08:51
fwereadedimitern, create a machine with --networks08:51
dimiternfwereade, the disabled flag just signals not to enable them, but we still have the info in state, as unit assignment logic is concerned08:51
fwereadedimitern, that machine gets provisioned08:51
fwereadedimitern, it's recorded as capable of starting a big list interfaces, but it only actually starts one of them08:52
fwereadedimitern, now, much later, we create a unit08:52
fwereadedimitern, that unit's service specified --networks=bar08:52
fwereadedimitern, correct unit assignment logic says "that machine *could* configure net-bar, so we'll use it"08:52
fwereadedimitern, unit goes on machine, networker hasn't landed yet, unit can't use network08:53
dimiternfwereade, you're correct about that, but it's not implemented like that yet08:53
dimiternfwereade, the networker is coming soon anyway08:53
dimiternfwereade, unit assignment logic does not consider what networks are available on the machine yet08:54
fwereadedimitern, is there any doubt as to how it should, or will, be implemented? the point is to build a component that continues to work nicely even given the annoying way different streams of work progress at different times and in different ways08:54
fwereadedimitern, it should consider it, and it should happen soon, it's all part of the model08:55
dimiternfwereade, to do that, we need to take into account what network interfaces are there, constraints are not important there, just requested networks (but they will be configured anyway at provisioning time)08:55
dimiternfwereade, yes, it's part of the model, but we haven't got that far08:56
jam1dimitern: fwereade: so my personal take on it… we shouldn't touch cloud-init, it should ignore anything about disabled, instead we should only have the networker set things up and have it pay attention to a new flag.08:56
jam1then, while we are still on just cloud-init without a good worker, it still works08:56
jam1and when we are using the worker instead, we get the better behavior08:56
fwereadejam1, yes, exactly08:57
jam1I think cloud-init only starting some networks is going to just be a point of temporary brokeness08:57
jam1brokenness ?08:57
dimiternfwereade, ok, so we're temporarily departing from what was important in austin - i.e. do what the user says about networks and no more, until we have the networker in place08:57
dimiternfwereade, fair enough, but I still want to keep the Disabled flag08:57
jam1I ain't messing wit no broke broke, ya na wha I mean08:58
jam1dimitern: so for me Disabled feels a bit weird, rather than having it just not be in Enabled, do we know all the potential networks that we aren't a part of yet08:58
dimiternfwereade, but if it wasn't clear, not disabling networks in cloudinit won't make the unit assignment logic "just work" :) until we change it to consider NICs08:58
dimiternjam1, maas knows all networks a machine can be on, and we expect the provider to tell us that08:59
bigjoolspotentially knows :)08:59
dimiternjam1, so out of these, the user picks what to enable, and we ca decide what can we deploy there08:59
dimiternhey bigjools  ;)09:00
bigjoolsahoy dimitern09:00
fwereadedimitern, the unit assignment logic *is* a pretty critical part of the model -- we have to apply that even for manual placement attempts09:00
dimiternofc, maas knows if you told it09:00
dimiternfwereade, i agree, that's why i'm thinking of working on that as soon as we have the networker running as a MVP09:01
fwereadedimitern, gating that work on the networker is not optimal imo09:01
dimiternfwereade, until then, nothing will break that used to work before, but networking stuff might09:02
dimiternfwereade, well, until we have a way to configure additional nics on a running machine09:02
dimiternfwereade, we can only assume the networks will work or not09:02
dimiternfwereade, you're saying let's make them work by default, so we can wire the assignment logic?09:03
fwereadedimitern, yes09:03
dimiternfwereade, got you than :) that's possible before the networker then, sorry09:03
fwereadedimitern, cool, sorry I didn't explain clearly09:03
dimiternfwereade, you and me both i guess :)09:04
dimiternfwereade, re network names validation as part of constraints validation - i'm aware of the prechecker and similar things that are supposed to be useful for constraints validation, but wasn't obvious how to make it work09:05
dimiternfwereade, need to look some more into it, or possibly do a follow-up on that, as i suspect will blow up the PR even more09:06
jam1dimitern: anyway, from a meta-perspective, adding this to the code during the middle of having it reviewed for other stuff makes it hard to see if the original questions were addressed09:13
dimiternjam1, hence my request to do it in a follow-up :)09:16
jam1dimitern: I meant adding the Disabled stuff, but yes, the other would be true as well.09:16
dimiternfwereade, just to check something with you re constraints propagation09:25
fwereadedimitern, sure09:26
* axw wishes you could batch comments on GitHub09:26
axwso noisy09:26
dimiternfwereade, so if i have "networks=foo,^bar" at environ level, all services should inherit them (unless overridden at service level), and all units and machines should also inherit them (unless overridden)09:26
dimiternaxw, oh me too!09:27
voidspaceaxw: thanks09:27
axwvoidspace: no worries09:27
axwvoidspace: I struggled to find an appropriate emoji to convey my feelings about this issue ;)09:27
voidspaceaxw: I thought you did very well...09:27
dimiternso :shit: it is :)09:27
dimiternfwereade, the same should be for service-level network constraints going down to units and machines09:28
dimiternfwereade, and i'm talking about new entities for each kind, not existing ones which might already have constraints09:29
axwvoidspace: does that job (local-deploy-precise-amd64) just run directly on the jenkins machine?09:29
axwlooks like it from the jenkins output09:29
voidspaceaxw: yes, it runs on the master09:30
fwereadedimitern, sort of -- a new machine's constraints should be immediately combined with environment constraints, and the result used to provision it09:30
axwmk09:30
voidspaceaxw: I'm not sure what specifically triggers a new job - it sometimes seems to take a couple of hours09:30
voidspaceaxw: but I'm not aware of it requiring manual intervention09:30
voidspaceaxw: I don't [believe I] have a login on that jenkins, so I can't manually start on09:31
voidspaceif one hasn't run soon-ish I'll ping sinzui or abently09:31
fwereadedimitern, a new unit's constraints should be taken by snapshotting the combination of the current service and environment constraints09:31
dimiternfwereade, ok that's where i don't get it09:31
fwereadedimitern, when creating a new machine for that new unit, it should take exactly the constraints just calculated for its unit09:32
dimiternfwereade, " a new machine's constraints should be immediately combined with environment constraints" - why not the service as well?09:32
dimiternfwereade, i.e. when deploying the first unit of a service + netCons in an env + netCons, the new machine's cons = envCons+svcCons, no?09:33
fwereadedimitern, because when I say a new machine I mean the result of add-machine, not of deploy09:33
axwvoidspace: I *do*, but only because I've been doing github things. I think it's just on a timer09:33
dimiternfwereade, or, alternatively machineCons = svcCons (assuming svcCons += envCons)09:33
axwI'm wary of kicking one off in case it buggers up the scheduling09:33
fwereadedimitern, when creating a machine for a specific unit, there aren't any other machine constraints -- we just take them from the unit09:34
dimiternfwereade, right, so if provisioning a machine just like that, not for deploying a unit09:34
dimiternfwereade, use the envCons, if a deployment is involved, use svcCons09:34
fwereadedimitern, yeah -- when provisioning a machine *not* for a unit, there's no service in the picture, just modify envCons with whatever was specified for that specific machine09:35
dimiternfwereade, ok, i think it's clear enough for me now, i can follow what's happening in that test09:35
fwereadedimitern, cool09:35
voidspaceaxw: ok09:36
jam1fwereade: dimitern: I saw that you at least opened up the doc I sent about API versioning, any comments, or just haven't gotten to reading it yet09:43
fwereadejam1, sorry, it's in my tab queue09:43
jam1np09:44
jam1I fully understand09:44
jam1fwereade: since you're around, shall we try to decide what actual URLs we want to connect to?09:51
jam1https://host:port/ENVUUID/api09:51
jam1https://host:port/environment-ENVUUID/api09:51
jam1https://host:port/environment/ENVUUID/api09:51
jam1concretely: "https://host:port/72e9779c-0c82-4d52-83f9-50bb594941e5/api"09:53
jam1vs09:53
jam1https://localhost:17070/environment-72e9779c-0c82-4d52-83f9-50bb594941e5/api09:53
jam1https://localhost:17070/environment/72e9779c-0c82-4d52-83f9-50bb594941e5/api09:53
* c7z votes first or third09:53
* TheMue too09:53
TheMuejam1: to be more special, more for the third than the first09:54
jam1its a SMOP, but we should decide before it lands09:54
jam1TheMue: I think you mean "more specific", but sure09:54
jam1to go with09:54
TheMueiiirks, eh, yes09:54
jam1https://localhost:17070/environment/72e9779c-0c82-4d52-83f9-50bb594941e5/apilog09:54
jam1https://localhost:17070/environment/72e9779c-0c82-4d52-83f9-50bb594941e5/api/log09:54
jam1ugh09:54
jam1stupid thing refuses to let me edit in place09:55
jam1https://localhost:17070/environment/72e9779c-0c82-4d52-83f9-50bb594941e5/log09:55
jam1https://localhost:17070/environment/72e9779c-0c82-4d52-83f9-50bb594941e5/charms09:55
jam1and presumably what URL would we connect to when we are dealing with creating a new environment, /? /environment/ /api?09:55
c7zif we'll never need to serve other endpoints, first is better. third gives room for doing non-env specific things from the same server09:56
=== vladk is now known as vladk|offline
axwalso gives us a nice URL for listing environment UUIDs09:57
axwhttps://localhost:17070/environment/09:57
axwthat is09:57
dimiternjam1, haven't have time to read it, will do10:00
=== vladk|offline is now known as vladk
frankbanmgz: morning, does the CI lander handle changes to dependencies.tsv in the new git world? Or should we keep asking you to update/install packages?10:22
voidspacealexisb: ping10:25
natefinchvoidspace: 3:30am her time right now, probably not awake :)10:26
voidspacenatefinch: hah, thanks10:26
voidspacenatefinch: do you know if we still have open headcount?10:27
voidspacenatefinch: this position is still being advertised:10:27
voidspacehttps://ch.tbe.taleo.net/CH03/ats/careers/requisition.jsp?org=CANONICAL&cws=1&rid=83010:27
natefinchvoidspace: we have one open spot with at least one person who we are working on given an offer.. however, there's a couple other related openings in related teams10:27
voidspacenatefinch: cool10:29
voidspacethanks10:29
axwmgz: can you please fix https://github.com/juju/juju/pull/8 (or tell me how to)10:30
axwmgz: never mind, figured it out. just had to add "Build failed: "10:46
=== vladk is now known as vladk|offline
perrito666ok bbiab10:46
voidspacehow do I get a test suite with a replica set?10:46
voidspaceI think we have some tests that do that10:46
dimiternnatefinch, voidspace, isn't "juju engineering" the solutions / ci / ecosystem team?10:47
voidspacedimitern: heh, I don't know10:47
dimiternnatefinch, voidspace, (just looking at that open position)10:47
dimiternah, ok10:47
jam1dimitern: I think you are thinking "Juju Solutions" ?10:48
dimiternjam1, i'm confused with so many vaguely similarly sounding teams :) - the taleo offer there is for juju eng.10:49
jam1I thought there was a Juju Engineering team, but I don't see it in directory10:49
jam1yeah10:49
c7zaxw: yeah, that's it. you can also hit rebuild on the job in jenkins10:50
natefinchIt's pretty bad that people on the Juju team don't understand the job description on our jobs page :/10:50
natefinchI'm pretty sure that job that voidspace linked to is for juju core.10:51
c7zaxw: (sorry, missed ping, I blame cow-orking)10:51
natefinchbut it goes to alexis, and she's driving a couple other positions as well10:51
jam1natefinch: voidspace: the original link https://ch.tbe.taleo.net/CH03/ats/careers/requisition.jsp?org=CANONICAL&cws=1&rid=830 is, indeed, for juju-core, we currently have 2 more slots though I think we're already trying to give a couple people offers10:52
dimiternc7z, you're taking pictures of cows? :)10:52
dimiternTIL: http://www.urbandictionary.com/define.php?term=orking10:52
voidspacejam1: cool. I've had a random-but-seemingly-good person email me. I've sent them that link and told them to apply anyway.10:55
voidspacejam1: we have one very good new person starting on Monday.10:55
jam1voidspace: IIRC we have a couple more openings in related projects like JaaS, etc. so we still have a few10:55
voidspacejam1: do you know which team he will be joining?10:55
jam1voidspace: I think it is still being sorted out10:55
jam1you mean Eric, right?10:55
voidspaceyes10:55
voidspacehe should join natefinch's team...10:56
natefinchvoidspace: I think he is10:56
voidspaceawesome :-)10:56
alexisbvoidspace, pong10:57
voidspacealexisb: no problem - all sorted10:57
voidspacealexisb: I had someone contact me asking about open positions10:58
alexisbvoidspace, ack10:58
voidspacealexisb: I've told them to just apply...10:58
=== vladk|offline is now known as vladk
jam1dimitern: since your on-call-reviewer today anyway https://github.com/juju/juju/pull/2611:04
dimiternjam1, sure, looking11:05
jamjust realized, github doesn't do anything with the concept of "prerequisites" does it?11:10
jamto break up a bunch of changes into reviewable chunks.11:10
jamIs the only chance to rebase and break it into just tiny patches?11:10
jamc7z: ^^11:11
c7zyeah, I didn't find anything as an analogue11:12
jamyou could create PRs chaining one into the other one, but it wouldn't show up on the main queue, I think11:12
c7zindeed11:13
=== vladk is now known as vladk|offline
dimiternjam, reviewed11:48
jamthx11:52
wallyworld_mgz: still in other meeting, will ping soon12:01
perrito666rogpeppe: ping_12:05
rogpeppeperrito666: pong12:05
=== vladk|offline is now known as vladk
vladkdimitern: please, take a look https://github.com/juju/juju/pull/1612:07
dimiternvladk, looking12:10
dimiternvladk, reviewed12:19
vladkdimitern: thanks12:19
vladkdimitern: how to understand 'd' in the last comment?12:22
dimiternvladk, d="delete this line" :)12:22
dimiternit's a common shortcut12:22
vladkdimitern: when I fix all, how to kick the bot?12:24
jamvladk: you should push and then comment $$merge$$12:27
vladkjam: thx, I wasn't sure I have such right12:28
dimiternvladk, but before that, please rebase most of these changes to squash them into one12:30
dimiternvladk, or a few12:30
sinzuivoidspace, axw. https://docs.google.com/a/canonical.com/document/d/1ZQIJL2YNAYpDHDO4g3kwcq8tHTR8ax6L15xhAXELngc/edit#heading=h.f3goroun9jd112:32
sinzui^ ci-director looks for new revs, triggers a build of the tarball, which causes a cascade of other bugs to run as resources come available12:33
sinzuigit-merge is similar. (which is not ideal because branch merging should not be in resource contention with CI)12:34
dimiternfwereade, is there a particular reason state.Unit.constraints to be unexported?12:37
voidspacesinzui: thanks12:37
voidspacesinzui: I will read and digest12:37
voidspacesinzui: so that build is currently "waiting on resources"12:37
voidspacegiven that there are new revisions12:37
sinzuioh, CI is idle, I think almost 90% of resources are available12:38
* sinzui investigates12:38
voidspacethat's a really useful document though, thanks12:38
* TheMue is AFK for a moment12:38
voidspaceit will be useful to actually understand our CI infrastructure12:38
voidspacebut for no12:39
voidspace*now12:39
* voidspace lunches12:39
* sinzui fixes script blocking CI12:40
bodie_morning all!12:41
=== vladk is now known as vladk|offline
fwereadedimitern, yes, because they're nobody's business but state's -- it just uses them to put the unit on a suitable machine13:00
fwereadedimitern, be it one whose HCs match, or a new one which gets the constraints copied straight over from the unit13:00
fwereadebodie_, morning :)13:02
jamfwereade: overloading methods that don't match the exposure rules falls pretty much into "spooky action at a distance"/side-effect programming.13:06
fwereadejam, yeah, I know, it *is* horrible, it's just that the other one is uglier to look at13:07
jamfwereade: yeah13:07
jamfwereade: hence why it wasn't a clear "do it this way"13:07
jamfwereade: we *can* do the nested embedding until the embedding is too deep and we just copy the whole thing13:08
fwereadejam, now I think of it, I realise that when I say "I'm not sure this is horrible or brilliant" I'm actually saying "this is horrible, independent of any brilliance it may also exhibit" ;p13:08
dimiternfwereade, yeah, but in this case I need them13:08
dimiternfwereade, do you mind exporting it?13:08
jamfwereade: :)13:08
fwereadedimitern, remind me exactly what for?13:08
fwereadedimitern, I might mind a bit13:09
dimiternfwereade, for this special case deploy --to lxc:<mid> --constraints networks=good,^bad13:09
bodie_fwereade, mgz thought I should ping you about whether we want to have the Actions schema be a member of the Charm documents in State, or have its own collection, e.g. CharmActionSchemas13:09
bodie_since altering the document could impact juju upgrades13:10
fwereadebodie_, I don't think action schemas vary independently of charms so I'm inclined to keep it in there13:10
dimiternfwereade, we create a dirty container to deploy the unit on, but since it's dirty the unit assignment logic bypassed13:10
fwereadebodie_, old charms will just deserialise it out to a nil actions, right?13:10
bodie_hmmmm13:11
fwereadedimitern, is there any particular reason we can't just hook into the existing logic to create that container pre-loaded with the unit, just as we do when creating a new environ machine?13:12
bodie_I think it'll come back empty since we're using omitempty -- we were having an issue with testing where a nonexistent actions.yaml was coming back with an empty Actions (a la Config) but it was being deserialized into a nil value13:12
fwereadebodie_, and that's just on the doc, so any Actions() method can just return an empty one13:12
bodie_I have to admit I'm not totally clear on how the bson tags work13:12
bodie_yeah13:13
fwereadedimitern, it feels like it's an oversight in the assignment logic in state, which is in danger of slipping out over the boundaries of that package13:13
bodie_if anyone has a minute, I could use a sanity check here: https://github.com/binary132/juju/blob/charm-interface-actions-fix-interface-stripper/charm/actions.go#L7913:13
bodie_this function LOOKS like it should work correctly, but my tests think otherwise13:14
axwsinzui: would it be okay for me to get on the Jenkins machine and manually test the local provider at some stage? I'd like to see if we can get to the bottom of the HA thing, because it's going to be a PITA if we have to carry this code around forever13:14
bodie_specifically, I'm getting an inner map[interface{}]interface{}13:15
sinzuiaxw you sure can. You will need to be mindful of http://juju-ci.vapour.ws:8080/job/local-deploy-precise-amd64/13:16
sinzuiaxw, you can disable it if you need13:16
dimiternfwereade, well, there are a couple of state.Assign*() methods that can be used there instead, but not quite the same13:16
axwsinzui: thanks, I will probably disable it while I'm testing13:16
dimiternfwereade, first, in DeployService some trickery is done to "Create the new machine marked as dirty so that  nothing else will grab it before we assign the unit to it"13:17
axw(not tonight tho, maybe tomorrow)13:17
fwereadedimitern, I guess what I'm asking is "why is there no AssignToNewContainer?"13:18
dimiternfwereade, there is AssignToNewMachineOrContainer13:18
fwereadedimitern, that sounds like a horrible hack plastered on at a different level to all the rest of the assignment stuff13:18
dimiternfwereade, which decides to use a container only if it's specified in the constraints13:18
fwereadedimitern, sorry not ATNMOC itself13:18
fwereadedimitern, how hard would it be to put that functionality into a new state method?13:19
fwereadedimitern, I'm really not keen on exposing internals to do calculations that should be done internally but which we just happen not to13:19
dimiternfwereade, I guess instead of that hack we can use AssignToNewMachine there, assuming the dirty flag not being set is ok and also we change ATNM to take containerType and use it if not empty, rather than relying on checking constraints13:22
fwereadedimitern, I suspect it needs a bit more analysis -- I suspect that breaking down the methods we expose by the use cases we have at that layer may be moreprofitable than overloading existing methods13:25
fwereadedimitern, wait, deploy --to with --constraints as well?13:25
fwereadedimitern, ah deploy --to directive not machine-id13:26
=== vladk|offline is now known as vladk
dimiternfwereade, deploy --to lxc:XXX and --constraints networks=... specifically13:28
bodie_this is weird13:30
bodie_it's WORKING here13:30
bodie_http://play.golang.org/p/MZ-3jwPZra13:30
bodie_so I have to assume there's something wrong either with my test case, or with how I'm handling the values13:30
* perrito666 sees a thread arrive to a length that makes it easier to actually do a pdf and read it in a kindle13:40
bodie_oh, cmon... the problem was a minor logical bug in my main loop13:41
bodie_sigh13:41
bodie_I have yet to learn the universal truth that IT'S ALWAYS SOMETHING DUMB!13:41
perrito666sweet, my git vim plugin is useful again13:49
perrito666natefinch: voidspace wwitzel3 at this point I am no longer sure if we stand up or not :p13:50
natefinchperrito666:let's stand up14:00
natefinch^^ wwitzel3 voidspace14:02
voidspaceok14:03
jamdimitern: rogpeppe: I updated the proposal, sorry I didn't "lbox propose " the previous one where I had responded to your review questions, it should also be updated now if you want to read direct responses to your original requests14:04
rogpeppejam: thanks14:04
rogpeppejam: i've just responded to one of the responses14:05
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
bodie_okay, so let's say I want to rebase -i my noisy commits into something useful, but not overwrite the history of my existing branch14:18
jamrogpeppe: "/" is explicitly special14:18
bodie_would I want to checkout -b a new branch, rebase in there, and then cherry-pick the combined commit into the feature branch, for example?14:18
vladkjam. fwereade, dimitern: I've got an error in the end of bot log in lander-merge-result. What to do?14:19
vladkhttp://juju-ci.vapour.ws:8080/job/github-merge-juju/24/consoleFull14:19
rogpeppejam: really? i couldn't divine that from the docs14:19
rogpeppejam: but if experiment bears you out, that should be ok (apart from the fact that you won't get a JSON error)14:19
jcw4bodie_: what is the benefit of keeping your local branch history?14:20
jamrogpeppe: https://github.com/juju/juju/pull/26/files#diff-37b85f678233dbf691a5813acd25d6d9R21714:20
bodie_https://github.com/EugeneKay/git-jokes/blob/lulz/Jokes.txt14:21
jamrogpeppe: I did add an explicit test for connecting to random paths and have it fail14:21
bodie_jcw4 -- I have it on my github repo as well14:21
jamvladk: I haven't seen that error before. It looks like a bug in the landing script14:21
dimiternmgz, c7z, it looks like some script on jujubot fails for vladk http://juju-ci.vapour.ws:8080/job/github-merge-juju/24/consoleFull14:21
jamso you could try voting "$$MERGE$$" again14:21
jcw4bodie_: is there a specific line that I should read?14:21
jamor you could poke c7z and/or wallyworld_ etc14:22
bodie_heh, no, just found some funnies at #git14:22
c7zdimitern: looking14:22
jcw4bodie_: oh, it wasn't an answer to my question... sorry :)14:22
c7zvladk: yeah, awx hit that as well, but I'm not sure if he worked out *why* it happened14:23
c7zI'll add some debugging and requeue14:24
bodie_jcw4, the answer was that my remote has the history, so I don't like overwriting existing server-side truth14:24
voidspaceso, charm hooks can be "any executable"14:26
voidspaceso long as those executables run on every platform juju supports, right?14:26
jcw4bodie_: I'll have to explore a bit, but I'm not really considering my personal repo on github to be server-side truth at this point...  If no-one is cloning my personal repo it feels more like a sandbox to me.14:26
bodie_jcw4, in case mgz doesn't see #jujuskunkworks, I have to get moving in 30-60 minutes here to spend the day with family since they're leaving saturday -- I'll be working sat14:27
c7zbodie_: thanks (I'm mgz for today)14:27
rogpeppejam: thanks - it looks like the docs should be a little better there14:27
jcw4bodie_: yep, I saw that... hi mgz/c7z14:27
jcw4c7z: upgrade from gzip to 7zip?14:28
c7zsidegrade :)14:28
jcw4hehe14:28
mattywnatefinch, rogpeppe <- I'm picking you two at random - congratulations! Can you point me in the direction of someone who can answer some questions about the unit tests in core? Specifically I'd like to know how you use testing.RunCommand to test long-running services (if you do)14:36
natefinchmattyw: define long-running?14:37
* rogpeppe goes to look at testing.RunCommand14:37
* natefinch does too14:37
voidspacenatefinch: I can get the session back out of the state with state.MongoSession()14:37
natefinchvoidspace: that sounds good14:38
rogpeppemattyw: RunCommand isn't for that14:38
voidspacenatefinch: so I have tests that I think are now testing the right thing14:39
voidspacehowever they panic - but they don't fail!14:39
rogpeppemattyw: it's really for testing short running Commands14:39
mattywrogpeppe, what about things like the machine and unit agents?14:40
rogpeppemattyw: for testing a long running command, i'd usually test it directly (testing.RunCommand really doesn't add much tbh)14:40
voidspacenatefinch: and now they pass...14:40
mattywrogpeppe, just compile and run the binary via cmd.exec?14:41
voidspacenatefinch: WMode not set without replSet, it is set with replSet14:41
rogpeppemattyw: if you look at how they're done, they instantiate the Command directly and there's a tomb in there that's used to tear down the command14:41
natefinchvoidspace: awesome14:42
perrito666hay guys, any of you is working ona virtualized ubuntu on osx?14:43
mattywrogpeppe, I was looking for that kind of thing yesterday but couldn't see where that was going on -  I'll have anther look14:43
stokachusinzui, hi could you take another look at 130743414:43
rogpeppemattyw: see MachineSuite.TestRunStop for a simple example14:44
jcw4perrito666: sometimes... what are you seeing?14:44
stokachusinzui, was hoping to get that included in the next-stable14:44
* sinzui looks14:44
perrito666jcw4: well my current work computer does not support ram upgrading and its falling a bit short, so I noticed my mac has enough ram for both oses and Was wondering if dual booting or virtual in terms of having enough ram to compile14:45
jcw4perrito666: I found that on my macbookpro with 14.04 in a virtualbox vm with 2 cores assigned and 4GB of ram that it worked very well14:46
mattywrogpeppe, perfect, thanks for the pointers14:46
mattywrogpeppe, you're a top bloke and no mistake14:47
rogpeppemattyw: bet you say that to all the boys14:47
jcw4perrito666: my bottleneck was disk I/O, but even that wasn't too bad14:47
sinzuistokachu, it is to be fixed in the next release (one-two weeks), where as next-stable (1.20) is more than one release away14:48
jcw4perrito666: if you have an SSD it might not even be a problem14:48
mattywrogpeppe, however I answer that it's going to be awkward14:48
rogpeppemattyw: orly? :-)14:48
stokachusinzui, ah ok14:48
perrito666jcw4: tx, Ill take a look14:49
stokachusinzui,  is there a name being used for next point release?14:49
voidspacefwereade: testing the setting of write-majority turned out to be very easy14:49
sinzuistokachu, regardless of those two releases, if the fix does not require lots of new code, we can backport to 1.18.5  (because we don't think 1.120 will arrive soone enough)14:50
stokachusinzui, ok sounds good14:50
sinzuistokachu, next-stable will be named 1.20.0 when the day comes14:50
bodie_c7z, so am I making a new PR using my feature branch?  I assume the other PR has now been closed14:51
dimiternjam, fwereade, can I get an LGTM on https://github.com/juju/juju/pull/13 ?14:51
bodie_but, I got an email saying the bot had merged it14:51
bodie_which confused the heck out of me...14:51
c7zO_O14:51
c7zbodie_: looking at the pr, and the revision linked, <https://github.com/juju/juju/pull/15>14:56
c7zlooks like github just got confused when you (correctly) reverted your master branch back to be a mirror of upstream14:56
c7zbodie_: so, no harm done, carry on14:56
c7zand you can go ahead and repropose14:56
bodie_OK, cool14:57
bodie_I don't have a lot added, but I did ping fwereade about the question of charms in state14:57
c7zace14:57
bodie_or, uh, Actions docs in state.Charm14:57
bodie_my understanding is that it won't be a breaking change to add Actions to Charm docs14:57
bodie_since Actions will only change in step with changes to the Charm14:58
fwereadevoidspace, if it's truly horrible I can accept a non-unit-tested writeconcern14:58
fwereadevoidspace, but please record a bug as well14:58
voidspacefwereade: I said it *is* easy14:59
voidspacefwereade: have a look https://github.com/juju/juju/pull/1714:59
fwereadevoidspace, ah! cool14:59
fwereadevoidspace, I have clearly lost the ability to read :/14:59
voidspaceheh14:59
voidspaceyou don't need it much15:00
rogpeppefrankban, dimitern, anyone else: huge but trivial PR - https://github.com/juju/juju/pull/28/files15:00
rogpeppeit factors utils out of juju core15:00
dimiternrogpeppe, is it just a mechanical change?15:03
rogpeppedimitern: yup15:03
dimiternrogpeppe, right, LGTM then15:03
rogpeppedimitern: thanks15:03
voidspacefwereade: I understand what you mean about MongoSession15:05
voidspacefwereade: it happens to be really useful for this test... (And of course was pre-existing this mp.)15:06
voidspacefwereade: it's only used in a few places, shouldn't be hard to resolve those specific use-cases one by one15:06
fwereadevoidspace, if you happen to notice opportunities to drive-by them, I heartily endorse any and all such efforts15:07
voidspacefwereade: cool15:08
hackedbellinihi guys,15:08
hackedbelliniI'm having some problems on my juju installation using lxc. hazmat told me that you can probably help me here15:08
hackedbelliniThe problem started when I did a "juju upgrade-juju" and it went from 1.18.x to 1.19.2 (it shouldn't since 1.19.x is not a stable version, but this is another issue)15:08
hackedbelliniNow all my machines/units are spamming this on the log: http://pastebin.ubuntu.com/7573901/ (their agent-state is "down")15:08
hazmatbasically his agents don't know where the api servers are15:10
hazmatthis was post an accidental upgrade from 1.18 to 1.19 (unclear how that happened, no flags, pkg version, bug filed)15:11
hazmatwhen it was trying to go from 1.18.1 to 1.18.315:11
hackedbellinialso, since I'm already on a development version, I wish to upgrade it (since we are having a problem on 1.19.2 already fixed on 1.19.3), but when I try to "juju upgrade-juju" it says: ERROR no more recent supported versions available15:11
hackedbelliniI even tried with juju upgrade-juju --version 1.19.3, but this was the result: http://pastebin.ubuntu.com/7595390/15:11
hazmatnatefinch, ^ any ideas on how stateServers api addresses could go to empty?15:11
rogpeppehow do we track the progress of a commit that's being merged?15:12
hazmathackedbellini, can you pastebin one of the agent confs on one of the agents thats not connecting/spinning15:12
voidspacethe good news is that CI is running again15:12
voidspacethe bad news is that the local-deploy-precise-amd64 job is still failing :-/15:12
hazmathackedbellini, curious to see what it has recorded for its state server addresses15:13
voidspaceException: Timed out waiting for juju status to succeed: Command '('juju', '--show-log', 'status', '-e', 'local-deploy-precise-amd64')' returned non-zero exit status 115:13
voidspaceAh no, the real error is still:15:13
voidspace2014-06-05 14:23:13 ERROR juju.cmd supercommand.go:308 cannot initiate replica set: Closed explicitly15:13
voidspacelet's see what revision it is running, it shouldn't be trying to create a replica set if it's using master HEAD15:14
hackedbellinihazmat: yes I can. Just give me a minute, I need to ask someone with sudo powers to read it for me15:14
natefinchhazmat: I wonder if that's a problem with the HA upgrades that we did.... obviously upgrading from 18 to 19 is a huge bug, but it should still *work*15:14
natefinchhazmat: s/HA upgrades/HA modifications/15:15
voidspaceah, the last revision it ran was one from 21 hours ago15:15
voidspacein fact, it has run that revision 5 times15:15
voidspacesinzui: local-deploy-precise-amd64 ran a bunch of times with some old revisions15:16
sinzuiyeah, it was trying to finish the stalled revision under test15:18
bodie_do I need to rebase my feature branch onto master before proposing?15:18
rogpeppenatefinch, sinzui: is it possible track the progress of a commit that's being merged?15:20
hackedbellinihazmat: oh, kiki took the conf from it's own .juju instead of the juju user. He went feed the dog and he will be back soon. Then I can show the conf15:21
hackedbelliniin the mean time, he asked me to ask you if this is right: http://pastebin.ubuntu.com/7595448/15:21
hackedbellinithis is the contents of .juju/local15:21
hackedbelliniis it right for all those directories be property of root?15:21
rogpeppenatefinch: ISTR seeing someone say it was, but i can't seem to find that info15:21
sinzuirogpeppe, some, but not all tests report the branch and revision under test15:21
rogpeppesinzui: where can i see that?15:21
rogpeppesinzui: i'm kind of expecting some comment on the PR eventually15:21
sinzuirogpeppe, the test that voidspace is looking at has http://juju-ci.vapour.ws:8080/job/local-deploy-precise-amd64/15:22
sinzuithe info in the build history15:22
perrito666ha guys, could you take a look at this? the peergrouper section is to be credited to rogpeppe https://github.com/perrito666/juju/blob/update_HA_doc/doc/high_availability.md15:22
voidspacerogpeppe: once the pr is merged you get a comment from jujubot15:22
rogpeppesinzui: so is it possible to find out if the 'bot has actually seen my commit?15:22
sinzuirogpeppe, we don't have a way to saw how many revisions trunk is ahead of CI15:22
sinzuiyes...15:22
* sinzui thinks15:23
rogpeppesinzui: i'm not sure i've got the format of my commit message right15:23
voidspacerogpeppe: $$merge$$15:23
voidspacerogpeppe: as a comment on the pr, not the commit message15:23
sinzuirogpeppe, http://juju-ci.vapour.ws:8080/job/github-merge-juju/15:23
rogpeppevoidspace: i *think* i used that15:23
voidspaceheh15:23
sinzui^ I think the branch name is listed as of today15:23
voidspacerogpeppe: you should get a comment from the jujubot within 30 seconds15:23
voidspacerogpeppe: so if there's no comment, it hasn't been seen15:23
rogpeppesinzui: what should i look at in that page?15:24
rogpeppesinzui: (and is that http address stable?)15:24
sinzuirogpeppe, build history15:24
sinzuirogpeppe, yes, the address is stable15:24
voidspacerogpeppe: see the comments here for example https://github.com/juju/juju/pull/1715:24
rogpeppehmm, still no comment15:25
rogpeppei'm looking at https://github.com/juju/juju/pull/2815:25
bodie_https://github.com/juju/juju/pull/2915:26
bodie_woop woop!15:26
rogpeppesinzui: so in http://juju-ci.vapour.ws:8080/job/github-merge-juju/, i see build #25 flashing, but nothing to indicate what it might be working on15:26
bodie_c7z/mgz, let me know how that looks to you15:26
voidspacerogpeppe: comment looks good to me, but the juju bot hasn't noticed it15:26
rogpeppevoidspace: ok15:26
voidspacemgz: ^15:26
voidspacemgz: https://github.com/juju/juju/pull/1715:27
voidspacemgz: jujubot doesn't seem to have noticed the magic-merge-message15:27
voidspacemgz: gah, wrong url15:27
voidspacemgz: https://github.com/juju/juju/pull/2815:27
bodie_fwereade, PR opened for charm interface actions -- https://github.com/juju/juju/pull/29 -- feedback appreciated!15:27
c7zrogpeppe: not sure why the bot hates you15:31
c7zI'll find out15:31
c7zbodie_: looks good, thanks!15:32
rogpeppesinzui: it seems wrong that the 'bot tries the tests several times on failure15:32
c7zrogpeppe: write better tests then :P15:32
rogpeppesinzui: that means that if you get something trivial wrong, it delays everything a lot15:32
c7z(we still have issues with tests that aren't reliable when run conccurently)15:33
rogpeppec7z: i'm looking at http://juju-ci.vapour.ws:8080/job/github-merge-juju/25/consoleFull15:33
c7zit will exit out earlier when it's a build or check-catchable issue15:33
sinzuirogpeppe, It does because ec2 can fail. We see several failures each week because the mirrors are stale15:33
natefinchrogpeppe: is your membership public in juju?15:33
bodie_c7z, woot15:33
rogpeppenatefinch: i've no idea15:33
rogpeppenatefinch: what does that mean?15:33
natefinchhttps://github.com/orgs/juju/members?page=215:33
natefinchset yourself to public15:34
c7zrogpeppe: it's not, that's it15:34
sinzuirogpeppe, but we all agree tests and test environment should be 100% repliabe15:34
natefinchI don't know what it means15:34
c7zgood call nate15:34
natefinchbut you need to be publicx15:34
sinzuimgz, http://juju-ci.vapour.ws:8080/job/github-merge-juju/24/console implies the tests pass, the the handoff of the result failed15:34
rogpeppenatefinch: ah, that's probably the reason15:34
voidspacenatefinch: I need to pick something new15:36
c7zsinzui: yah, I'm debugging that15:36
voidspacenatefinch: our lane is sparse15:36
c7zI will also in the script merge make sure that kind of thing comes up red15:36
natefinchvoidspace: getting you something...15:37
jamvoidspace: given our history with --relpSet and Precise, is your new test going to fail running the test suite on Precise ?15:38
voidspacejam: hah!15:38
voidspacejam: I *really* hope not15:38
voidspacejam: however, the test that was failing was the deploy test - not the test suite15:38
voidspacejam: and we have other tests that use replSet too15:38
hackedbellinihazmat: here is the conf: http://pastebin.ubuntu.com/7595574/ (I removed some possible private information and marked them as <removed>15:41
jcw4c7z: to write private tests, I need to be in the same package right?15:46
jcw4c7z: so can I access the state_test package somehow from state package?15:46
jcw4c7z: normal imports don't seem to work very well15:46
c7zsorry, that sounds backwards15:47
jcw4:)15:47
jam1jcw4: non test code should never import test code15:47
jcw4c7z: I want to test private functions in state package15:47
jcw4jam1: agreed15:47
c7zif you have state_test, you need to import state, and any objects you need in testing must either be Public, or aliased public in an export_test.go file15:47
jam1jcw4: i missed context, is there something you need help sorting out?15:48
jcw4jam1: want to test private functions in state package15:48
jcw4to date, my tests for state have been in state_test15:48
jam1jcw4: either create a state_internal_test.go with package "state" at the top, or use export_test.go to expose the private things only in the test suite.15:49
jam1we've generally gone with export_test route15:49
jam1you should have plenty of examples15:49
jcw4jam1: I think export_test is what I'm looking for... thanks!15:49
jam1var MadePublic = madePublic15:49
jam1is a pretty common pattern15:49
jam1then it is available as "state.MadePublic" only in the test suite15:50
jcw4jam1: makes a lot of sense! cool.15:50
* natefinch twitches a little at export_test15:53
jcw4natefinch: why you no like?15:55
voidspacenatefinch: shall I pick up "add ability to set state server's state to down for maintenance"?15:56
natefinchvoidspace: sounds good15:56
voidspacenatefinch: all the others are backup related and need orchestrating - probably sequentially15:57
voidspacenatefinch: what do we want it to do?15:57
natefinchjcw4: for one, it's unnecessarily complex when you can just put the test in the same package and test the function directly15:57
voidspacenatefinch: by "turn off the api" do we mean that all subsequent calls will error with a useful error code/message?15:57
voidspacenatefinch: and if the api is off, how can it be turned on again15:58
natefinchvoidspace: I'm making this stuff up as I go along :)15:58
voidspacenatefinch: should we ensure it is safe to stop mongo once the status has been set15:58
voidspacenatefinch: hehe, great15:58
voidspacenatefinch: is there anywhere else the status can/should be visible *other* than via the api?15:59
natefinchvoidspace: https://docs.google.com/a/canonical.com/document/d/1XZN2Wnqlag9je73mGqk-Qs9tx1gvOH0-wxMwrlDrQU4/edit#heading=h.wjndmqkw7j2215:59
voidspacenatefinch: ok, reading - thanks15:59
natefinchvoidspace: there's not a ton of detail, maybe fwereade has ideas15:59
natefinch(re backup and restore)16:00
natefinchjcw4: I also don't like that now your tests are referencing a function that looks like it is exported from the package, but is not, outside of test time16:01
perrito666ptal https://github.com/juju/juju/pull/3016:01
natefinchmarkdown is so nice16:03
perrito666natefinch: not really, but the rendered result is16:03
perrito666:p16:03
natefinchperrito666: better than html... or most alternatives16:04
perrito666natefinch: true16:04
=== vladk is now known as vladk|offline
alexisbmgz, fwereade: no one was on the actions call16:11
alexisbwas it canceled for today?16:11
alexisbbodie_, jcw4  ^^?16:11
jcw4alexisb: we just got off16:11
alexisbheh16:11
alexisbI missed you16:11
alexisbwas excited I was finally going to be able to join16:11
jcw4alexisb: We can hop back on? :)16:12
jcw4alexisb: but bodie_ won't be able to make it16:12
alexisbno, I have nothing of value to add16:12
alexisbI was just going to stalk16:12
jcw4alexisb: on the other hand it might be worth it... it was a rare video sighting of mgz /c7z16:12
jcw4alexisb: I should've snapped a pic16:12
alexisbI know! I saw him this morning16:13
alexisbwe had a 1x1 earlier16:13
jcw4alexisb: I think he did it just to counter the rumours that he's a bot16:14
alexisb:)16:14
jcw4natefinch: how do you access state_test package stuff from your private state tests that are in the state package?16:15
natefinchjcw4: can't... but the reverse works... put the test code in state package and state_test can access it as if it were always in state.  that's what export_test does16:18
perrito666rogpeppe: just let me know when you are finished reviewing :) so I read the whole mail thread and correct it16:20
rogpeppeperrito666: yeah, sorry - i'd much prefer to go through making comments and send them all at once, but github doesn't like that.16:21
jcw4natefinch: I see, but if I want to test state private code using established state_test stuff (ConnSuite) I just have to export the state private code16:22
perrito666rogpeppe: not a problem, but it is easier for me to wait until the dust from mail settles :p16:22
rogpeppeperrito666: definitely16:22
hazmathackedbellini, i meant for not machine-016:25
hazmathackedbellini, one of the agents that can't connect16:25
hackedbellinihazmat: ahh, ok. This was the only one I found... but probably they are inside the lxc machines, right?16:35
hackedbelliniI'm checking it right now16:35
perrito666rogpeppe: done?16:37
rogpeppeperrito666: just writing a final comment16:37
perrito666heh ok, just asked because my phone stopped going crazy16:38
hackedbellinihazmat: http://pastebin.ubuntu.com/7595873/ http://pastebin.ubuntu.com/7595869/ http://pastebin.ubuntu.com/7595875/16:38
hackedbellinithe first is the machine agent.conf, the second is unit-jenkins and the last one is unit-landscape16:38
c7zrogpeppe: 002-move-utils seems to have failed at build16:38
rogpeppec7z: darn16:39
c7znot sure if it's you or me yet :)16:39
hackedbellinireally strange that those confs, although on the same machine, have different "upgradedToVersion"16:40
rogpeppec7z: hmm, this looks like the culprit:16:40
rogpeppeimports github.com/juju/juju/names: cannot find package "github.com/juju/juju/names" in any of:16:40
rogpeppeahh16:41
rogpeppeno juju/juju/names has gone away16:41
hazmathackedbellini, got time for a g+?16:42
rogpeppeah, it's in goose16:42
rogpeppei'm surprised the tests passed when the names package was moved16:42
perrito666rogpeppe: thanks a lot for your corrections :D16:42
rogpeppeperrito666: np :-)16:43
jcw4rogpeppe: c7z , could it be a merge issue?16:43
rogpeppec7z: hmm, weird, i don't see any references to juju/juju/names in my entire source tree16:44
rogpeppec7z: so i have to suspect some kind of build problem16:45
hackedbellinihazmat: sure. Lets go now?16:46
redirrogpeppe: I am seeing that to after a pull from upstream master16:47
rogpepperedir: you're seeing the same error?16:48
hackedbellinihazmat: I'm online there. Just call me, or pm me the hangout link16:48
rogpepperedir: do you see the same problem if you remove $GOPATH/pkg and reinstall everything?16:48
redirrogpeppe: it is in state/apiserver/networker/networker.go16:48
redirrogpeppe: it is imported in that file juju/juju/names16:49
rogpepperedir: ah, i don't have that file in my branch16:49
rogpepperedir: it must have been pushed recently16:49
redirrogpeppe: yeah I just did a pull from upstream16:50
voidspacenatefinch: I can't find it in that doc at all!16:50
c7zha, so it is a merge issue then16:51
redirrogpeppe: https://github.com/juju/juju/commit/c5a50a458a12da8e61c0f83704e53e8f3fa0f89116:51
c7zand this is why we do the testing on the post-merge build16:51
c7zshame the error message is not that helpful16:51
c7zrogpeppe: so, merging/rebasing on upstream should work16:52
rogpeppec7z: ah yes, i just merged but i should have rebased16:52
rogpeppec7z: except that i've published the branch16:52
rogpeppec7z: so i guess i'll just push the merge16:53
c7zrogpeppe: try what ever, we'll see what happens!16:53
voidspacenatefinch: I assume that by "set status to down for maintenance" that is what we want "juju status" to report16:54
voidspacenatefinch: so all api calls except that one should error16:54
voidspacefwereade: ping, you still around?16:54
voidspacehmmm... my merge failed16:55
voidspaceand it was one of the new tests that failed16:55
voidspacehmmm16:55
rogpeppeit's great to see how much faster linking is with go 1.316:56
voidspacehah, it passed on my branch - when I merge head it fails17:01
voidspacedammit17:01
c7zvoidspace: ha! the same thing17:01
voidspacewho killed my test!!17:02
voidspaceI am seeing this: [LOG] 0:00.914 DEBUG juju.state connection failed, will retry: dial tcp 0.1.2.3:1234: invalid argument17:02
rogpeppehmm, what does "Waiting for next available executor" mean17:02
rogpeppeit seems to be waiting for quite a long time17:02
rogpeppeoh here it goes17:02
c7zvoidspace: it means you're in the queue17:02
voidspacec7z: I think you meant rogpeppe ...17:02
c7zmeh, whichever :P17:03
voidspaceI'm flattered by the thought that we're interchangable, but I assure you it's not true17:03
rogpeppevoidspace: we could try it :-)17:03
=== vladk|offline is now known as vladk
voidspacehehe17:05
voidspaceI think our respective wives might object for starters...17:05
voidspaceheh, the error is "no reachable servers"17:10
voidspaceadding a time.Sleep(time.Second * 20) fixes it17:10
voidspaceso how should I *really* fix it17:10
c7z:D17:10
voidspacefind something I can usefully poll I guess17:10
voidspacethis is the issue I fixed (and reverted) as part of trying to get replicasets to work for local provider I think17:11
voidspacewe start replica set initiation, but don't wait until it is completed17:11
=== dpritchett is now known as Supernova09
=== Supernova09 is now known as dpritchett
rogpeppec7z: hmm: sudo: go: command not found17:12
rogpeppec7z: from http://juju-ci.vapour.ws:8080/job/github-merge-juju/28/consoleFull17:12
rogpeppec7z: that doesn't look as if it's anything to do with my branch17:13
rogpeppehmm, how *did* that networker change go in after names was deleted17:13
rogpeppe?17:13
c7zthat does seem like a race, lets see17:15
natefinchvoidspace: sorry, had to step out17:17
c7zrogpeppe: okay, same thing again...17:20
voidspacenatefinch: I've agreed with will to talk to him tomorrow17:22
voidspacenatefinch: meanwhile I'm trying to fix my write-majority test that fails now17:22
voidspacenatefinch: it passed reliably until I merged in head :-)17:22
natefinchvoidspace: ug, ok17:23
voidspacenatefinch: I thinjk this is the issue I fixed (and reverted) as part of trying to get replicasets to work for local provider I thin17:23
voidspacenatefinch: we start replica set initiation, but don't wait until it is completed17:23
voidspacenatefinch: so the server is unreachable until it is initiated17:23
natefinchbrb sorry17:24
c7zsinzui, rogpeppe: W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-east-1.ec2.archive.ubuntu.com_ubuntu_dists_trusty-updates_main_source_Sources  Hash Sum mismatch17:25
rogpeppec7z: awesome17:25
c7znot sure what I can do about fixing that17:25
rogpeppec7z: it's that pesky NSA again17:25
voidspacenatefinch: and I can't call CurrentStatus to poll (in this test) because I don't have a session17:25
natefinchvoidspace: hmm17:28
redirrogpeppe: looks like networker was a newly added file, with the import in it.17:30
rogpepperedir: yeah, but how did it get through?17:30
rogpepperedir: because presumably when it was merged, everything had been changed to use the new names repo and the old one was removed17:31
rogpepperedir: .... unless17:31
rogpepperedir: i bet the 'bot doesn't clean the pkg directory17:31
redirrogpeppe: seems reasonable guess17:31
sinzuic7z: yep happens all the time, the test should try 3 times because of that17:32
c7zsinzui: the issue is this is pre-test17:33
c7zare other clouds less pants about corrupting our archive mirrors?17:33
sinzuic7z: yes, the test needs to try again17:33
rogpeppehere's another trivial pull request, using the new juju/filetesting and removing the old one: https://github.com/juju/juju/pull/3117:33
rogpeppereview, anyone?17:34
sinzuic7z, rogpeppe every cloud has this problem. aws and azure are the worst, though aws might *appear* to be worse because 50% of testing happen there17:34
natefinchvoidspace: not sure what to tell you, it sounds like we need a session to be able to poll so we can know when things should succeed17:34
rogpeppesinzui: which problem? randomly corrupting network data?17:34
voidspacenatefinch: I can get another session to poll with17:34
voidspacenatefinch: although dialling at all is proving problematic17:34
sinzuirogpeppe, probably the cache.17:34
rogpeppesinzui: ha. randomly corrupting on-disk data. that's worse.17:35
sinzuirogpeppe, c7z : when http://juju-ci.vapour.ws:8080/view/Cloud%20Health/ this page lists a cloud repeated;y failing becaus of mirrors,  we raise the issue with IS17:35
voidspacenatefinch: current theory is I need to set DialDirect17:35
rogpeppenatefinch: what's the problem?17:36
rogpeppeoops17:36
voidspacenatefinch: nope17:36
rogpeppevoidspace: what's the problem?17:36
voidspacenatefinch: I *really* have to EOD17:36
* rogpeppe too17:36
natefinchvoidspace: go, it's ok, we'll figure it out17:36
voidspacerogpeppe: if you're around in the morning I'll ask you17:36
voidspacenatefinch: I can sort it tomorrow - it's my PR that's failing to merge so it's no-one else's problem17:36
rogpeppei'd very much like a rubber stamp on https://github.com/juju/juju/pull/31 before i do EOD, if poss.17:36
rogpeppeplease17:37
voidspaceg'night all17:37
sinzuic7z, I will setup a dedicated slave for the git-merge-juju job. This guarantees fast availability and mostly working mirrors, but then the test needs to cleanup17:37
c7zsinzui: my work list include unifying that script with the existing job so we can just pass in the params for an existing slave17:38
sinzuic7z, I am doing something similar for all key series-archs so that I have a reliable way to test tarballs, build packages, and test local-provider17:38
redirrogpeppe: LGTM17:39
rogpepperedir: ta!17:39
c7zrogpeppe: have people said juju/jujuutils and such to you yet?17:40
rogpeppec7z: no17:41
redirrogpeppe: who would ensure the bot does make clean or whatevs?17:41
redirand rogpeppe good evening...17:41
rogpeppec7z: not quite sure what you mean there17:41
c7zutils is a bad package name, and I'm not sure just being under the juju organisation is great namespacing17:42
rogpeppec7z: ah yes.17:42
c7zredir: make clean is not the issue, it's all in a tmp GOPATH anyway17:43
rogpeppec7z: i dunno though. they're not very juju-specific17:43
c7zit's more the stuff like lingering mongo processes and other more subtle cruft/leakage17:43
c7zrogpeppe: that's a fair point for utils, various unix/ubuntu its mostly17:43
c7z*bits17:44
redirc7z: I see17:45
c7zsinzui: ec2 seems pretty broken atm17:51
rogpeppeg'night all17:52
c7znight rogpeppe, I may try and land your bits later, otherwise requeue tomorrow17:52
jcw4rogpeppe: o/17:52
rogpeppec7z: thanks that would be nice17:52
rogpeppeo/17:52
sinzuic7z, The errors last about 30 minutes. The run unit tests jobs are doing okay. The test just needs to keep trying when It believes the cloud is at fault17:53
sinzuic7z, we have seen many AMIs *spontaneous combust* We had to select new AMIs to get tests to work17:54
c7zsinzui: should it poll on the instance when the apt call fails? spinning up new ones seems bad...17:54
c7zbut lolo, exploding amis would be a problem17:54
sinzuic7z, since git-merge-juju cargo culted the run-unit-tests, it lots the power to switch from AMI to an existing host17:55
c7zsinzui: right, I'll get that bit back17:56
sinzuic7z I think we just need that script to accept an optional path to a tarball.17:56
c7zbut we don't have an existing way to be robust agains mirror errors for the machine-per-run case as far as I see17:56
c7zsinzui: yeah, that's the plan17:56
c7zplus unifying the other changes17:57
perrito666mm, I can mention people on the commits, rogpeppe did you get any notification about that?18:01
c7zperrito666: depends on his notification settings18:05
marcoceppiI really want to use actions, any idea what release that will be available in? (Will we see it in a 1.19.x?)18:05
c7zjcw4: ^18:05
jcw4marcoceppi: c7z ; we're making progress... I'm not sure what the 1.19.x timeline looks like18:06
jcw4marcoceppi: c7z I think so18:06
c7zmarcoceppi: code is landing on trunk now18:07
marcoceppic7z: yeah, I saw the GH notifications18:07
marcoceppic7z: jcw4: is there any prelim documentation so I can start including actions in charms I'm writing now?18:07
marcoceppihas the format been outlined yet?18:07
jcw4marcoceppi: good question.. fwereade has been after us to produce those18:07
alexisbjcw4, there will be a 1.19.x release next week18:07
alexisbthen the following week we plan to release 1.2018:07
* marcoceppi is not after you guys18:07
marcoceppi/not/now/18:08
jcw4alexisb, marcoceppi in that case I don't expect Actions in 1.19.x18:08
jcw41.20 is hopeful18:08
marcoceppiyou mean 1.21?18:08
alexisbyes he means 1.21 :)18:08
c7zI thought we were dropping odd/even18:09
* marcoceppi was concerned the release pattern had changed *whew*18:09
alexisbjcw4, 1.20 will be the stable release18:09
alexisbc7z, yes18:09
* marcoceppi is concerned again18:09
alexisbso 1.21beta1 will be the first development with the tag18:09
c7zthis conversation is hillarious18:09
jcw4marcoceppi: what can we do to help18:09
jcw4c7z: I take umbrage at that... :)18:10
c7zI love working with you guys18:10
marcoceppiOh I really don't care about the release things, just actions will literally rock my world18:10
alexisbmarcoceppi, why is that18:10
* jcw4 is a little nervous about literally rocking the world18:10
alexisbjcw4, I think that just means a big party and marcoceppi is bringing the refreshments18:11
jcw4alexisb: whew18:11
marcoceppialexisb: A lot of my charms use the notion of an external repository for user maintained assets (like the wordpress charm, and now the nginx-site charm) so having an action to sync this content that a user can initaite agains the charm is funderful18:11
jcw4marcoceppi: what kind of docs would be most helpful... API docs for defining actions in your charm?18:12
marcoceppijcw4: yes, how do I add actions to my charm would be the best document18:12
marcoceppiI can also help get that doc in to the juju docs for when actions land18:12
alexisbjcw4, mgz, fwereade: it may be good to invite marcoceppi to one of your interlocks so you can hammer out details on documentation for charmers18:13
jcw4marcoceppi: we've (I've) been mostly focused on plumbing and innards... bodie_ has been working on the Actions() method on Charm... but I don't think we have a fully fleshed out API yet.18:13
jcw4alexisb: good idea18:13
jcw4marcoceppi: what timezone are you in?18:13
marcoceppijcw4: I've trancended timezones, but I'm mostly awake during EDT18:13
jcw4we meet daily at 1600 UTC18:14
alexisbheh18:14
marcoceppijcw4: cool, feel free to ping me when you do, I'm not afraid to run trunk to hammer out features landing18:14
marcoceppihammer on, even18:14
jcw4and sometimes we chat in #jujuskunkworks18:14
jcw4although we try to keep discussion in here until it gets too noisy18:14
marcoceppicool18:15
jcw4marcoceppi: the hangout link is in the topic for that channel too18:15
* marcoceppi lurks in there18:15
marcoceppiCool, thanks for the info jcw4 alexisb c7z et al18:16
jcw4marcoceppi: thanks for the added impetus18:16
perrito666anyone here is in charge-ish of https://juju.ubuntu.com/docs/contributing.html ? I have docs I want to add but I am not really sure about the criteria for the naming18:55
jcw4perrito666: jcastro maybe?18:56
perrito666jcastro: ?18:56
jcastrohi!18:56
jcastronaming which part?18:56
perrito666jcastro: the source for the docs has the doc names preceded by things like authors- charms- config- howto-18:57
perrito666so18:57
perrito666I want to add docs on HA, what is the prefix for "feature documentation"18:57
jcastrohowto-ha18:58
jcastrothough, howto-highavailability probably makes more sense18:58
perrito666yes18:58
perrito666just wanted to be sure, I gues that i used to present the data so I didnt want my doc to end in the wrong section18:58
perrito666tal18:58
jcw4did the networker.go merge issue get fixed and merged in yet?19:03
jcw4i.e. are we just waiting for CI to finish?19:03
jcw4rogpeppe, mgz ^^19:08
jcw4I don't see a PR to fix it19:09
jcw4s/PR/MR/19:10
jcw4crickets...19:22
jcw4https://github.com/juju/juju/pull/3219:22
natefinchsorry, no idea what you're talking about19:22
jcw4natefinch: tx19:23
jcw4natefinch: for the LGTM that is19:23
natefinch:)19:23
natefinchI knew what you meant19:23
jcw4:)19:23
jcw4fwereade, mgz any chance of a $$merge$$ ^^19:27
natefinchjcw4: for the thing I LGTM'd?19:34
natefinchI thought you could do that.  I can do that if you want19:35
sinzui*** I am forcing a rebuilt of the git-merge-juju job to see if the mirror issue is resolved***19:48
sinzui*** I will build a dedicated slave if this fails ***19:49
perrito666omg, that thread will never die19:53
natefinchperrito666: which one? :)19:55
perrito666natefinch: hosting projects...19:56
natefinchyep.. well, it hits close to home for a lot of people.    Both tools are so complex, it's hard to know both of them really well, so there's a lot of misunderstanding on both sides, I'd imagine.  Luckily, I don't know either of them very well, so it's all the same for me :)19:57
natefinch(bzr vs git that is.... LP vs github is a little easier to reason about, I think)19:58
perrito666its vi vs emacs19:58
natefinchyep19:58
perrito666sadly its a thread unlikely to be ended by godwin lay20:01
natefinchI've also heard that when you argue about things that people use to define themselves (I'm a python programmer, I'm a Christian, I'm a vi user)... that you basically can never win.  That attribute is so closely tied to how they identify themselves, that they can't and won't listen to reason about why it might not be good.20:01
perrito666law20:01
perrito666I will say only this, git branch is oh so much faster than bzr branches20:09
natefinchyeah, that's cause git branch does almost no work20:09
natefinchit is pretty cool20:10
perrito666also since my .vimrc was heavily tuned for working with git now I have a changed lines indicator which makes my life easier20:13
natefinchthat's cool20:14
natefinchHonestly, I'm happy to get the chance to work more in git in my daily work, since that's what most people use these days, and I'd like to be more proficient with it.   My last company used SVN, and I only used git in minor side projects, so not a lot of merging, rebasing, squashing etc.20:15
jcw4thanks natefinch ; I'm not a member of the juju team so I can't do the $$merge$$...20:21
jcw4what is the apt mirror corrupted issue on CI?20:21
jcw4mgz: ^^20:22
sinzuijcw4, I am working on it20:22
jcw4sinzui: thanks!20:22
sinzuiI was going to build an instance, but abentley  has a hack to change the mirrors that I should try first20:23
sinzuijcw4, I moved a rule from run-unit-tests into the git-merge-juju job. When we unify the job with run-unit-tests, the job will get all the goodness20:35
sinzuitests are running again20:35
jcw4sinzui: thanks!20:35
natefinchsinzui: I see a test failed here for a differnt pull request? https://github.com/juju/juju/pull/3220:36
natefinch32 and 33 at the bottom there20:36
natefinchI guess that's build 33 not PR 3320:36
sinzuinatefinch, it is spurious20:36
natefinchsinzui: figured, just making sure20:37
sinzuisorry. I moved some love from run-unit-tests into the job to get past the mirror issue. CI is using newer solutions to common problems20:37
* sinzui adds local tarball support to run-unit-tests20:37
* thumper goes to walk the dog20:53
menn0morning all21:06
jcw4menn0: morning :)21:14
=== vladk is now known as vladk|offline
thumpero/21:43
thumpermenn0: so, I told people last night that you would be taking the db-schema upgrade process to the list :)21:45
thumperhmm...21:46
thumperthe volume of email I now get is much bigger21:46
thumpergithub has very chatty reviews21:46
jcw4dimitern and davecheney are reviewers today, but not online right now...21:53
jcw4mgz, fwereade https://github.com/juju/juju/pull/3321:53
jcw4thumper: lots more chatting coming from that PR ^^21:54
thumperum...21:54
* jcw4 looks around nervously...21:55
jcw4yes...21:55
* thumper looks at menn021:55
thumper'tis friday21:55
jcw4urg... gotta get my timzone math right21:55
jcw4wait... it's not friday for natefinch...21:56
* thumper replies to waigani's email21:57
menn0HFS, go22:00
menn0ignore that :)22:00
menn0thumper: sorry I didn't see all this. I had Google Docs full screen while working on a schema migration doc22:00
menn0thumper: I will be taking that to the list22:01
menn0thumper: using Google Docs because all the details are getting lost in the email thread22:01
* thumper nods22:01
thumperack22:01
menn0thumper: I'm pretty happy with how the design is working out. Your idea cracked it.22:02
thumpercool, happy to help22:02
thumperwaigani: around?22:02
waiganithumper: yep22:03
thumperwaigani: did you want to come around today?22:03
waiganioh right22:03
thumperwaigani: I think we could nail the switch thing22:03
waiganiah, I don't have a car22:03
waiganiI've addressed all your comments22:03
waiganijust adding formatting to list now22:03
waiganiI'm down on castle st22:04
waiganihmmm ... i *might* be able to steal molly's car22:04
waiganihang on22:04
waiganithumper: I've got wheels! Shall I head your way?22:11
thumperyeah22:11
waiganithumper: I just pushed my branch - addressed everything but formatted output to list22:12
thumperwaigani: let's go over it here22:12
waiganiokay, see you soon22:12
* thumper turns on the coffee machine22:17
=== sebas538_ is now known as sebas5384
sinzuiwallyworld_, mgz: FYI https://code.launchpad.net/~sinzui/juju-ci-tools/local-tarball/+merge/22226622:38
=== sebas538_ is now known as sebas5384_
thumperdavecheney: o/23:04
bigjoolswallyworld_: do I need to come round and put a hammer through your router?23:17

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!