/srv/irclogs.ubuntu.com/2014/07/29/#juju-dev.txt

waiganithumper, menn0: trunk also kills network. I've filed a bug: https://bugs.launchpad.net/juju-core/+bug/134963500:24
_mup_Bug #1349635: Destroying a manually provisioned lxc container breaks network configuration on host computer. <juju-core:Triaged> <https://launchpad.net/bugs/1349635>00:24
axwwaigani: agh, I got that too. I think worker/networker may be screwing with things that it shouldn't.00:42
axwwaigani: did you bootstrap your host?00:43
axwI think that's what caused it for me.00:43
axwpretty sure destroying a container has nothing to do with it00:43
waiganiaxw: oh really?00:43
waiganiaxw: so just "juju bootstrap" ?00:43
axwwaigani: bootstrapping the manual provider, yeah00:44
waiganiha00:44
waiganithat's even worse00:44
axwnot entirely sure tho00:44
axwI haven't attempted to narrow it down00:45
waiganiI have to put digging into it on hold for now00:45
wallyworldthumper: can you mark bug 1349312 as in progress and assign it to someone so we can see it's being looked at?00:59
_mup_Bug #1349312: Machine stuck in "down" state because "an upgrade is in progress" <cloud-installer> <landscape> <juju-core:Triaged> <juju-core 1.20:Triaged> <https://launchpad.net/bugs/1349312>00:59
* wallyworld bbiab01:01
davecheneythumper: i've been trying to carve up my names change01:21
davecheneybut it's hard01:21
davecheneystate.FindEntity requires that we parse the tag to a Tag01:21
davecheneyand that needs to happen in every api call01:21
davecheneyand also every api call also calls a common.AuthFunc01:22
davecheneyso I can carve my change up into just the change to state.FindEntity which requires parsing in every api endpoint01:22
davecheneyor I can carve it up into a change to common.AuthFunc to take a Tag01:22
davecheneythere is a lot of crossover in each PR01:23
davecheneymaybe I should just keep it together in one01:23
davecheneyi'm down to a few failing tests in the ./apiserver/... packages01:23
davecheneywhich are all symtoms of the same thing; returning an error that isnt common.ErrPerm01:23
davecheneyand I've mostly got those fixed01:23
wallyworldkatco: i moved you lxc card back to review until the merge to master is also done01:46
wallyworldie until both branches of the bug are marked fix committed01:46
davecheneywallyworld: thumper axw https://github.com/juju/juju/pull/41102:07
davecheney^ this one is blocking my names branch02:07
axwlooking02:08
wallyworlddavecheney: i don't have enough context - are you going to add real authenticators later?02:09
axwlikewise02:09
axwdavecheney: is the intention not to assign something meaningful to getCanWrite/getCanRead?02:09
davecheneyaxw: no idea02:10
davecheneybut that logic was a time bomb02:10
wallyworldgenerally our api server endpoints need authenticators02:10
wallyworldthe ones there were placeholders for sure02:11
wallyworldpending the real ones being added02:11
wallyworldi'm not sure it's valid to remove them and all the associated logic02:11
wallyworldmaybe that's a question thumper needs to answer as you guys know the roadmap better than us02:12
davecheneywallyworld: those checks are noops02:12
davecheneywhen they are removed the code still passes02:12
wallyworldsure, now they are02:12
davecheneywhen they are not noop's someone can add them back02:12
davecheneybut right now they are actively doing the wrong thing02:12
davecheneylike authenticating invalid tags02:13
wallyworldright now, they are saying "we do not offer authentication"02:13
davecheneyworse02:13
davecheney"we say YES to anyone"02:13
davecheneyor anything02:13
davecheneyor ""02:13
davecheneyIMO they are worse than useless02:13
wallyworldisn't this wip though?02:15
wallyworldno one is using this yet02:15
davecheneywallyworld: right, when they do we can revert this change02:15
davecheneythat is what source control is for02:15
davecheneybut given how much time we generall have to go back and clean up messes02:15
davecheneyi'd say the chances of that happening anytime this cycle are pretty low02:16
wallyworldi guess i'm just not across the roadmap/plans for usermanager so can't really offer an authorative comment02:16
wallyworldwhere's thumper when you need him02:17
davecheneywallyworld: after a week in NZ with thumper02:17
davecheneyit'll be onxy doing the work02:17
davecheneymatty and green are moving back to the other thing they normally do02:17
wallyworldsure, but maybe he plans to add authentication for usermanager next week02:18
wallyworldthat's the sort of planning i hav no visibility to02:18
davecheneywallyworld: then we can revert this change then02:18
davecheneybut after spending a week in NZ with thumper02:18
wallyworldif the code is removed, the behaviour is the same as now right, everything gets through?02:18
davecheneyi an pretty confident that we're not working on that next week02:19
davecheneywallyworld: yes, the athentuication logic is currently hard coded to accept any string and give it the thumbs up02:19
wallyworldso, why remove it? there's no change in behaviour after the removal, ahd the dummy auth is clearly labeled02:19
wallyworldand avoids code churn02:20
davecheneywallyworld: because the logic only athenticates tags, not username strings02:20
davecheneythe tag commonly passed by the api is invalid02:20
davecheneybut the logic doesn't check that02:21
davecheneythe dummy auth code is wrong02:21
davecheneybecause it always says true to anything02:21
davecheneyeven when it is an invalid tag02:21
davecheneybut agian, there are no tests to even check this02:21
davecheneyI want to remove this code, it was a mistake02:21
wallyworldok. so with the stuff removed, we will still allow invalid tags though just like now. why not jusy fix the dummy auth code?02:22
wallyworldthen everything that uses it will benefit02:22
davecheneywallyworld: i am fixing it02:22
davecheneythis is pulled out of my larger strings -> names.Tag branch02:22
davecheneydo you want to review a 40 line change, or a 3,000 line change :)02:22
wallyworldah ok, sorry, as ai said, i have no contest for this02:22
wallyworldcontext02:23
davecheneys'ok02:23
davecheneythe problem is that an invlida tag shouldn't even make it this far into the api02:23
wallyworldso long as "you" promise to fix it later, i'll got and +1 :-)02:23
davecheneyit's also complicated by the fact that the usermanager accepts both a username string and a tag02:23
davecheney(a tag as a string that is)02:23
davecheneyyet, canRead/canWrite only validate the tag02:24
davecheneywhich is completely broken02:24
davecheneyand only works currently because canRead("") returns true02:24
davecheneyeven though "" is not a valid tag02:24
wallyworldyeah, sounds messy02:24
davecheneyin summary, the logic is all fucked up and these dummy functions are actively not helping02:24
davecheneyso, out they go02:24
wallyworldok :-)02:24
davecheneyta02:25
davecheneyanyone else for a second look ?02:25
davecheney(i'll wait for thumper, he won't be far away)02:25
wallyworldaxw: got time to talk?02:29
axwwallyworld: sure02:30
axwtanzanite hangout?02:30
wallyworldstandup hangout02:30
wallyworldyup02:30
thumperdavecheney: sup?02:31
davecheneythumper: https://github.com/juju/juju/pull/41102:31
davecheney^ from my larger names change02:32
davecheneysee the pasionate discussion I put forth in the backscroll02:32
thumperkk02:32
thumperdavecheney: in other words, it is big and very hard to break apart, so please review the big one?02:34
davecheneyno, bertter than that, please review this https://github.com/juju/juju/pull/41102:35
davecheneywhich is a smaller one02:35
davecheneywhich unblocks my larger one02:35
thumperack, will get food and look while munching02:36
* davecheney steps away from the keyboard02:44
wallyworldthumper: after munching can we have a chat02:44
thumperdavecheney: I'm not sure about that change02:48
thumperdavecheney: sure, right now the authenticators do nothing02:48
thumperbut there is logic there for when we change them02:48
wallyworldthat's what wallyworld said :-)02:49
thumperhow does this unblock other work?02:49
* thumper reads more of the scrollback02:49
thumperwallyworld: real authentication isn't slated for this cycle02:51
thumperbut will likely be the start of next02:51
wallyworldok, but i would have though we'd want *some* validity checks02:51
wallyworldthumper: do you have time to talk now?02:53
thumperwallyworld: sure02:53
* wallyworld creates hangout02:54
wallyworldhttps://plus.google.com/hangouts/_/g5aavwaio7thqbiatwjbdtsdrma02:54
thumperwallyworld: it says the party is over02:54
wallyworldffs02:55
wallyworldhttps://plus.google.com/hangouts/_/canonical.com/tanzanite-stand02:55
davecheneythumper: 1. the authenticators are wrong03:33
davecheneythey authenticate INVALID data03:33
davecheneynot just say yes to VALID users03:34
davecheney2. they arent' tested03:34
davecheneythis code passes 100% without them03:34
davecheneythat alone is reason to remove them03:34
waiganithumper: can we do a hangout when you have a mo?04:19
davecheneywallyworld: jcw4 just told me that the bot isn't runing gofmt checks anymore04:19
davecheneyjcw4: just pushed a branch to fix the problem04:31
thumperwaigani: sure...04:32
jcw4davecheney: tx!04:32
waiganithumper: https://plus.google.com/hangouts/_/gyvhagf6dafbd3piihpd5jtt5ia?hl=en04:36
=== uru_ is now known as urulama
wallyworlddavecheney: might not be, i'll check with martin04:45
davecheneywallyworld: it used to do this04:47
davecheneyi wonder where that check was lost04:47
* davecheney ponders on the parable about the elephant and the piece of string04:47
wallyworldtotally different scripts04:47
wallyworldwe should be able to add it back in04:48
davecheneywallyworld: eh ? the bot has nack'd changes before 'cos they aren't goformatted04:48
wallyworldgithub lander or tarmac?04:49
davecheneywallyworld: github04:50
wallyworldhmmm, in that case i have no idea, i didn't realise it had changed04:51
wallyworldseems like a mistake04:51
wallyworldi'll get it fixed04:51
hazmatis trunk broken?06:02
hazmathmm.. maybe a wierd cycle around updates, tags, and godeps06:03
voidspacemorning all06:04
hazmathmmm.. can't build 1.20.2 -> src/launchpad.net/gnuflag": bzr: ERROR: branch has no revision roger.peppe@canonical.com-20140716064605-pk32dnmfust02yab06:05
voidspaceI just did a pull and build ok06:06
axwwallyworld: you're not planning on just changing the fslock code are you? I think you can only change the template management call site to use flock06:43
wallyworldaxw: yep, not changing fslock at all06:43
axwcool06:43
wallyworldjust the template stuff06:43
axwI think the charm locks need to outlive processes, but not entirely sure06:44
wallyworldyep, just making minimal changes for 1.2006:44
fwereadegood mornings06:49
axwmorning06:49
TheMuemorning07:28
voidspacefwereade: morning (from Romania)07:34
voidspaceTheMue: morning07:34
TheMuevoidspace: Romania?07:35
voidspaceTheMue: I'm in Romania for the next month07:35
voidspaceTheMue: it's where my wife is from07:35
voidspaceso I'm currently working from the balcony of a flat in the town where her parents live07:36
voidspaceNice and sunny07:36
voidspaceTheMue: are you working on ipv6 container addressability?07:36
TheMuevoidspace: yep, I’m getting closer07:36
voidspaceTheMue: can I help or should I pick something else up?>07:37
voidspaceeither way I need coffee first07:37
TheMuevoidspace: in my scenario two hosts see each other, see the containers they run, those containers can see each other, but a container on one host doesn’t reach a container on another host07:37
voidspaceah, interesting07:38
voidspaceand confusing...07:38
TheMuevoidspace: hehe, yes07:38
TheMuevoidspace: will just update my doc with the latest scenario and share it with you then07:39
voidspaceTheMue: cool07:41
voidspaceI'm grabbing coffee - back in a bit07:41
TheMueok07:41
fwereadevoidspace, ah, nice07:41
fwereadeTheMue, would you describe your scenario a little more?07:42
fwereadeTheMue, AFAIK we haven't done the container-addressability work we'd need to get that working07:42
fwereadeTheMue, in MAAS it should work but not anywhere else07:42
TheMuefwereade: currently it’s no development stuff, it’s simply the evaluation how an IPv6 network has to be configured to enable IPv6 traffic to/from/between containers07:44
fwereadeTheMue, what are you working against?07:46
TheMuefwereade: in a first step against pure LXC. IPv6 is pretty new to me and I’m reading/trying a lot. next step has to be discussed with jam then07:49
fwereadeTheMue, yeah, to me too :)07:50
TheMuefwereade: sure ;)07:50
fwereadeTheMue, what's the end goal of what you're doing?07:50
TheMuefwereade: currently a proof of concept for IPv6 and LXC07:50
fwereadeTheMue, because I thought that the first ipv6 use case we were targeting was about just managing ipv6 *and* ipv4 addresses in dual-stack networks07:51
TheMuefwereade: later, as I understood jam, the active setting of addresses on any kind of nodes (hosts and containers)07:51
fwereadeTheMue, sorry, cannot quite parse, restate please?07:52
TheMuefwereade: hehe, yip07:52
TheMuefwereade: if I understood jam right he talked about a change where at least containers don’t work with the address the infrastructure passes them (which is link-local) but ask the API for a public adress and use it07:54
TheMuefwereade: hope I phrased it better now07:54
fwereadeTheMue, certainly, we will want that -- that's what I think of as "container addressability" and I agree it's important07:55
TheMuefwereade: yep, that’s how I understood it07:56
fwereadeTheMue, I'm not sure that doing it for ipv6 alone is quite what we're looking for at the moment though -- I thought we were aiming at working with dual-stack networks in situations that already work first of all07:56
TheMuefwereade: detailed task planning is still open, as we’re only have been us two the last week07:57
fwereadeTheMue, I'm not trying to seagull you, don't let me stop you -- but... ah ofc dimitern is on holiday in malta, probably on a boat, can't ask him right now07:57
TheMuefwereade: hehe, yeah, diving. he worked on the topic too before he left07:58
TheMuefwereade: but jam will be back tomorrow, so you can talk to him then07:59
fwereadeTheMue, cool, thanks07:59
TheMuefwereade: yw08:00
TheMuefwereade: how has your trip been? stressful?08:00
fwereadeTheMue, new zealand is lovely, travelling there not so much08:02
fwereadeTheMue, not so stressful really08:02
fwereadeTheMue, I actually wrote some code which made a nice change08:02
TheMuefwereade: but surely a very long flight08:02
fwereadeTheMue, yeah, pretty much all weekend both ways08:03
TheMuefwereade: would like to visit NZ once too08:03
fwereadeTheMue, 2 full working weeks of travel in 1 week :/08:03
TheMuefwereade: hard. with a stop in Hongkong or Singapure?08:04
fwereadeTheMue, dubai, bangkok, sydney, christchurch, dunedin08:05
TheMuefwereade: ouch! so many? uuugh08:05
fwereadeTheMue, yeah, was a bit much :)08:06
fwereadeTheMue, at least I didn't have to stop in tripoli, which the original tickets had08:06
fwereadeTheMue, but emirates was kind enough to not send me through there while the airport was being actively bombarded08:06
axw:o08:06
axwstop over in libya, via ukraine08:07
TheMuefwereade: eh, hey, it has been planned as a business trip, no adventure tour08:07
TheMueaxw: you forgot syria08:07
fwereadehaha08:08
voidspacefwereade: you're in NZ now?08:23
voidspacea sprint?08:23
voidspaceI understood the ipv6 work was to support our telco customer who required it08:23
voidspaceNZ is lovely, I was there last year. But I only explored the North Island.08:24
fwereadevoidspace, back now08:25
fwereadevoidspace, bit scrambled mentally still08:25
voidspacefwereade: ah08:25
voidspacefwereade: yeah, long journey. About as far as you can go in fact.08:25
fwereadevoidspace, yeah, which is why I raised a bit of an eyebrow at what TheMue was doing08:25
fwereadevoidspace, indeed :)08:25
voidspacefwereade: ah right - because for that we need ipv6 support, but we don't yet need nested container support08:26
voidspacehmmm08:26
fwereadevoidspace, I'd kinda expected that the ipv6 work that'd actually be delivering value is the stuff we talked about with jamespage and rbasak -- private-address and private-address-ipv6, and setting the right ones in the right situations08:26
voidspacefwereade: that sounds right, although in an ipv6-only scenario I'd hope that juju would "just work"08:27
voidspaceif machines/providers report ipv6 addresses we use those without problem08:28
voidspaceand we've fixed some issues around that08:28
fwereadevoidspace, yeah, it turns out that what we actually need is dual-stack support for the relation addresses08:28
voidspace(e.g. no longer explicitly dropping ipv6 addresses, passing the right flags to mongo)08:29
voidspacefwereade: ok08:29
voidspaceand as you say, dimiterm is our real expert here08:29
voidspacealthough I'd expect jam to be pretty clued up as to the roadmap08:29
fwereadevoidspace, yeah, mongo on ipv6is another of the details I keep forgetting about ;)08:30
voidspacefwereade: that should be done08:30
fwereadevoidspace, brilliant08:30
voidspacebarring horrible mongo bugs - like the fact that mongo can't parse ipv6 addresses08:30
voidspace:-)08:30
voidspaceso long as you stick to the format they don't manage to internally screw up you're alright though08:31
voidspace(you must use ::1:port format, and not [::1]:port nor a bare address without a port)08:31
fwereadeeww :)08:34
bodie_if anyone has a few minutes to rip up my code so I can make a semblance of usefulness tomorrow, would be much appreciated! https://github.com/juju/juju/pull/41508:38
bodie_(4:30am est right now -- I need to sleep the sleep of the dead)08:38
voidspaceTheMue: you got the link to your doc?08:53
TheMuevoidspace: one moment08:55
voidspacesure08:58
mattywmorning folks09:36
voidspacebrb, back soon09:40
voidspaceTheMue: I may be a couple of minutes late to standup09:40
voidspaceTheMue: not long though09:40
TheMuevoidspace: we’re only we both ;)09:43
voidspaceTheMue: oh!09:43
voidspaceTheMue: where is jam ?09:43
TheMuevoidspace: national holiday09:46
voidspaceah09:46
perrito666good morning10:04
voidspaceperrito666: morning10:07
=== nate_ is now known as natefinch
wallyworldhazmat: you around?10:36
natefinchwhelp, it's gonna be another long day.  Had totally reinstall the OS this morning... recopying my home directory now, but hello reinstalling everything.10:37
perrito666natefinch: ouch10:47
perrito666for next time this happens, there is a dpkg invocation that might be of help there10:48
natefinchin theory you should be able to reinstall on top of the old installation and it'll keep your home directory, but the installer said there was no OS installed, which is.... interesting10:48
natefinchI think my OS was f'ed up somehow. No idea how, but if the installer can't even tell there's an OS there... something is pretty screwy10:50
natefinchnow I have to figure out if I overwrite all my dot files, if it'll muck up this install10:51
natefinchcurrent status: restoring my backed up trash folder.  Sigh.  I wonder how much of my backed up data is just filecaches, trash, and downloaded installers11:20
axwwallyworld: running late again tonight. if you can hold off for 30 mins I can probably make the standup11:29
axwotherwise: I did more mongo 2.6 stuff11:29
axwcouple of PRs in the queue11:29
wallyworldaxw: it's my wife's birthday today so i want finish the stand up and have a drink11:30
wallyworldbut any other time i could delay11:30
mgzis katco on yet? we could do it early instead11:31
wallyworldmight be too early11:31
axwwallyworld: fair enough :)11:31
natefinchhey, reinstalling made workspaces work on my machine finally11:42
perrito666lol11:45
natefinchhopefully copying over all my dotfiles will mean I don't have to reconfigure everything to work the way it used to.... but I'm not too optimistic12:04
hazmatwallyworld, am now12:04
wallyworldhazmat: could you reply to the email about the api endpoint changes as per the bug you want backported?12:05
natefinchlike... how the hell do you turn off sound effects on Ubuntu?  That's always my first stop when installing Windows... turn off all the damn sounds.  Computers should be seen and not heard12:05
wallyworldhazmat: i'm not 100% across the exact changes as i didn't do the work12:05
hazmatwallyworld, sure12:06
wallyworldty12:06
perrito666natefinch: which sounds?12:14
perrito666natefinch: I think you installed the wrong OS :p12:15
wwitzel3natefinch: dconf-editor will let you disable most sounds that annoy you.12:23
perrito666wwitzel3: natefinch also there is a mute button :p12:23
natefinchperrito666: the startup sound, for one.... there's also an annoy ploink sound that happens occasionally and I don't exactly know what causes it.12:24
natefinchperrito666: mute only works so long as I don't actually want to hear music or videos or hangouts12:24
perrito666you said you did not want to hear your computer :p12:25
wwitzel3natefinch: /usr/share/sounds/ubuntu is where the files are, you can always just rename the ones you don't want with .mute12:25
voidspaceTheMue: I'd still love a link to your doc12:25
voidspaceTheMue: plus any suggestions as to what I might usefully work on12:25
natefinchthat's not the computer, that's media.  Things ploinking is hearing my *computer*12:25
voidspaceTheMue: none of the things in the kanban queue looked plausible for me to start12:26
TheMuevoidspace: you should have get a mail12:26
voidspacewwitzel3: natefinch: morning from Romania12:26
voidspacewwitzel3: natefinch: actualy 3:30pm more or less12:26
voidspaceTheMue: ah, ok - I'll check12:26
TheMuevoidspace: when I shared the doc with you12:26
voidspaceTheMue: thanks12:26
perrito666hi voidspace, seems that moonstone in romania is becoming a trend :p12:26
wwitzel3voidspace: o/12:26
natefinchvoidspace: howdy.... how was your vacation?12:26
voidspaceTheMue: hmmm... no12:26
voidspacenatefinch: EuroPython, it was cool12:26
TheMuevoidspace: currently I changed the setup below a bit12:27
voidspacenatefinch: lots of love for logstash backed by Elasticsearch for distributed logging12:27
wwitzel3yeah, people love some ELK12:27
hazmatwallyworld, also the fix in trunk for that issue is broken.. it turned a list into a scalar.12:31
hazmatwallyworld, http://pastebin.ubuntu.com/7894639/12:32
katcowallyworld: happy birthday to your wife!12:35
perrito666katco: in my country that is practically an insult :p12:36
katcoperrito666: lol12:36
katcoall things are impermanent. no use in fighting it :)12:36
* perrito666 's chair armrest breaks apart while he was using it to get up and now he has 2 hurting fingers bc his hand landed on a very hard 5mm steel piece12:49
perrito666that hurts12:50
katcoouch =/12:51
* perrito666 tries to shop online for a chair not made of plastic12:51
* perrito666 fails12:51
perrito666wallyworld: https://pbs.twimg.com/media/BtQnfw2CYAIh123.jpg12:57
katcoTheMue: you around?13:04
TheMuekatco: yep13:04
katcoTheMue: i've been tasked with backporting https://bugs.launchpad.net/juju-core/+bug/131122713:05
_mup_Bug #1311227: juju api-endpoints has no way to distinguish public and private addresses <api> <regression> <juju-core:Triaged by themue> <juju-core 1.20:Triaged> <https://launchpad.net/bugs/1311227>13:05
katcojust want to double-check; this looks like the PR for that? https://github.com/juju/juju/pull/20813:05
TheMuekatco: yes, exactly13:05
katcoTheMue: great, i'll cherry that and be on my way :) thank you!13:06
TheMuekatco: yw, it’s a small change13:06
TheMuekatco: it seems to need a change13:12
katcoTheMue: ?13:13
TheMuekatco: if I understand hazmat correct (see last comment), we have to return [0:1] instead of [0]13:13
TheMuekatco: so that the rendering as JSON or YAML would have the correct format13:14
TheMuekatco: see http://pastebin.ubuntu.com/7894639/13:14
katcoTheMue: ah. not sure what the thing to do is. wallyworld pretty urgently wanted this backported so we could cut 1.20.313:15
katcodo we usually fix further bugs before backporting?13:16
TheMuekatco: the current change only returns one string, the former one returned a slice with one string13:16
TheMuekatco: in this case the renderings are different13:16
katcoTheMue: yeah i see that. so i guess you're saying we wouldn't want to backport before fixing this issue?13:17
TheMuekatco: I would change the backport in a way that it returns the slice and change the current trunk to it in a second issue for the 1.21 again13:18
katcoTheMue: gotcha. i'll see what i can do. thanks for the guidance :)13:19
TheMuekatco: has been an interesting feedback by hazmat for me too13:20
TheMuekatco: absolutely missed that beside the data we also changed the type and that this influences the rendering13:21
TheMuekatco: shall I quickly do the change on trunk?13:24
katcoTheMue: sure, if you feel like it! i'm still getting going (still earlyish here)13:30
TheMuekatco: ok13:31
katcoTheMue: sounds like it should be a 2-char change?13:31
TheMuekatco: exactly ;)13:33
hazmatTheMue, correct13:36
hazmatTheMue, katco as long as your doing that per state server13:37
hazmatand extending the result slice13:37
TheMueyep13:38
natefinchsinzui: want to go to Romania?13:59
voidspaceI have somewhere to stay if you do...14:00
perrito666sinzui: http://i1.kym-cdn.com/photos/images/facebook/000/001/384/Atrapitis.gif14:01
voidspacehah :-)14:02
natefinchperrito666: haha14:02
perrito666sinzui: natefinch says you have to go see this guy http://upload.wikimedia.org/wikipedia/en/0/00/CountDracula6.jpg14:02
voidspaceTheMue: I *just* got an email saying you shared the doc with me :-)14:02
TheMuevoidspace: heya, only hours later14:03
voidspaceright :-)14:03
sinzuiperrito666, I understand Dracula's Castle is for sale. It could be a new Disney attraction14:03
TheMuewho is OCR today?14:03
perrito666TheMue: fwereade14:03
voidspacethere are lots of "dracula's castle"14:04
TheMueI’ve got https://github.com/juju/juju/pull/417, a quick change.14:04
TheMuefwereade: ^^^14:04
perrito666sinzui: if disney keeps buying things we will soon see a crossover of avengers + jedis vs vampires14:04
perrito666natefinch: standup14:05
sinzui:)14:05
voidspacesounds fun14:05
natefinchperrito666: thanks, one sec14:06
voidspacealthough jedis plus vampires versus avengers maybe14:06
fwereadeTheMue, is that really addressing the bug? I'm not convinced it should be throwing away all the addresses14:11
fwereadeTheMue, it's definitely good that it's a list again, true14:11
fwereadeTheMue, but don't we want the public addresses for all the state servers?14:12
TheMuefwereade: if I remember correctly we decided to do it this way because of the problems to determine which address is public and which not14:13
TheMuefwereade: depending on the environment and its address range (e.g. in private clouds)14:14
fwereadeTheMue, dammit, do we still have addresses in state that don't know their scope?14:15
TheMuefwereade: apiendpoint.Addresses simply is a string slice :(14:16
fwereadeTheMue, grar, ok14:17
katcofwereade: TheMue: it sounds like there may be a larger issue here. just some context to try and represent wallyworld's request: i think he wanted this backported ASAP so we can do a cut on v1.20.3, so i think whatever is safe, but quick would be preferred.14:19
fwereadekatco, yeah, agreed, I just LGTMed it slightly grudgingly14:19
katcofwereade: i know that pain! :) ty!14:19
fwereadekatco, we evidently should be storing addresses with a sensible scope in the first place, and I *think* that should be possible now14:20
TheMuefwereade: yeah, I once started with a kind of filtering: https://github.com/TheMue/juju/commit/9dce055bac4eb3fa275a007584894eace0d8284114:20
fwereadekatco, modulo all the tedium of dealing with old API versions etc etc14:20
TheMuefwereade: but then we had the discussion about it14:20
TheMuefwereade: but storing the socpe directly with the address is better, yep14:22
fwereadeTheMue, we might not even need to do that client-side -- we could plausibly just make sure we only return addresses with a sensible scopein the first place14:22
perrito666query fwereade14:23
perrito666lol14:23
perrito666that was /query14:23
TheMuefwereade: sounds good, yes. are there cases a client could be interested in private addresses too?14:23
fwereadeTheMue, I fear that's not impossible -- in general I think we only know what addresses make sense if we know where people want to connect *from*14:25
TheMuehmm, yeah14:25
rogpeppe1fwereade: gentle ping re: my last suggestion for charm.URL vs charm.Reference in the juju-dev thread. We'd quite like to move forward with some solution.14:28
* fwereade looks back fretfully14:29
* TheMue just fetched a Ben & Jerry’s Chocolate Fudge Brownie against the warm weather14:32
fwereaderogpeppe1, ah, hmm: I sorta see where you're coming from, but it also feels like most places should be parsing urls and only falling back to parsing references where that fails -- and that having a reference implies a separate code path that needs to better qualify the reference?14:34
fwereaderogpeppe1, although, heh, a URL may itself want to be further qualified by looking up the best revision14:34
rogpeppe1fwereade: anything that's a URL is also a Reference14:35
rogpeppe1fwereade: but not vice versa14:35
rogpeppe1fwereade: the case i'm specifically needing to deal with here is that we need to marshal and unmarshal series-agnostic URLs and there's no decent way of doing that currently14:36
fwereaderogpeppe1, ok, that makes sense, I think14:37
rogpeppe1fwereade: cool, thanks14:38
fwereaderogpeppe1, I still feel there's something a bit off about having the same type underneath -- would it make sense to you to define them separately?14:38
rogpeppe1fwereade: i don't really see why that's useful14:38
fwereaderogpeppe1, I'm more concerned that reusing the same structure for two different purposes is turning a coincidental similarity into something more14:40
rogpeppe1fwereade: it's surely not a coincidental similarity14:40
fwereaderogpeppe1, "coincidental" is slightly too strong a word, true...14:40
rogpeppe1fwereade: and in fact redefining the fields is exactly equivalent14:40
fwereaderogpeppe1, I'm mostly nervous I'll see people casting between them14:41
rogpeppe1fwereade: they can do that even if the fields are separately defined14:41
fwereaderogpeppe1, so they can14:43
* fwereade shudders gently14:43
fwereaderogpeppe1, ok, consider objections withdrawn14:43
perrito666fwereade: can I get a moment of you in hangout?14:43
* perrito666 irq's14:43
rogpeppe1fwereade: thanks14:43
katcorogpeppe1: hey you maintain godeps, right?14:43
rogpeppe1katco: i do14:43
fwereadeperrito666, yeah, set one up, with you in 3-4 mins14:43
rogpeppe1katco: and i'm aware it has a rather annoying bug with godeps -u currently :-)14:44
katcorogpeppe1: could i request that in the event of an error, it return an error code to the shell? :)14:44
rogpeppe1katco: it *should* do :-)14:44
rogpeppe1katco: can you provide a repro case?14:44
katcorogpeppe1: hm let me see14:44
perrito666fwereade: https://plus.google.com/hangouts/_/g4hpll6qr6xz4jfhqotbeap4dua14:45
rogpeppe1katco: it looks to me at a quick scan that it's doing it ok14:46
katcorogpeppe1: same here. i ran into something last night... i'll let you know if it's repro or not :p thanks :)14:46
rogpeppe1katco: np14:46
perrito666ericsnow: ill go back to restore, let me know if you need anything else from me15:00
ericsnowperrito666: will do15:00
katcoTheMue: ty for landing that so quickly! backporting now :)15:04
TheMuekatco: yw, you’ve seen it’s only a quick and dirty fix15:04
katcoTheMue: i think that actually might be best case in this situation.15:05
katcoTheMue: just b/c of the urgency of cutting v1.20.315:05
TheMuekatco: yes, here a better solution would last too long15:05
katcoTheMue: (putting 3 years of german class to work): danke!15:06
TheMuekatco: wunderbar :D15:06
katcoTheMue: haha15:06
TheMueh515:07
bodie_good morning #juju-dev :)15:10
katcogood morning bodie_15:10
katcoTheMue: i'm still relatively new to backporting w/ git.. do i cherry all the commits in your PR in order? or can i just do the last one in the original PR?15:13
TheMuekatco: I have to admit, I’ve so far never tried it.15:15
TheMuekatco: surely somebody else has more experience here15:15
katcoTheMue: ok, thanks :) i'll see what google has to say in addition15:15
katcoTheMue: i suppose this is a use-case for squashing15:16
perrito666ok, question to all:15:21
perrito666I have a file on a client machine and want to get it into environ storage, what is the preferred way to get there15:22
perrito666?15:22
gsamfirakatco: here's a great article about cherry-picking: http://wiki.koha-community.org/wiki/Using_Git_Cherry_Pick15:26
katcogsamfira: ty! i'll give it a read15:27
gsamfiramy pleasure :)15:27
katcomgz: not entirely sure this CI failure is b/c of my code. can you have a look? http://juju-ci.vapour.ws:8080/job/github-merge-juju/154/console15:39
katcoi'm going to resubmit in the meantime...15:45
bodie_katco, something I like to do is just rebase on master to get my commits to the top of the pile, then merge to the branch I'm trying to land15:48
bodie_then rebase -i against master, and fixup all but the top commit, reword that one15:48
bodie_not sure if that's what you're looking for, but it's pretty clean15:49
bodie_that's something I've learned since working on this project, I always used to simply merge, but I think it makes for a very usable log15:49
bodie_of course, you might be talking about a completely different use-case for git, in which case feel free to pipe this to /dev/null15:50
katcobodie_: thanks for the tip! in this case i'm trying to go from master -> backport branch.15:51
katcobodie_: cherrypick works just fine for me, the thing i'm wondering about is if there's a way to grab an entire PR instead of cherry picking all the discrete commits in PRs15:52
bodie_I imagine the best way would be to cherry-pick <old hash>..<new hash> assuming the ones you want are in a continuous range15:53
bodie_if they're not, perhaps do it anyway and rebase -i simply deleting the undesired entries15:53
bodie_although15:53
bodie_you can checkout pr's15:53
bodie_but that's kind of hacky and ugly and makes your fetches enormous15:54
bodie_at least, the way I have it set up15:54
bodie_ymmv15:54
bodie_https://gist.github.com/piscisaureus/334224715:54
bodie_apparently there's also this15:55
bodie_https://help.github.com/articles/checking-out-pull-requests-locally15:55
bodie_if you don't want to permanently add the ability15:55
katcohey cool :)15:58
=== psivaa is now known as psivaa-bbl
katcobugger... CI is going to fail again looks like. mgz are you there?16:21
mgzkatco: am now, but it's not the end of the world to let a failing run just complete16:45
katcomgz: yeah, just wondering why it failed. i do see some kvm stuff in there now i'll have to look at after i land this backport16:45
katcoinitially i saw a bunch of mongo stuff: PANIC: action_test.go:1: MachineSuite.TearDownTest16:46
katco 16:46
katco... Panic: Cannot drop MongoDB database juju: local error: bad record MAC (PC=0x4144D6)16:46
katcohttp://juju-ci.vapour.ws:8080/job/github-merge-juju/154/console16:46
mgzthat's a know intermittent thing, but there's also a nill deref in kvm BrokerSuite?16:48
katcoyeah, have to look at that. i didn't touch the brokers, but it's probably related to my changes somehow16:49
mgzkatco: just see if you can repo locally first, you also have the second run to compare with16:53
katcomgz: will do, thanks. working on some other test failures in this backport =/16:54
=== jrwren_ is now known as jrwren
=== Ursinha-afk is now known as Ursinha
fwereadekatco, we're pretty sure the "bad record mac" stuff is a mongo 2.4 bug -- if you're seeing it against 2.6 that's worth making noise about17:17
* fwereade supper17:18
* perrito666 supra 17:18
perrito666man, that was a better joke in my head17:18
jcw4perrito666: lol17:19
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
perrito666sinzui: I submitted a fix for https://bugs.launchpad.net/juju-core/+bug/1342937 and its merged :(18:07
_mup_Bug #1342937: Juju restore  fails Could not get lock /var/lib/dpkg/lock <backup-restore> <ci> <regression> <juju-core:Triaged by hduran-8> <https://launchpad.net/bugs/1342937>18:07
sinzuiperrito666, update the bug to fix committed18:07
perrito666ah apologize, I forgot that does not happen anymore18:08
sinzuiperrito666: I miss that feature too18:08
perrito666there, changed and sent a mail in response18:09
katcohow do i connect to juju's mongo instance using the mongo shell? i do mongo localhost:37017, but i receive "Error: DBClientBase::findN: transport error: localhost:37017 ns: admin.$cmd query: { whatsmyuri: 1 } at src/mongo/shell/mongo.js:14718:14
katcoexception: connect failed"18:14
sinzuikatco, juju-db doesn't have js support18:15
jcw4katco: one thing I've found is that to connect you need to specify --ssl18:16
katcojcw4: that worked, thank you :)18:16
jcw4but I actually haven't figured out how to connect to juju mongo and actually poke around in the collections... did you get that far?18:17
jcw4I always get authentication issues and I haven't figured out the incantation yet18:17
katcosinzui: so how do i explore juju's mongo instance? are you saying it doesn't support the mongo frontend? sorry, i'm pretty unfamiliar with mongo18:17
natefinchperrito666: ^^18:18
katcojcw4: obviously not :p18:18
jcw4katco: lol18:18
natefinchperrito666: didn't you document how to log into mongo somewhere?18:18
katcoi try to issue show dbs and get "listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46"18:18
=== Guest1707 is now known as bodie_
katcoi mean it looks like mongo is a js shell, so i surmise that it won't work at all b/c of sinzui's statement, but i thought that was the canonical way to talk to a mongo instance...18:19
katcoi didn't know there was another way18:19
jcw4katco: that's what I would expect too... I'm hoping perrito666 did indeed document the right way18:20
jcw4sinzui: do you mean that connecting to juju mongo using the standard mongo cli doesn't work?18:21
sinzuijcw4, that's right. I think the "mongo" command is crippled because it is backed by webkit js engine that wasn't compiled with juju-mongo18:25
jcw4sinzui: oh, very interesting.  Is there a 'right' way to poke around in mongo then or do you have to write code to do that always?18:26
sinzuijcw4, I think it is code. I don't have any experience hacking a working juju-db.18:27
jcw4sinzui: tx18:27
katcough18:27
* katco wonders how she's going to debug this test failure18:27
katco... Panic: watcher iteration error: not authorized for query on juju.txns.log (PC=0x40EF8D)18:28
jcw4katco do you have the link to the full log? Is it a recent build in jenkins?18:28
katcojcw4: https://pastebin.canonical.com/114411/18:30
katcojcw4: it's a local test failure; trying to backport a modification18:30
natefinchfriggin' a.... backing up my home directory removed the execute bit from all any applications that happened to be in there18:31
natefinchwell, backing up and restoring18:32
jcw4katco: I'm an external contractor, I don't think I have access to that pastebin18:32
katconatefinch: i think you could write a very short script to do a "file"18:32
jcw4I'm just wondering if it's a transient issue or a consistently reproducable issue18:32
katconatefinch: and chmod +x to any ELF binaries18:33
katcojcw4: try this: http://pastebin.com/4S4mwBzE18:34
katcojcw4: i'm pretty sure it's not transient given these changes are in the stack of the panics18:34
katcojcw4: but i'm new, so i'm also pretty sure i'm wrong often :)18:35
jcw4katco, i see :)18:35
jcw4katco: Panic: cannot share a state between two dummy environs; old "dummyenv"; new "dummyenv" (PC=0x40EF8D)18:36
jcw4katco: is it possible you're inadvertently spinning up two instances of the dummy environment?18:36
katcojcw4: you know i forgot, i think it's recommended to run on only 1 cpu18:37
jcw4katco: oooh... maybe two tests are running concurrently and stepping on each other18:37
katcojcw4: right18:37
katcoattempting again!18:37
katcojcw4: however, that first error doesn't seem to be related to that, does it?18:38
katco"not authorized"?18:38
jcw4katco: I wonder if the authorization was for one env, and failed against the other18:39
jcw4dunno if auth is generated per-env18:39
katcojcw4: well, i suppose i'll just see what running on 1 cpu does for me.18:39
jcw4fun18:39
katcoi completely forgot about that18:39
katcocurse my extra cores! curse them!18:40
jcw4haha18:40
=== Ursinha-afk is now known as Ursinha
perrito666natefinch: I documented many things but not how to log into mongo18:44
perrito666yet18:44
perrito666mongo -u <machine-tag> -p <statepassword> host:port/juju18:45
perrito666is simple enough to remember18:45
perrito666or mongo -u admin -p <oldpassword> host:port/admin18:46
jcw4perrito666: I think the <machine-tag> was the part I was missing18:46
perrito666which might or might not work18:46
jcw4I don't think the -u admin works, but I may have been using the wrong <oldpassword>18:46
perrito666you might, that changes18:46
perrito666anyway, bike time, bbl18:46
jcw4perrito666: have fun18:46
katcojcw4: fyi, this run seems to be going _quite_ a bit more smoothly.18:49
* jcw4 crosses his fingers18:50
katcowhat is <machine-tag> in the above example?18:51
jcw4katco: not sure... I've tried "0", "machine-0", "machine/0" to no avail, but I might be using the wrong password too... I18:53
jcw4I'm grepping the password from the local.jenv file18:53
jcw4I got those id's by taking the output of 'juju status', and inferring possible tag prefixes for the 0th machine18:55
=== psivaa-bbl is now known as psivaa
katcohttps://github.com/juju/juju/pull/419 for backport to v1.2018:56
katcojcw4: same.18:56
=== bodie_ is now known as Guest23501
jcw4ah!18:59
jcw4katco: maybe ~/.juju/local/agents/machine-0/agent.conf19:00
katcojcw4: checking...19:00
jcw4katco: bingo!19:01
jcw4grr... show collections gets the next error: not authorized for query on juju.system.namespaces19:02
jcw4:)19:02
katcohuh, so this is still failing for me: "mongo -u=machine-0 -p=<statepassword> localhost:37017/juju19:06
katcooh shoot forgot ss19:06
katcossl19:06
jcw4katco: I also just used spaces instead of =19:07
jcw4dunno if that makes a difference19:07
jcw4brb19:07
katcowell now i get login failed. hm19:07
katcothere we go!19:10
katcojcw4: but yes, get same error19:10
=== Guest23501 is now known as bodie_
katcoso it looks like my changes are failing because machineConfig did not have a environs/config/Config... will that ever occur? should i fix the tests, or change my code to account for possible nil Config values?19:39
natefinchI think that should be impossible19:41
katconatefinch: ty, nate. so fix the test(s)?19:42
natefinchyeah.... are these tests you wrote?  if not, why are they failing now, just you using a value that wasn't used before?19:42
katcothey are not. worker/provisioner/kvm-broker_test.go19:43
katcothey are failing now b/c i introduced a change in kvm.go to look at machineConfig.Config.ImageStream()19:43
katcoand apparently these tests don't set up machineConfig.Config19:43
natefinchYeah, that's kind of the problem with our tests... we mock out enough to get the code to pass, but if you deviate from what's mocked out, things explode19:44
natefinchso, yeah, need to set up a machine config19:44
katconatefinch: mocking more than 1 level is a smell i think. you end up with tests that are very tightly coupled to your exact implementation which defeats the purpose of mocking =/19:44
natefinchyeah..... a *lot* of our tests are that way, unfortunately19:46
katcoi would like to have this very interesting discussion with juju-dev, but i need to be less new.19:46
natefinchheh yeah19:47
natefinchme too ;)19:47
katcoright now i'm just breaking all the things :) and drinking from the firehouse, and using a bunch of colloquialisms19:48
natefinchheh... and typoing them in interesting ways19:50
katconatefinch! a hacker never typos. she types exactly what she means, when she means to say it! (name that movie)19:51
sinzuikatco, I am sorry https://bugs.launchpad.net/juju-core/+bug/135001119:51
_mup_Bug #1350011: lxc deploys broken on precise <ci> <local-provider> <lxc> <precise> <regression> <juju-core:Triaged> <juju-core 1.20:Triaged> <https://launchpad.net/bugs/1350011>19:51
jcw4katco: a wizard?  I dont' know why I heard Morgan Freemans voice, even though it was Gandalf's face19:52
natefinchgandalf sounds right19:53
natefinchnever late19:53
natefinchthat's what it is19:53
jcw4that's it19:53
katcosinzui: i see from the error message that this contains the fix i put in last night. how would i tell that from the meta data?19:53
sinzuikatco, which metadata? the jenkins tests?19:54
katcosinzui: well, from the launchpad bug. is there a way i would know that this was tested on the latest trunk?19:55
sinzuikatco, no, since trunk changes many times a day19:55
katcosinzui: ah ok. how did you tell?19:55
katcosinzui: where the break occurred?19:56
sinzuikatco, I forgot to include the links to the test and the specific runs, which include the branch and commit hashes19:56
* sinzui adds them19:56
katcosinzui: ah ok. sorry, trying to generalize on how i would troubleshoot if the comments weren't so good.19:57
sinzuikatco, on day I will have time to make reports.vapour.ws show all the interesting logs, artefacts, and results for each run against stable and devel19:58
katcosinzui: :)19:59
natefinchsinzui: what's up with the domain name vapour.ws anyway?19:59
sinzuinatefinch, I could afford it :)20:00
natefinchsinzui: my guess was actually going to be "it was cheap"20:00
sinzuinatefinch, clouds are made from vapour.20:00
natefinchahh yes20:01
perrito666katco: machine tag is, in the case of machine 0 machine-020:02
katcoperrito666: ty, sir. jcw4 and i figured it out, but were unable to do anything useful once connected.20:02
katcoperrito666: turns out my errors were due to running tests in parallel anyway.20:02
ericsnowwhat would be a better place to store JSON metadata for backup archives (themselves stored in env storage): state or env storage?20:03
perrito666katco: you need to do db.GetDatabase("juju") iirc20:03
katcosinzui: what's the easiest way to get a man page on that version of lxc-start?20:07
katcosinzui: nm got it20:11
katcothis version of lxc-start doesn't have a --version tag. hm.20:12
katco* flag20:13
katconeed an opinion here. would it be stupid to query dpkg for the version of lxc?20:14
natefinchyes20:18
natefinchbut also might be the only way20:18
natefinchunless we can do one of those "if it doesn't have --version, then we know what version that is"20:18
katconatefinch: blech20:19
katconatefinch: why is querying dpkg bad?20:19
natefinchjust adds a dependency.... it's not really that bad20:20
katcodo we run on other nixes w/o dpkg?20:21
katconatefinch: ^^^20:22
katconatefinch: being that this is specifically for lxc20:23
natefinchback up a sec... why do we care about the version?20:25
katconatefinch: started with this  https://bugs.launchpad.net/juju-core/+bug/134838620:25
_mup_Bug #1348386: lxc template fails to stop <clone> <lxc> <juju-core:Fix Committed by cox-katherine-e> <juju-core 1.20:Fix Committed by cox-katherine-e> <https://launchpad.net/bugs/1348386>20:25
katconatefinch: tanzanite had the idea to sniff the version to change what flag we use to pass a console-file20:26
natefinchhow about trying -L and if it fails, try -c?20:27
natefinchand I agree with Tim, using the long flags in code is better than the short flags... less possibility for confusion20:28
katcothat idea came up too. i think the downsides were: 1) there's no way to distinguish between -L not existing and something else going wrong, and 2) conditionals by error = bad20:28
katconatefinch: also, the long-names are different b/t versions as well20:29
natefinchI think conditionals by error = good a lot of the time.  Instead of guessing if something will work, just try it.20:30
katconatefinch: that is so expensive20:30
natefinchkatco: right, but --console is much less likely to get reused as something else than -c20:30
natefinchkatco: sometimes, and sometimes it's just the flag parser that'll bail early :)20:30
katconatefinch: ah, no what i meant is: what if the file isn't there, what if the shell couldn't fork a process20:30
katconatefinch: we don't know if it failed for that specific reason, or one in the set of all possible reasons20:31
natefinchkatco: yes, it's true... due to the nature of command line applications, it's hard to determine if the error is the one we think it is20:31
natefinchkatco: grep the help text? :)20:31
katconatefinch: exit codes are supposed to solve that20:31
natefinchkatco: if anyone ever returned something other than 0 or 1 :)20:31
katconatefinch: https://yourlogicalfallacyis.com/bandwagon20:37
natefinchhaha20:42
ericsnownatefinch: you have an opinion on my question about backup metadata?20:43
katcoi love that webpage :)20:43
perrito666natefinch: review backup?20:43
perrito666:)\20:43
katcobringing in dpkg does seem heavy, maybe failing is the way to go here20:43
katcohave to get wallyworld's opinion when he gets on20:43
natefinchericsnow: putting the metadata in state is the whole point, isn't it?20:44
ericsnownatefinch: the names at least20:44
ericsnownatefinch: is there any advantage to storing the metadata in env storage?20:44
natefinchericsnow: not really... env storage is just a place for blobs we don't want to burden the database with.... I think20:45
ericsnownatefinch: yeah, I guess that is my big question :)20:45
natefinchperrito666: I can review tomorrow, trying to get the windows nonce bug fixed... but there's tendrils of the code friggin everywhere20:46
sinzuikatco, sorry, I was in a meeting. I have an precise lxc that I often use to lookup what precise uses.20:55
katcosinzui: no worries, thanks for getting back. i ended up downloading the deb and extracting the man page.20:55
natefinchI have a precise vm for that, too20:55
katcosinzui: so another question: did an official build go out w/ that change in place, or was someone just testing trunk?20:59
sinzuikatco, every change to devel or stable is tested at juju-cu.vapour.ws. It does both integration testing, and unit testing against all supported architectures and series21:01
katcosinzui: ah ok. good to know that wasn't actively affecting anyone.21:02
sinzuikatco, CI just saw the changes to 1.20 then master, ran the tests, and sent me email to investigate21:02
katcosinzui: very nice. glad our process caught this :) thank you for your efforts21:02
thumperalexisb: morning, got a few minutes?21:03
wallyworldkatco: hiya, just read backscroll. well this sucks. i don't want to use dpkg because centos etc. imo best choice (out of a bad bunch) is to run --version and if that fails, we know version < 0.7 or whatever. we really do want to sniff the version and make a decision on that, cleanest approach. so all we're doing is tweaking the current implementation to makde the version detection more robust; all we care about is the binary choice21:43
wallyworldwhether version > 0.8. a single call to lx-start --version gets us that knowledge even when that call fails because --version doesn't exist21:43
katcowallyworld: sounds good, almost ready for a review (i implemented the dpkg version first just in case)21:44
wallyworldsorry :-(21:44
wallyworldkatco: also, is there an update on the backport of the api endpoints fic from master?21:44
katcowallyworld: no worries. that was the harder of the 2; wanted it ready in case you wanted to go that route. the failure version is easy21:44
wallyworldkatco: do you agree with my reasoning?21:45
katcowallyworld: yes, https://github.com/juju/juju/pull/41921:45
wallyworldgreat thanks, looking21:45
katcowallyworld: yeah absolutely. i didn't know if we were on any non dpkg systems21:45
wallyworldnot yet but real soon now21:45
* katco cheers21:45
waiganimorning all21:46
wallyworldkatco: we may need to tweak it, did you see the extra emails in canonical-juju? seems we need to output the address as a list21:47
wallyworldkatco: if you're at EOD, I can pick it up21:48
waiganimenn0, when you have a mo, can we do a hangout?21:48
katcowallyworld: i still don't think i'm on canonical-juju :(21:48
menn0waigani: yep. give me a few minutes - I'm in the middle of something21:48
wallyworldkatco: ah, bollocks, ok. i did ask. i'll follow up, sorry21:48
waiganimenn0: all good. Just ping me.21:49
wallyworldkatco: i forwarded the email21:49
katcowallyworld: err... only flaw in that proposal is that the absence of --version does not correlate with the change in -c to -L. e.g.: 1.0.0~alpha1-0ubuntu14.1~ubuntu12.04.1~juju1 does not have --version, but does have -L21:49
katcowallyworld: ty, sir21:49
wallyworldkatco: ah, ok, i was assuming not having --version was an early version thing21:50
katcowallyworld: apparently not =/21:50
katcowallyworld: you may as well pick this up, i am at EOD and need to eat etc.21:50
wallyworldkatco: so do we know if 1.0.0 alpha has an equivalent flag to --version?21:50
wallyworldsure21:50
katcowallyworld: no it does not. i'll post the man for easy reference21:50
thumperwallyworld: katco: lxc doesn't have a version21:51
menn0thumper: since I'm looking at bug 1349312 already should I assign it to me or would you prefer someone else looks at it?21:51
_mup_Bug #1349312: Machine stuck in "down" state because "an upgrade is in progress" <cloud-installer> <landscape> <juju-core:Triaged> <juju-core 1.20:Triaged> <https://launchpad.net/bugs/1349312>21:51
wallyworldwot21:51
wallyworldlxc-start --version21:51
wallyworld1.0.421:51
thumperwallyworld, katco: I was talking with hallyn about this, and the easiest thing for us to do would be to try with "--console-log" and if lxc errors with rc=1, try with "--console"21:51
katcowallyworld: i just emailed you the manpage from precise21:51
wallyworldthumper: out thinking was rc=1 sucks because that could be any error21:52
thumpercould be21:52
menn0wallyworld: older versions didn't support --version21:52
wallyworldmenn0: yes, but sadly it doesn't correspond to the switch to use -L which we were hoping for21:53
wallyworldthumper: also, if rc=1, does that guarantee that lxc-start hasn't actually start something21:53
wallyworldbecause i think the container is actually started21:53
wallyworldotherwise local provider would be totally broken21:54
thumpernah...21:54
thumperhere is what is happening21:54
wallyworldso we can't just call it twice21:54
thumperwe say: -c path/to/file21:54
menn0wallyworld, katco, thumper: I'm beginning to doubt myself about --version. It's not mentioned on the man page for the 1.0.4 but does work.21:54
menn0maybe it works for the older versions too but isn't documented21:54
thumperlxc goes, "that isn't a device, I'll ignore it"21:54
thumperand continues21:54
thumperthat is different to say "--console-log=path/to/file"21:54
thumperas old lxc goes "I dunno what you mean there"21:55
thumperimmediately21:55
thumperand doesn't try to start21:55
wallyworldah, good21:55
thumperI tested that locally21:55
wallyworldthumper: and that would be the same for -L21:55
thumperyes21:55
thumperbut please use long opts21:55
thumperI should have originally21:55
wallyworldok21:55
wallyworldkatco: sounds like we have our solution21:56
katcomenn0: i did not test it empirically, but this error wouldn't have occurred if it was supported (unless it's some other error that is rc=1 per wallyworld's earlier comment)21:56
katcowallyworld: just try it 2x?21:56
wallyworldkatco: yeah, try --console-log first21:56
thumperkatco: I'd say "try with --console-log first"21:56
thumperand if that fails, just try with "--console"21:56
wallyworldand if rc=1, fallback to --console21:56
katcowill do21:56
thumperwallyworld: good to see we agree21:56
thumper:)21:56
wallyworldyep :-)21:57
wallyworldthanks for clarifying21:57
katcowallyworld: thumper: the both of you are wrong! wrong i say!21:57
wallyworld:-P21:57
thumperI have another lxc based message coming to -dev soon21:57
thumperkatco: wrong why?21:57
katcoi hope that makes you two feel better ;)21:57
katcothumper: i'm just joking21:57
thumperok21:57
* katco has an odd sense of humor21:57
thumperI've already copped a lot of wrong this morning21:57
wallyworldkatco: you need to eat - are you ok to fix the lxc thing or did you want to EOD?21:57
menn0but wait: has anyone tried --version with an older lxc-start21:58
menn0?21:58
wallyworldthumper: i knew she was joking :-)21:58
menn0it might just work despite not being on the man page21:58
katcowallyworld: i can probably get this in rq... easy fix21:58
thumpermenn0: I bet --version came in at a different time to --console-log21:58
katcowallyworld: actually... might take longer to push to launchpad lol. maybe you should do this to get it out21:58
wallyworldmenn0: i think thumper is right21:58
thumpermenn0: I don't know, but guessing21:58
wallyworldkatco: ok21:58
menn0but if --version has always been there then we can just use that right?21:58
* thumper looks in precise21:59
wallyworldkatco: i've not heard anything from mgz about the flock stuff, have you?21:59
katcowallyworld: i have not21:59
wallyworldok21:59
katcomenn0: i did not test it empirically, but this error wouldn't have occurred if it was supported (unless it's some other error that is rc=1 per wallyworld's earlier comment)21:59
katcomenn0: the --version flag i mean22:00
katcomenn0: here is the entirity of the function that's failing: // Returns the lxc-start version22:00
katcofunc lxcStartVersion() (string, error) {22:00
katcoversion, err := exec.Command("lxc-start", "--version").Output()22:00
katcoreturn string(version), err22:00
katco}22:00
katcook have to EOD... wallyworld email if you need anything; i have my phone22:01
wallyworldnp, thank you22:01
katcowallyworld: ty22:01
thumperso at least lxc in default precise (0.7.5) has no --version on lxc-start22:01
wallyworldthumper: since we can't conclusively correlate addition of version with support for console-log, seems easiest just to check rc value22:02
* thumper nods22:02
thumperseems reasonable for now22:02
menn0wallyworld, thumper, katco: yep that sounds right22:02
menn0sorry for the noise22:02
wallyworldmenn0: no problem at all, appreciate the input22:03
menn0better to check for the actual functionality22:03
wallyworldmenn0: *if* --version were universally supported, we could have version sniffed22:03
wallyworldsince we know the version where --console-log was introduced22:04
menn0now thumper what about bug 1349312? who do you want to own that? I've started looking at it but I'm pretty sure it's a dup of bug 1318366 which looks serious and horrible.22:05
_mup_Bug #1349312: Machine stuck in "down" state because "an upgrade is in progress" <cloud-installer> <landscape> <juju-core:Triaged> <juju-core 1.20:Triaged> <https://launchpad.net/bugs/1349312>22:05
_mup_Bug #1318366: jujud on state server panic misses transaction in queue <cloud-installer> <landscape> <orange-box> <panic> <performance> <sm15k> <juju-core:Triaged> <juju-core (Ubuntu):Triaged> <https://launchpad.net/bugs/1318366>22:05
menn0I'm happy to keep looking to make sure it's a dup (should know with 20 more minutes of investigation) and mark it as such.22:05
wallyworldmenn0: thumper: can i assume you guys are focusing on working that bug to completion?22:06
wallyworldits critical we get 1.20 shipped22:06
thumperwallyworld: let me look first22:07
wallyworldok, let me know22:07
thumpermenn0: hangout to chat through this?22:07
menn0thumper: yep22:07
menn0waigani: will catch you after this hangout with thumper22:08
waiganimenn0: no rush, I've ventured down another rabbit hole in the mean time...22:08
thumpermenn0: https://plus.google.com/hangouts/_/gxnmnjsipg4yzjyqf5hat2iogqa?authuser=1&hl=en22:08
perrito666menn0: hey, have a sec22:11
perrito666?22:11
menn0perrito666: otp22:12
waiganimenn0: don't worry about catching up with me anymore22:14
perrito666wallyworld: I am supposed to tell you something as per what I talked to fwereade this afternoon but I forgot22:15
wallyworldperrito666: o/22:15
wallyworld\o/22:15
perrito666and I actually began taking notes whith a pen like the the red one here http://image.made-in-china.com/2f0j00ICetapBdaMuT/Finger-Pen-BKST08-.jpg which usually means I will remember22:15
perrito666it was something about envstorage22:15
perrito666and restore22:16
ericsnowperrito666: how to upload an archive into env storage?22:16
perrito666ericsnow: no, I pretty much figured that out22:17
ericsnowperrito666: oh, cool22:17
waiganithumper: hangout when you have a mo?22:27
waiganithumper: tests fail with this: http://pastebin.ubuntu.com/7898958/ because  provider/dummy/environs.go:711 says environ is not bootstrapped22:29
waiganithumper: even though we are calling environs.APIInfo() at the end on cmd/juju/bootstrap.go.Run22:31
waiganithumper: note that live testing works, this is just a problem with the dummy provider22:32
waiganithumper: so my question is, when does provider/dummy/environs.go.Bootstrap() get called? It needs to be executed before we can call environs.APIInfo()22:34
bodie_hey guys -- quick question.  can you point us in the right direction to demo a custom charm with some bits and pieces we've added?22:43
bodie_it should be as simple as adding a subdir and a couple of files22:43
waiganithumper, menn0 standup?23:01
thumperwaigani: coming23:01
jcw4marcoceppi: is charm-tools on github the correct repo to get charm-tools from?23:13
jcw4marcoceppi: https://github.com/juju/charm-tools23:14
alexisbthumper, I am here now23:18
alexisbif you are available23:18
thumperalexisb: can we chat after the standup?23:18
alexisbsure23:18
alexisbping me when you are done23:18
marcoceppijcw4: no. Lp is the source23:35
jcw4marcoceppi: tx23:35
marcoceppijcw4: I'll start mirroring again23:36
waiganidavecheney: what is the 'race runtime'?23:37
davecheneywaigani: http://blog.golang.org/race-detector23:41
waiganidavecheney: cool, thanks23:41
jcw4marcoceppi: on a related note - https://github.com/juju/docs/pull/13423:57

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