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

bodie_https://github.com/juju/charm/pull/4 (fwereade, mgz, rogpeppe1)00:29
bodie_(and jcw4)00:29
bachi bigjools00:31
sinzuiaxw, The unittest jobs and build action in the publish revision job uses golang 1.2 from the ~juju experimental ppa for saucy and precise01:02
axwsinzui: cool, thank you01:02
waiganithumper: you about?01:09
axwsinzui: doesn't build-revision need it too?01:16
axwsinzui: seems that juju-ci.vapour.ws still has 1.1.2, and that's where build-revision runs right?01:16
sinzuiaxw no, really01:18
sinzuiaxw we make a tarball in that step. the tarball only has source code01:19
thumperwaigani: am now01:19
davecheneysinzui: so should I try to land that branch again ?01:19
sinzuiaxw, the build step does give some confidence that it works, but the output is ignored01:20
waiganithumper: just wondering about the info cmd01:20
waiganithumper: did you catch up with fwereade about it?01:20
sinzuiaxw the tarball made into a source package for each series, then for each source package a builder of the right series and arch is provisioned. That builder gets the right golang of gccgo.01:21
sinzuiaxw, that is how Ubuntu and Lp does, so we do it too01:21
axwsinzui: except it's "set -e", so the "go build" fails the whole script if it fails?01:22
axwmmk01:22
sinzuioh, well I will remove that now. it is vestigial01:23
thumperwaigani: yeah...01:23
thumperwaigani: we should chat, let me get some food first01:23
axwsinzui: I think it's nice to have, but if we could drop it for now that'd be great01:24
sinzuiaxw, the build step is gone01:26
axwthanks!01:26
axwdavecheney: ^^   try your merge again01:26
davecheneyaxw: ok01:27
davecheneythanks01:27
wallyworldaxw: morning. will you have time today to look at bug 1240146 ? after the current az stuff is landed?01:28
axwwallyworld: sure01:29
wallyworldaxw: thanks :-) azure provider performance and bugs is becoming a hot topic01:29
axwwallyworld: ehm, I think I already did this a while ago :)01:31
axwwill look deeper, but I'm pretty sure this is resolved01:31
wallyworldaxw: i wondered about that, i figured there must be something new that we didn't know about01:31
wallyworldi didn't look too closely, just added the card01:32
axwwallyworld: I believe I added this when I did the availability set revamp01:32
wallyworldthat was post 1.18 right?01:32
axwanyway, will confirm01:32
axwyes01:32
axw1.1901:32
wallyworldso it must just be people on 1.18 complaining01:32
wallyworldand 1.20 is due out next week01:32
axwit is? okay, I better fix that local-provider HA thing then01:33
wallyworldthat's the plan - release 1.19.4 this week and turn into 1.20 if all good01:33
wallyworldthe current 1.19.4 milestone has no show stopper bugs that are recorded against it01:34
wallyworldif there's somthing to do, the bug needs to be added to the milestone01:34
axwI will add it01:34
wallyworldta01:34
axwdavecheney: what's that error? went too far and got 1.3 changes?01:35
axwoh, it's getting vet01:35
axwgroan01:36
bodie_sigh, I really need to set up my dev system in a vagrant box01:47
bodie_I want to use mongo for something I'm working on personally but I'm not confident about installing it alongside the "special" version01:48
bodie_anyone know if that should be relatively painless?01:48
bodie_I'm assuming more on the relatively painful end of the spectrum01:48
axwdavecheney: I've updated the build config to checkout go.tools as at the 1.2 release, retrying your build now01:49
sinzuibodie_, I run in lxc01:49
bodie_sinzui, did you see the lxc cluster scheduler google open-sourced today?01:49
bodie_hmmmm... so you run mongo itself in lxc if you need your own version?  I've never played w/ lxc much01:50
sinzuibodie_, I haven't01:50
sinzuibodie_, give me a moment to paste bin what I think is my last container and setup01:51
bodie_sinzui, https://github.com/GoogleCloudPlatform/kubernetes01:53
sinzuibodie_, http://pastebin.ubuntu.com/7631475/01:54
axwyou could just use the local provider, too01:55
bodie_that's awesome, thanks :)01:55
bodie_true01:55
sinzuiaxw, the juju-reports project's makefile always runs the project in the charm, and it sets a bzr server to server updates to the branch to the charm. instant updates that always run in production01:56
waiganithumper: ready when you are01:56
thumperwaigani: I have a scheduled call with  wallyworld shortly, how about after that?01:57
waiganithumper: okay, I have to do school run at 301:57
sinzuibodie_, I think I installed this the first time I used the container because it was missing something that made apps misbehave02:06
sinzuisudo apt-get install language-pack-en avahi-daemon build-essential python-dbus02:06
bodie_hmm, I just did a go install ./... from my root juju source directory, and juju bootstrap is asking me to apt-get install juju-local02:06
bodie_I don't think I want to do that02:06
bodie_do I?02:06
axwyou do if you want to use the local provider02:06
bodie_isn't that part of our repo?02:06
axwjuju-local juse installs prereq packages: mongo, rsyslog, etc.02:07
axwjust*02:07
bodie_I see02:07
bodie_it also wants to install juju-core02:07
bodie_I just don't want to override my $GOPATH/bin juju stuff02:08
axwyou'll have to ensure that $GOPATH/bin comes before /usr/bin in $PATH02:08
bodie_fair enough, that makes sense02:08
axwhurrrngh02:12
* axw has flashbacks to building The Build Guy at his previous job02:13
axwbeing02:13
bodie_heh02:14
bodie_sorry *pat pat*02:14
thumperwaigani: let me know when you are back from the school run03:05
thumperwaigani: and we can talk03:05
thumperhttps://github.com/juju/juju/pull/81 for anyone, simple, found the code lying around...03:15
thumperwallyworld: https://bugs.launchpad.net/juju-core/+bug/132915403:52
_mup_Bug #1329154: Make it possible to create the lxc templates without a running environment <local-provider> <plugin> <juju-core:Triaged by niedbalski> <https://launchpad.net/bugs/1329154>03:52
wallyworldta03:53
thumperwwitzel3: ta03:56
wwitzel3thumper: np03:56
* thumper goes to make coffee03:58
waiganithumper, menn0: ModifyUser - all tests pass.04:10
menn0waigani: we just both wrote about the same email at the same time04:10
waiganigreat minds...04:11
waiganithumper if it is okay to keep it as is, can I just remove the annotation from Tag? Or is there more to it?04:14
waiganithumper: also, did you want to talk about juju info?04:15
* thumper looks04:28
* thumper wonders what the hell he was thinking about...04:29
thumperI'm sure there was something...04:29
thumperwaigani: when you said you ran all the tests, did you mean *ALL* or just the apiserver tests?04:31
waiganilol thumper all04:31
* thumper pulls a face04:31
waiganithumper: some failed with panics, reran those and they passed04:32
thumperI'm sure the api client user manager tests would fail at least one04:32
waigani$ cd state/apiserver/usermanager/04:34
waigani.../state/apiserver/usermanager$ nolog04:34
waiganiOK: 10 passed04:34
waiganiPASS04:34
waiganiok  github.com/juju/juju/state/apiserver/usermanager2.377s04:34
waigani/state/apiserver/usermanager$04:34
waiganithumper: ^04:34
* thumper checks04:34
thumperhmm... perhaps the default json serialisation is to lower case the names...04:35
thumperthat is the only thing that makes sense there...04:35
thumperbit I seem to recall logs where that wasn't the case...04:36
thumperalthough that may have been the deserialized json04:36
thumperalthough...04:36
waiganithumper: I don't follow, where are you looking?04:36
thumperbased on what menn0 said, and that this wasn't hooked up before...04:36
thumperwe should just make the api clean04:36
thumperwhich means I should delete my backwards compatability bit04:37
thumperbecause that's dumb04:37
menn0thumper: good point04:38
waiganiokay, actually, do we even need to keep Tag then?04:38
menn0I wish I'd remember that when you made the change04:38
thumperheh04:38
thumperwaigani: I hold to my thought that the two structures are for different things04:39
thumperand we should reuse them because they are "kinda similar"04:39
thumperthat way lies pain as code moves on04:39
thumperwe never pass back password04:39
thumperfor example04:39
waiganithumper: did you see fwereade's comment on this?04:39
* thumper sighs04:39
thumperno04:39
* thumper looks04:39
waiganithumper: If I understand him correctly, he is arguing the opposite04:40
thumperwaigani: there are a lot of fwereade's comments hidden due to changing code.04:40
* thumper looks at the email trail04:40
waiganithumper: comment below04:41
waiganiso this looks to me very much like a UserInfo. What's the thinking behind having separate types? The params package really ought to be expressing the language we're using in the api, not just a grab-bag of ad-hoc structs.04:41
waiganiNOTE: there are certainly reasons to choose to split the types. I'm not sure the ones I can think of are quite good enough to justify it, but I want to be sure we've considered them.04:41
thumperyeah04:41
thumperreading and thinking04:41
thumperI think we do want to split them04:41
thumperbecause we are about to return "date created, creator, and last connection"04:42
waiganiokay, and the justification?04:42
thumperthese are not fields you send up04:42
thumpermake sense?04:42
waiganiright04:42
waiganiyep04:42
thumperso...04:42
thumperModifyUser should stay distinct from the UserInfo struct04:42
thumperModifyUser is for add/modify user client -> server instructions04:43
waiganiokay, should we remove Tag from it now?04:43
thumperUserInfo is for server-> client info04:43
thumperwell...04:43
thumperthat is an interesting question...04:43
waiganiyep, that is clear04:43
thumperwhen we create a user, we are specifying a username for them04:44
thumperthis clearly isn't a tag04:44
thumperhowever when we modify them, we may well want to define them with a tag (even though I think it is dumb)04:44
thumperas long as it is a real tag04:44
thumperbah humbug04:44
waiganiin which case we should remove the deprecated comment04:44
thumperagreed04:45
thumperand the behaviour should change...04:45
thumperbut don't do it all at ocne04:45
thumperwe have never ending feature creep04:45
thumperwe want small defined bits of work04:45
thumperwith as little extraneous bits of change as possible04:45
waiganiagreed04:45
thumperso it should change, but not in this branch04:46
waiganijust remove the comment? and add a todo?04:46
thumperno, don't touch it04:46
waiganiokay04:46
waiganiI'll remove the annotation though04:46
waiganiactually what am i saying04:46
thumperno, it is a different struct04:47
waiganiit will be like it was before, no annotations04:47
thumperright04:47
waiganiyep04:47
thumperjust add the new UserInfo04:47
waiganiyep04:47
thumperalthough add in the extra fields that landed yesterday04:47
thumperthat way the struct is obviously different04:47
thumperto the Modify User one04:47
waiganiright, cool new fields :)04:47
thumperyou may also want to update your tests to create the users with the factory04:48
waiganioh nice :)04:48
waiganiis there an example to look at?04:48
waiganior at least what package is it?04:48
thumperyes04:48
waiganisuite even?04:48
thumperand yes04:48
thumpertesting/factory04:49
waiganicool, I'll get onto it04:49
thumperok04:49
thumperwallyworld: here is another bug you could pass on: https://bugs.launchpad.net/ubuntu/+source/juju/+bug/129092004:58
_mup_Bug #1290920: non-default lxc-dir breaks local provider <local> <lxc> <regression> <juju-core:Triaged> <juju (Ubuntu):Confirmed> <https://launchpad.net/bugs/1290920>04:58
wallyworldwill do04:58
wallyworldta04:58
* thumper back later tonight for team meeting05:12
thumperteam leads that is05:13
dimiternmorning05:35
dimiternany reviewers wanna have a look ? https://github.com/juju/juju/pull/7805:43
dimiternjam, fwereade, TheMue, vladk|offline, ^^^06:05
=== vladk|offline is now known as vladk
wallyworldfwereade: i've addressed all your suggestions in that txn branch, not sure if anyone else has looked. off to soccer now, back later for more meetings \o/07:12
jamdimitern: so I'm trying to sort out where pending networks helps us. If it is just the list from the provider, can't we just list the provider when we need to?07:22
dimiternfwereade, ping07:38
rogpeppe1anyone know a decent way to easily fetch someone's pull request branch locally?07:40
dimiternrogpeppe1, it's best to add another upstream first07:41
rogpeppe1dimitern: that would mean i'd need an upstream for everyone that sends a PR07:41
rogpeppe1dimitern: which seems a bit like overkill07:41
dimiternrogpeppe1, only if you need to collaborate on another guy's branches in his fork07:42
rogpeppe1dimitern: i saw this, but it doesn't seem to correspond to reality: https://help.github.com/articles/checking-out-pull-requests-locally07:42
rogpeppe1dimitern: i don't want to do that07:42
rogpeppe1dimitern: i just want to fetch it and maybe run the tests07:42
voidspacemorning all07:43
dimiternrogpeppe1, if you're using github/hub, it's as easy as hub clone user/repo dir07:43
rogpeppe1voidspace: hiya07:43
voidspaceo/07:43
dimiternvoidspace, yo!07:43
rogpeppe1dimitern: i don't want to clone, i want to create a new branch in an existing dir07:43
* rogpeppe1 wishes the hub command had a hub-specific help07:43
axwrogpeppe1: https://help.github.com/articles/merging-a-pull-request ?07:44
dimiternrogpeppe1, then git fetch07:44
dimiterngit remote add mislav git://github.com/mislav/REPO.git07:44
dimiterngit fetch mislav07:44
dimiternrogpeppe1, ^^ that's what i'd do07:44
rogpeppe1dimitern: unfortunately github doesn't actually make the name of the remote repo clear07:44
dimiternrogpeppe1, naming is always user/repo07:45
rogpeppe1dimitern: yeah, but the "repo" might be different if the user has renamed it07:45
dimiternrogpeppe1, what?! :)07:45
dimiternrogpeppe1, why is that a concern if you're fetching something now?07:46
rogpeppe1dimitern: like my fork of github.com/juju/utils is github.com/rogpeppe/juju-utils07:46
rogpeppe1dimitern: ok, my specific example is this: https://github.com/juju/charm/pull/4/commits07:47
dimiternrogpeppe1, so? you can name your fork however you wish07:47
jam(11:22:43 AM) jam: dimitern: so I'm trying to sort out where pending networks helps us. If it is just the list from the provider, can't we just list the provider when we need to?07:47
rogpeppe1dimitern: where can i see the repo that the pull request is coming from?07:47
dimiternrogpeppe1, if you click on the commit (a58c39a in this case) it will take you to the commit, where at the top you can see the repo07:48
dimiternbinary132/charm07:48
dimiternforked from juju/charm07:48
rogpeppe1dimitern: ah, i didn't know those hex commit numbers were links07:49
rogpeppe1dimitern: thanks07:49
dimiternjam, we need to know what networks are there from state07:49
dimiternrogpeppe1, np :)07:49
dimiternjam, 1) they don't change that often, so once we have them we don't need to ask every time we try to use a network07:49
rogpeppe1dimitern: i've also found that there's a link at the bottom "You can also merge branches on the _command line_" and if you click on _command line_, you get all the useful info07:49
dimiternjam, 2) it allows us to watch for changes from one place over pendingnetworks and update them from another07:50
dimiternrogpeppe1, nice!07:50
dimiternjam, the idea is, once we have them to implement add-network --existing <provider-id> ... or even list-networks --existing07:51
jamdimitern: sure, but both of those use cases should arguably go query the provider directly rather than using possibly stale data from state07:51
dimiternjam, so why store addresses when we can always get them from the provider when we need to?07:52
dimitern:)07:52
jamdimitern: frequency of use07:52
jamdimitern: I don't see us using "unknown" networks frequently07:52
jamand the use cases for tracking them seem to actually be "we should refresh before using them" which means we should just probe the provider directly.07:53
dimiternjam, we will use them to detect the default private/public networks07:53
jamdimitern: but aren't those public and private networks in the model, and not pending networks?07:53
dimiternjam, they will be promoted to be the defaults07:53
dimiternjam, all this is the result of my discussion with fwereade07:54
dimitern(if i understood him correctly, that is)07:54
jamdimitern: fwereade: so my thought, at least, was that we would make our best guess as to public and private and then the user could fix them from there.07:55
jamwhich is still we have 2 concrete networks out of the box07:55
jamdimitern: I think the code you wrote looks pretty good (I haven't finished reading all of it),07:55
jamI'm just trying to understand the specific benefit we get from caching it.07:55
rogpeppe1dimitern: ha, it's actually even easier: hub checkout https://github.com/juju/charm/pull/407:55
dimiternjam, re IsVLANTag - originally I wanted to have either a (bool, error) return - returning false, nil for 0 and true, nil for 0 < tag <= 4094, false, err otherwise07:56
jambecause if they really are *pending* then it isn't something I feel we should be touching except for times when we actually do need to ask the provider.07:56
jamdimitern: that could be ok, though it is a rather subtle distinction it does fit the question of "is this Valid, and is this a VLAN"07:57
dimiternjam, the idea eventually is to have a way do define mapping in env config how to translate provider-id -> juju-name for the default networks, but first we'll have cli commands to do it manually07:57
jamdimitern: you still haven't shown me a case for where we need to record the provider network as something we only sort-of know about (pending). Either it is mapped in and we track it, or it is still pending and we don't care.07:58
jamwhen you go to "list networks" we really do need to probe the provider07:58
dimiternjam, ok, so I can make it return err for 0 >= tag > 409407:58
jambecause they might have just added one07:58
dimiternjam, it's pending, because we need the user to give it a name07:58
dimiternwhich is descriptive for them07:59
dimiternjam, i can come up with a quick-n-dirty scheme to name any network with a private CIDR range as "private#" (if more than 1)08:00
dimiternjam, but fwereade didn't like that and i can concur08:00
jamdimitern: so I still don't know why we need to have described a network we haven't named yet08:01
jamwhen the user does something to map a provider ID into a known network, we'll go find the details and put it into the model08:02
jamdimitern: is this for listing what networks a machine has access to?08:02
jamif so, we *still* need a name for them08:02
jamto display them08:02
jamunknown-$PROVIDER_ID could work08:02
dimiternjam, no08:03
jambut then we just need a boolean/empty name field in the actual network collection08:03
dimiternjam, these are potentially all the networks, not machine-specific ones08:03
dimiternjam, provider-id can be anything, that's why we don't want it as part of the strictly defined juju network name08:04
dimitern(unless we transform it to contain only [a-z][a-z0-9-]08:04
jamdimitern: so I still go back to "what are the concrete use cases for having a pending-networks" and do we actually benefit from it. Yes we can put the data there, but we can't *use* it yet (because it doesn't have a name), and the use cases *I* can sort out should really go back to the provider on demand.08:05
jamMaybe so we have a list of "these are the other networks the machine has access to, but I don't actualyl know what to call them yet " ?08:05
jamIS it so when a machine starts we can use that list to filter out matches and ignore them?08:05
jamI'm not trying to fight you, I just haven't actually come up with a useful use case, if you have one, I'm happy to hear about it.08:06
dimiternjam, i understand your concern :)08:06
dimiternjam, i really wish fwereade could join us on this one08:06
dimiternjam, i'm starting to have doubts about the approach08:07
jamdimitern: so it seems better (to me) if we just had a table of known provider networks, and some of them are as-yet-unnamed08:08
mattywmorning08:14
dimiternmattyw, hey08:21
dimiternmattyw, something occurred to me yesterday about the --dry-run option of upgrade-juju08:21
dimiternmattyw, if you're not uploading the tools with --dry-run, you won't get the same results as without --dry-run, because different tools will be selected08:22
mattywdimitern, sorry - I'm still waking up, what do you mean?08:23
dimiternmattyw, well, when you're about to upgrade, a check is performed first to make sure the environ agent-versions are "stable", then when --upload-tools is specified, the tools need to be uploaded to be considered for upgrade08:25
dimiternmattyw, without uploading the effective version picked for upgrade will differ with and without --dry-run08:26
mattywdimitern, this only applies to --upload-tools?08:27
dimiternmattyw, i think only then we try to upload new tools, no?08:27
dimiternvladk, you've got a review on the networker PR08:28
dimiternvladk, you should add a kanban card for the IsVirtual removal, despite being a trivial change btw :)08:29
dimiternjam, right?08:29
jamdimitern: yes08:29
jamwell, if it is follow up work, vs do this as a tweak and land it.08:30
dimiternjam, it's kinda a follow-up, but the whole PR is about that08:31
mattywdimitern, we make a call to validate() before we print which I believe ensures we output the correct version in the not --upload-tools case08:31
vladkdimitern: thanks08:31
jamvladk: dimitern: so my statement is "if it is tweaking work that is going to take an afternoon and/or require another review" it is probably worthy of a kanban task.08:32
jamif it is "tweak this and land" then that probably isn't a new task08:32
dimiternmattyw, right, so I might be wrong then about it differing :) np, it was just a red light i needed to mention08:33
mattywdimitern, thanks for pointing it out, this is an area of the code I'm new to so any pointers on things to watch out for is greatly appreciated08:34
dimiternjam, if by "tweak this and land" you refer to a review suggestion on an exiting PR, yes this should be part of the work associated with that PR's card in the first place, but i find it's best to have card-per-PR usually08:34
mattywdimitern, do you think I should get someone else to do a review as well?08:35
dimiternmattyw, either fwereade or wallyworld should know a great deal wrt upgrades08:35
mattywdimitern, ok great, I'll make sure I get their eyes on it as well08:36
dimiternmattyw, i did some stuff around it some time ago, but it seems things have changed since :)08:36
fwereadejam, dimitern: I'm totally cool with as-yet-unnamed networks -- but what are we going to use for the _id?08:39
fwereadejam, dimitern: if we make sure the _id isn't connected to the name then that's great, we'll be able to rename them08:40
fwereadejam, dimitern: I got the impression we weren't planning/expecting to rename networks, so keeping track of the possibilities separately seemed smarter to me08:41
jamfwereade: so the other question is what are we actually using the unnamed networks for? (why put them in our local model and have to keep them up to date) just to be consistent with the other ones that we do have names for?08:43
dimiternfwereade, the providerId is the _id in pendingnetworks08:44
dimiternfwereade, jam's point is we don't need to store unusable networks, which are likely to change, so instead we can fetch them when we call add-network --existing08:45
fwereadejam, dimitern may be in a position to correct me on this, but even if we're not *configuring* the networks on the machines I feel we still need to include them in the model so that when we *do* name the networks we don't have to rescan all the machines for whether they have access to these new networks08:45
jamfwereade: so I was trying to come up with those use cases, but it means we need to be careful about how we link them08:46
jamsince we need a way to link them not-by-name08:46
jamotherwise aren't we scanning again?08:46
dimiternfwereade, ah, so here's the quirk - we get all networks, but no machines associated with them08:46
fwereadedimitern, re _id: hmmmmm, this has the hallmarks of the relation id troubles all over again08:47
dimiternfwereade, perhaps we should though08:47
dimiternfwereade, expand on that please?08:47
fwereadedimitern, take a look at the relation doc sometime08:48
dimiternfwereade, we have Key as _id and a separate int Id08:48
fwereadedimitern, it has Key (_id) which we use in tags, and Id (id) that we use in other places, and we dance back and forth over which to use in which place08:48
dimiternfwereade, right, but that's not true for networks - we always use the juju name, not providerId08:49
dimiternfwereade, except when talking to the provider - like in StartInstance08:49
fwereadedimitern, and pow, we introduce weird ugly races while watching08:49
jamdimitern: except if we wanted to link machines to networks that we don't-yet have names for08:49
fwereadedimitern, that's the main thing with relations08:50
fwereadedimitern, it is fucking stupid that we can't use the int ids when watching (say) service relations08:50
tasdomasis there any support for anything similar to prerequisite branches (in LP) in github?08:50
fwereadedimitern, but we literally can't do that08:50
jamtasdomas: not that we've sorted out08:50
jamIts something we want to bring up in a wider conversation (how to do the equivalent on git)08:50
jamthere are a few ideas out there08:50
jam(rebase, create a PR to your prereq branch, etc)08:51
fwereadedimitern, because when we get a this-doc-went-away notification, we no longer have the id available to send down the wire, because it's in the doc that just went away08:51
jamfwereade: is it reasonably to go to an abstract "network id" that is just the identifier for the doc in the DB ?08:51
dimiternfwereade, ok, so should we drop the pending networks altogether?08:51
dimiternfwereade, instead, when we need to add them, we always give them a juju name for a given provider id08:52
fwereadedimitern, ...maybe? can we shelve this until the hangout, I'm kinda hoping that the relation-addresses stuff will be relatively quikc to get everyone one the same page for08:53
* fwereade wants a ciggie08:53
dimiternfwereade, sgtm08:53
dimiternmattyw, axw, fwereade, hangout?09:01
axwbrt09:01
jammenno is gone, right?09:34
jamHe linked a doc, but didn't share it with comments enablefd.09:34
perrito666morning09:35
voidspaceperrito666: morning09:35
mattywfwereade, dimitern can we make it 15 minute break, just need to run a quick errand, will ping when I'm back09:54
dimiternmattyw, sure, we're there when you're back10:02
voidspaceperrito666: so the main entry point to your new backup work is the BackUp function (which I think should be called Backup by the way)10:02
voidspaceperrito666: this returns the backup filename and an sha filename10:03
voidspaceperrito666: we're changing the backup api to be a synchronous one that returns the backup file10:03
voidspaceperrito666: so we can't return the sha file *as well*10:03
wallyworldmgz: 1:1 time10:03
voidspaceperrito666: maybe we could return the sha (instead of writing a file) and set it as a header on the response10:03
perrito666voidspace: could be, I was writing into a file because we had an async api10:07
perrito666I could just return the sha10:08
voidspaceperrito666: yep, I assumed that was the case10:08
voidspaceperrito666: I'm pretty sure natefinch has agreed to switch to a synchronous one10:08
perrito666yup he did10:09
perrito666ok, you can assume sha string is returning there instead of the filename, Ill change it10:09
voidspaceperrito666: cool - thanks10:10
voidspaceshame I can't use your branch as a dependent branch for my work :-)10:10
perrito666you "can" but the workflow is not pretty10:11
voidspaceperrito666: and your changes show up as a diff in my branch10:11
perrito666ah, true10:11
voidspaceperrito666: I can add your branch as a remote to my repo and then keep merging10:11
perrito666voidspace: or I could have forked from you repo and then pull request to it instead of to upstream10:12
perrito666but that is quite a pita10:12
voidspaceperrito666: right, and then it's harder to just merge your work to trunk10:12
natefinchvoidspace: I talked with fwereade. he suggested doing both synchronous and saving the backup to wallyworld's gridfs storage that goes across HA servers.10:13
perrito666I think that is sort of the kernel way, people send patches to each maintainer who integrates the thing10:13
voidspacenatefinch: so we have a storage story10:13
natefinchvoidspace: I think we can do the synchronous approach first, and add in the save to gridfs later (should be trivial)10:13
natefinchvoidspace: sounds like it10:13
voidspacenatefinch: is that "done" or "in progress"?10:13
voidspaceright10:13
natefinchvoidspace:  in progress10:13
voidspacesync is easy10:13
voidspaceadding to storage (and adding async api) should also be easy10:14
voidspaceso no problem10:14
voidspacenatefinch: did you manage to have a look at what I've done so far?10:14
voidspacenatefinch: should I be using errors.Errorf from juju/errors to be creating the errors?10:15
voidspacenatefinch: also, should I send the sha of the backup file as a response header?10:15
natefinchvoidspace: yes, I don't think so, yes10:15
voidspaceheh, cool - thanks10:16
natefinchvoidspace: I'll do a proper review, but overall it looks good10:16
voidspacenatefinch: sorry to bombard you with questions10:16
voidspacesure, it's not "done" yet - so long as you're happy with the basic direction10:16
natefinchvoidspace: I don't think we're quite ready to use the errors package.  Last I heard it was getting tweaked but that was a long time ago and I haven't heard anything since.10:17
natefinch(where a long time is a couple weeks)10:17
voidspaceok, cool - there was a review comment on perrito666's branch suggesting using it10:17
perrito666yup menn0 suggested I change fmt.Errorf for errors.Errorf or errors.Annotate/Annotatef10:19
natefinchperrito666: I'd hold off on that for now10:21
perrito666we should implemente a EOR marker to know when someone ended a review :p I just wait until the mails stop for a moment but you never know if the other person is reading or just finished10:30
perrito666:p10:30
natefinchThat's a really good idea, actually.10:30
natefinchpost it on the list10:31
* perrito666 writes10:33
wallyworldmgz: around?10:34
voidspacenatefinch: ping10:37
perrito666natefinch: sent, let the bikeshedding begin10:38
natefinchvoidspace: what's up?10:39
natefinchperrito666: cool10:39
mattywdimitern, fwereade, could we organise some time probably tomorrow to start break the open port stuff into tasks?10:45
dimiternmattyw, i'm available, we can arrange it10:46
mattywdimitern, now?10:49
dimiternmattyw, we're just in our standup now, but it should be short10:49
mattywdimitern, ok, just ping when you are ready10:50
jamfwereade: just finishing up, will be at team leads in 1m11:02
natefinchoops me too11:04
jamnatefinch: :)11:04
dimiternmattyw, hey, just finished, but i'll need a 15m break as well (meetings for 2h+ straight so far - need to eat:)11:08
mattywdimitern, no problem, I've only just managed to open vim myself, can we start later this afternoon?11:10
dimiternmattyw, sure, even better11:10
dimiternmattyw, if you can some up with a rough task list breakdown by then, as you see it, we'll polish it quickly11:11
mattywdimitern, sounds good11:12
voidspaceperrito666: to properly cleanup after a backup, do *I* need to delete the tempdir - or will just deleting the backup file do?11:29
mattywhas anyone seen these errors before? I get the same kind of failure in a number of tests http://paste.ubuntu.com/7633251/11:32
voidspacemattyw: hmm... no11:39
voidspacemattyw: is that trunk?11:39
voidspacenatefinch: is standup at "normal" time today?11:39
wwitzel3natefinch: time for a hangout when you're done with the leads meeting?11:39
natefinchvoidspace: yep11:40
mattywvoidspace, yep11:40
wwitzel3voidspace: yes, it should be11:40
mattywvoidspace, yes it is trunk11:40
voidspacewwitzel3: morning!11:40
wwitzel3voidspace: hi ya :)11:41
mattywupdating mongodb did the job11:52
voidspaceclient.call calls state.Call which calls conn.Call which delegates to conn.Go which creates a Call12:01
wwitzel3obviously12:02
voidspace:-)12:02
voidspaceand on that note12:03
* voidspace lunches12:03
natefinchwwitzel3:  I have to help with the kids, can it wait anhour?12:05
wwitzel3natefinch: yep, np12:06
perrito666voidspace: I should delete it12:22
perrito666I will12:22
hazmatwhy does juju download tools from the internet for every machine, instead of using a consistent version / tools already in the env12:24
perrito666rogpeppe1: I notice the error on the test with the checksums after I pushed it I am doing something wrong with the sum bc it works12:26
perrito666I mean the test passes everytime, which means I am doing something wrong12:27
rogpeppe1perrito666: yes, you're doing a checksum on no bytes at all12:32
rogpeppe1perrito666: (as i think i mentioned in another comment)12:32
bodie_morning all12:44
perrito666rogpeppe1: well making a pull request is like sending a letter, you only realize you missed something once you have done it12:45
bodie_so, apparently juju is bootstrapping on my machine at startup?  when I try to control it, I get this: ERROR state/api: websocket.Dial wss://10.0.3.1:17070/: dial tcp 10.0.3.1:17070: connection refused12:57
bodie_it tests fine and all that, I never use it outside of testing, so I had no idea I was running it, heh12:57
bodie_anyway, I also can't kill the processes (even with kill -9, they just restart on a new pid) and I'm just not sure what to do with this12:58
bodie_is this a known thing?12:58
rogpeppe1perrito666: definitely!13:00
rogpeppe1perrito666: that's why we have code reviews...13:00
rogpeppe1perrito666: and i missed it the first time i looked through13:00
perrito666rogpeppe1: I just noticed it after I pushed, then I noticed.. are we supposed to code review ourselves? because I could have totally added a few comments myself when looking at the diff13:01
rogpeppe1perrito666: if i notice something after pushing and it's going to take a little while to fix, i'll sometimes comment on my own review13:02
rogpeppe1perrito666: i think it can be useful13:02
rogpeppe1perrito666: it's also possible (i think) to retract the PR if you want13:03
rogpeppe1perrito666: although you probably don't want to do that after others have commented on it13:03
perrito666rogpeppe1: well I see more value on people taking a look before I continue with it13:03
perrito666or while I do13:03
rogpeppe1perrito666: yeah, that too13:03
rogpeppe1perrito666: i hope my comments were helpful13:04
perrito666they where actually I read a few, but was waiting until you where done or the page gets a bit annoying with the notifications13:04
rogpeppe1perrito666: most were trivial stuff - just usual conventions13:04
rogpeppe1perrito666: yeah, i really miss rietveldt for that13:05
rogpeppe1perrito666: i'm finished now, BTW13:05
rogpeppe1perrito666: usually i'll try to finish the review with a general comment that's not attached to a line of code13:05
perrito666I saw that13:06
rogpeppe1perrito666: ha, just saw your juju-dev post13:06
perrito666I will say this in favor of github, the diffs look really stylish13:09
rogpeppe1perrito666: i find it difficult to see small changes, as nothing smaller than a line is highlighted13:11
perrito666I did not say they where useful, just stylish13:12
bodie_there we go13:16
bodie_looks like my path was out of order13:16
perrito666rogpeppe1: interesting, I was not aware you could do that with multiwriter13:28
rogpeppe1perrito666: do what?13:28
perrito666the way you included gzuo13:30
perrito666gipz13:30
perrito666aghh gzip13:30
wallyworld_fwereade: heya, that txn branch has been updated. i don't think anyone else has looked at it. but i need to land it. all the tests pass. any chance you could take a look at my udpates to it sometime during your day?13:38
rogpeppe1perrito666: that's not really a multiwriter thing, but the io.Writer interface is very nice and flexible13:39
rogpeppe1perrito666: i particularly like the way that it's easy to use conditional defers13:40
=== Ursinha is now known as Ursinha-afk
natefinchwwitzel3: is 15 minutes enough time, or do you want to wait until after the standup?13:45
fwereadewallyworld_, sure, will do13:45
wwitzel3natefinch: that's enough13:45
wallyworld_awesome thanks13:45
=== Ursinha-afk is now known as Ursinha
natefinchericsnow: standup?14:01
voidspaceMy connection is back - but I have 344kbits downstream!14:09
voidspacenatefinch: so not enough to join the hangup I don't think14:09
voidspaceI'm in, but terrible quality14:09
sinzuijamespage, can you look at bug 1329256? I don't know if a dep like distro-info is missing14:16
_mup_Bug #1329256: juju-core on openstack failing with trusty <juju-core:New> <https://launchpad.net/bugs/1329256>14:16
wwitzel3fwereade: so calling StartSync on only the presence pinger, doesn't work14:28
fwereadewwitzel3, ha14:28
fwereadewwitzel3, now that is interesting :/14:28
wwitzel3fwereade: yeah :/14:28
fwereadewwitzel3, Sync on the presence pinger?14:29
natefinchfwereade:in a standup, almost done14:29
wwitzel3fwereade: Sync instead of StartSync did the trick14:31
fwereadewwitzel3, awesome14:31
wwitzel3fwereade: well I addressed all the implentation comments from your review at this point, just been futtzing around with testing it all.14:33
fwereadewwitzel3, great14:33
wwitzel3fwereade: thanks again for the hand holding :)14:33
fwereadewwitzel3, a pleasure, thank you for doing all the actual work ;)14:33
bodie_fwereade, what's your handle on github?14:40
bodie_I'14:40
bodie_I'll take an answer to that from anyone :P14:40
jcw4"fwereade"14:41
natefinchbodie_: https://github.com/orgs/juju/members14:41
bodie_hmm, it's not offering a completion for fwereade, but it is for natefinch14:42
natefinchwwitzel3: you need to set yourself to public here: https://github.com/orgs/juju/members?page=214:42
fwereadebodie_, heyhey, I'm pretty sure I'm fwereade everywhere, and I'm sure I set myself public14:42
jcw4I thought it only offered completion for folks already on the thread14:42
fwereadecmars, reviewed, coming along nicely14:43
fwereadecmars, let me know if anything's unclear :)14:43
wwitzel3natefinch: done, was that sent out in an email? I must of missed it :/14:43
cmarsfwereade, thanks for the feedback14:43
bodie_jcw4, I think it's org-wide14:44
bodie_could be mistaken about that14:44
=== revagomes_ is now known as revagomes
natefinchwwitzel3: not sure14:46
fwereadecmars, btw, heads-up re: https://github.com/juju/juju/pull/50 which I expect to land soon -- will move the transaction hooks stuff to a different package, should be a trivial merge but will affect you14:46
* fwereade also issues a general call for help re https://github.com/juju/juju/pull/50 -- I'll be going through it with all the focus I can muster, but I'd really like it if someone else also audited the txn changes14:47
fwereadenatefinch, since you seem to be on call: ^^14:48
fwereadenatefinch, and I'm well aware you're not super-familiar with state so feel free to talk to me about it14:49
natefinchfwereade: I'm on call?14:50
jcw4what does this idiom mean:  txnRunner.testHooks = make(chan([]TestHook),1); txnRunner.testHooks <- nil;14:53
jcw4specifically.. the last statement?14:53
jcw4context ^^^: its in NewRunner() in state/txn/txn.go14:56
voidspacerogpeppe1: ping14:57
jcw4oh, I see, I think it's filling the channel with nil so that reading it won't block if there are no TestHooks14:59
jcw4(filling the channel buffer)15:00
bodie_https://github.com/juju/charm/pull/415:01
bodie_should be shipshape15:01
bodie_oops, failing a test15:01
dimiternmattyw, the call is still on, right?15:04
mattywdimitern, sorry - can we do it tomorrow instead?15:04
dimiternmattyw, even better :) np15:04
mattywdimitern, I've not managed to get anything down yet15:05
mattywdimitern, I'll set something up for the morning before we get too busy15:05
bodie_there we go15:05
voidspacenatefinch: ping15:07
dimiternmattyw, ok, but please after 7 UTC :)15:07
mattywdimitern, as far as I know nothing exists before 7 UTC15:08
fwereadejcw4, exactly right, yes15:09
jcw4fwereade: thanks... PR 50 is heavy going, but looks great to me so far15:09
jcw4basically a nice abstraction of the transaction retry logic I'd implemented under your direction before15:10
fwereadejcw4, yeah, it's making me really happy :)15:11
dimiternmattyw, :D15:11
fwereadejcw4, but it is indeed heavy going15:11
fwereadejcw4, a lot to check15:11
jcw4I'll at least try to read the new code and the resulting changes to code I wrote before15:13
rogpeppe1voidspace: pong15:13
voidspacerogpeppe1: hey, got a minute?15:13
rogpeppe1voidspace: sure15:13
* perrito666 just tried to grep on a piece of paper... my brain is jello15:14
rogpeppe1perrito666: lol15:23
rogpeppe1fwereade: do you know if we are able to mandate go 1.2 ?15:23
ericsnowperrito666: wishful thinking :)15:23
voidspacenatefinch: unping (just in case)15:23
mgzrogpeppe1: we need to for trunk now15:23
rogpeppe1mgz: cool15:24
voidspacegreat15:24
rogpeppe1that means we can get rid of the NonValidatingHTTPClient security hole15:24
jcw4if we already import github.com/juju/errors should we always deprecate fmt.Errorf in favor of errors.Errorf?15:25
fwereaderogpeppe1, I'm not sure... I think that we should as soon as we can, but I can't remember what was stopping  us15:25
mgzfwereade: largely toolchain things I believe, which are now resolved15:25
voidspacestate/api/client.go15:25
voidspace/ Due to issues with go 1.1.2, fixed later, we cannot use a15:26
voidspace        // regular TLS client with the CACert here, because we get "x509:15:26
voidspace        // cannot validate certificate for 127.0.0.1 because it doesn't15:26
voidspace        // contain any IP SANs". Once we use a later go version, this15:26
voidspace        // should be changed to connect to the API server with a regular15:26
voidspace        // HTTP+TLS enabled client, using the CACert (possily cached, like15:26
voidspace        // the tag and password) passed in api.Open()'s info argument.15:26
voidspace        r15:26
bodie_urk15:26
rogpeppe1voidspace: i suggest that you write a method on Client that returns an http client suitable for connecting to the API. it would have only a single allowed root cert (the CACert)15:27
voidspacerogpeppe1: ok, I'll look at that15:28
voidspacerogpeppe1: I may request some assistance on getting the certs right15:28
rogpeppe1voidspace: take a look at the setUpWebsocket function for inspiration15:29
voidspacerogpeppe1: cool, thanks15:29
natefinchfwereade: the problem with 1.2 is getting it into precise15:29
natefinchfwereade: although if we wait a week or two maybe we can skip right to 1.315:29
fwereadenatefinch, that'd reduce the effort ;p15:30
natefinchfwereade: btw, I think this says I'm not the on call reviewer?  Or is the spreadsheet not what we're going by? https://docs.google.com/a/canonical.com/spreadsheets/d/1iQLLOWrjzxddm5VhYWYi0-2k3xI6wTMlpkvnVNJCYGY/edit#gid=015:32
jcw4sounds like fwereade was trying to pass the buck natefinch15:32
voidspacenatefinch: just FYI, I finally did my vegas expenses...15:34
fwereadenatefinch, sorry!15:34
fwereadenatefinch, you're absolutely right, I think I had it open from a few days before or something :/15:35
natefinchvoidspace: cool, I'll check them15:45
rogpeppe1anyone know why CmdSuite.TestHttpTransport is there?15:51
rogpeppe1(in the cmd package)15:52
rogpeppe1it doesn't look like it's testing anything to do with the cmd package15:52
perrito666natefinch:15:53
perrito666unping15:54
natefinchperrito666: howdyt16:05
alexisbnatefinch, be there soon16:06
perrito666natefinch: voidspace and I had a doubt but we end up peer solving it16:06
natefinchalexisb: me too16:06
natefinchperrito666: achievement unlocked!16:06
voidspaceheh16:08
mgzsinzui: what's our solution for a newer go version on precise?16:09
sinzuimgz: two phases16:10
sinzuimgz, 1. I backported trusty's 1.2 to saucy and precise last month and released package built on it. CI adds the ~juju/experimental PPA to saucy and trusty testers/builders. CI and Users don't see issues with 1.216:11
sinzuimgz, 2. The server team, Robbie or James will backport that same package to ctools for precise16:12
mgzsinzui: okay, have we bugged them about that yet?16:12
sinzuimgz, saucy is in a grey are of not getting the needed golang from Ubuntu.16:12
sinzuimgz, an email was sent without response. They are honestly working with 1.18.4 and ubuntu. That is their top priority16:13
mgzk16:13
mgzmeans we can't bot on precise for now, right?16:14
sinzuimgz, ??16:16
mgzsinzui: I can't set up a precise machine which *builds* juju easily on precise16:17
sinzuimgz, you mean Ubuntu cannot build 1.19.4+ on precise or saucy without the golang update?16:17
mgzyup16:17
sinzuimgz, good news, golang is queued for ctools16:19
sinzuihttps://launchpad.net/~ubuntu-cloud-archive/+archive/cloud-tools-next16:19
mgzace16:20
voidspaceI have to EOD a bit early16:24
voidspacegoing to London to meetup with some ex-colleagues16:24
voidspaceI'll try and persuade them that they want to work on juju16:24
voidspacesee you all tomorrow folks16:24
sinzuimgz, saucy has 35 days left, I am confident that Ubuntu will delay backport or juju 1.20.0 to saucy's eol to avoid the golang issue16:25
=== psivaa is now known as psivaa-afk
rogpeppe1if anyone's around and willing, there's a PR here that factors cmd out of core. i haven't updated core to use it yet. https://github.com/juju/cmd/pull/117:40
jcw4rogpeppe1: don't know if you want more than an LGTM from me :)  Looks pretty mechanical except for the Version change and the nice DefaultConfig refactor17:53
jcw4I wanted to comment but couldn't find anything to comment on but +1 :)17:54
natefinchrogpeppe1: is that the right license?  I thought we were using canonical's special static-linking-ok LGPL17:56
perrito666we should start adding "rant git" as part of our agendas :p18:33
bodie_git rant -vvv18:36
jcastrohttps://bugs.launchpad.net/juju-core/+bug/132942518:44
_mup_Bug #1329425: Fatal out of memory error when bootstrapping on Azure <juju-core:New> <https://launchpad.net/bugs/1329425>18:44
jcastroanyone see this before?18:44
natefinchjcastro: nope...  I'd be interested to know if it always fails at approximately the same spot, or if it looks random19:06
jcastrofound the issue19:06
natefinchoh yeah?19:06
jcastrosinzui figured it out, I was specifying the .cer file, not the .pem19:06
jcastroI am making a note for the docs now19:06
sinzuiI just updated to bug.19:07
natefinchjcastro: oh yeah... the whole .cer .pem BS for azure. Feh.19:11
jcastrois it possible to tell which one is which so we can give a smarter error?19:12
jcastro"Wrong certificate, idiot" would be nicer I think.19:12
natefinchjcastro: they're vastly different formats.  It should be easy to differentiate19:13
jcastronatefinch, also: https://bugs.launchpad.net/juju-quickstart/+bug/132944919:25
_mup_Bug #1329449: Don't allow a .cer file to be used in Azure <juju-quickstart:New> <https://launchpad.net/bugs/1329449>19:25
jcastrothat outta help too19:25
natefinchit's very interesting that it caused an out of memory error... I wonder how that happened19:26
natefinchneither cert is very large, but that error was in the YAML code, I wonder if it's a bug in yaml when trying to write binary to a yaml file or something19:27
=== BradCrittenden is now known as bac
sebas5384Feature request: https://github.com/juju/juju/issues/8719:56
leftyfbcan someone help me with this issue? https://pastebin.canonical.com/111624/20:02
natefinchleftyfb: can you post the contents of /home/leftyfb/.juju/local/cloud-init-output.log   ?  There's probably more useful information in there20:04
leftyfbhttps://pastebin.canonical.com/111626/20:04
perrito666can I do an gc.Assert() that outputs a custom error if the assertion fails?20:06
perrito666in a test20:06
natefinchperrito666: no, you want gc.Log to output custom stuff20:07
perrito666ah great20:07
natefinchleftyfb: hmm... less than useful20:07
leftyfb132948020:07
leftyfbhttps://bugs.launchpad.net/juju-core/+bug/132948020:07
_mup_Bug #1329480: ERROR state/api: websocket.Dial wss://10.0.2.1:17070/: dial tcp 10.0.2.1:17070: connection refused <juju-core:New> <https://launchpad.net/bugs/1329480>20:07
natefinchleftyfb: hmm... weird, why is it running 1.18.1 .... I think 1.18.4 is the most recent stable20:09
natefinchsinzui: ^^20:09
leftyfbnatefinch: I'm running trusty and installed from main repo's20:09
leftyfbnatefinch: I did have the stable ppa before following instructions from ubuntu.com, but ran into this issue and decided to limit variables20:10
natefinchoh ok20:10
natefinch1.18.4 is probably a much better bet.  We fixed a bunch of bugs in those .320:10
leftyfbok, I can install from ppa, though I was getting the same or similar issues20:11
leftyfbbtw, I go through this process when starting over: https://pastebin.canonical.com/111628/20:11
natefinchleftyfb: killing any lxc related processes is often helpful... and... I hate to say it, but rebooting often helps with the local provider when it gets wedged20:15
leftyfbnatefinch: I do that as well20:15
leftyfbnatefinch: for some reason reinstalling lxc doesn't start the dnsmasq process properly.... can only seem to get it going after a reboot20:15
leftyfbtried sudo service lxc-net start  ... says it starts but it doesn't20:16
bodie_https://github.com/juju/charm/pull/420:17
leftyfbbodie_: was that for me?20:20
bodie_sorry, no20:21
bodie_just could use a review on that when someone gets a chance :)20:21
leftyfbnatefinch: https://pastebin.canonical.com/111630/     after installing 1.18.4 from ppa:juju/stable and trying to bootstrap20:32
natefinchleftyfb: that all looks good.  Is it working or?20:32
leftyfbnegative20:33
leftyfb#leftyfb@blanchard[0]:~$ juju status20:33
leftyfbERROR state/api: websocket.Dial wss://10.0.2.1:17070/: dial tcp 10.0.2.1:17070: connection refused20:33
natefinchleftyfb: can you paste /home/leftyfb/.juju/local/cloud-init-output.log again?20:33
leftyfbnatefinch: that's what the pastebin above is20:34
natefinchoh right... uh, huh20:37
thumpermorning20:38
natefinchmorning thumper20:39
thumperhi natefinch20:40
wwitzel3morning thumper20:40
thumperhi wwitzel320:40
thumperI hate friday mornings20:41
thumperso tired20:41
wwitzel3you could always wake up later?20:41
wwitzel3:D20:41
=== vladk is now known as vladk|offline
leftyfbnatefinch: does this help at all:20:51
leftyfb2014-06-12 20:30:10 ERROR juju.cmd supercommand.go:305 symlink /home/leftyfb/.juju/local/tools/machine-0/jujud /usr/local/bin/juju-run: no such file or directory20:51
leftyfb2014-06-12 20:30:10 INFO juju.cmd supercommand.go:302 running juju-1.18.4.1-trusty-amd64 [gc]20:51
leftyfb/home/leftyfb/.juju/local/tools/machine-0/jujud does exit20:52
leftyfb/usr/local/bin/juju-run does not exist20:52
natefinchweird.... it sounds like  /home/leftyfb/.juju/local/tools/machine-0/jujud didn't exist20:54
leftyfbit does20:54
leftyfbI just created the link and trying to bootstrap again20:55
natefinchmaybe it didn't exist when that line was running20:55
leftyfbhm20:56
leftyfbthat was it20:56
leftyfbI can get status now20:56
natefinchthumper: any idea why leftyfb's jujud wouldn't have existed when we were trying to make the juju-run symlink?20:56
leftyfbso after all my purging of packages and deleting of files, rebooting and reinstalling, juju isn't creating that link20:57
leftyfbyou know what didn't exist?20:57
leftyfb /usr/local/bin20:57
leftyfbI had to create that20:57
natefinchheh20:59
natefinchinteresting20:59
natefinchcan you create a bug for that?21:00
natefinchI gotta run21:00
waiganifwereade: are you still up?21:14
waiganithumper or fwereade: could one of you review this please: https://github.com/juju/juju/pull/2221:18
thumperwaigani: yeah, in the middle of a thought stream right now, will look soon21:18
menn0perrito666: ping?21:18
perrito666menn0: oibg21:18
perrito666pong21:18
menn0:)21:18
perrito666sorry I am working in a different kb today21:19
menn0off by one on your right hand :)21:19
menn0perrito666: I just wanted to confirm a few things with you regarding the upcoming backup system21:19
perrito666menn0: shoot21:20
waiganithumper: thanks, I've got a mountain of email to get through plus juju info so no rush21:20
menn0perrito666: did I get it right that backups will be stored server side with the juju client growing some commands to list, download and remove them?21:21
perrito666menn0: while you where sleeping we changed that a bit21:21
perrito666and by a bit I mean completely21:21
menn0ok :)21:21
perrito666menn0: now backup is no longer async21:22
menn0perrito666: so backups are downloaded to the client immediately without the option of storage server side?21:23
perrito666menn0: that is right21:23
perrito666altough you should be able to use the backup function which is rather simple21:24
perrito666and that will put a backup wherever you ask it to21:24
menn0perrito666: ok that's good to know21:25
menn0it's a pity that things have changed because the previous proposal worked rather nicely with schema migrations but I can work with the new approach too21:26
* menn0 goes to update the schema migrations design document21:26
menn0perrito666: at a guess, how far away is the backup functionality from landing?21:26
perrito666menn0: well I am finishing the tests to re-propose it21:27
menn0perrito666: that's the core backup piece right? The client and API changes are still to come?21:28
menn0(although I probably don't care much about those now...)21:28
perrito666yes, that you should ping voidspace for21:28
menn0perrito666: thanks21:38
menn0review please: https://github.com/juju/juju/pull/84 (thumper perhaps?)21:38
perrito666menn0: sorry if you get a ton of spam, I just commented on the review you did.. a lot22:21
wallyworld_fwereade: not sure if you're still awake/coherent - i've addressed all the txn package changes. one main difference remains - i kept the various Refresh() calls to preserve existing behaviour. if that's ok with you, i'll look to land22:30
menn0perrito666: no problems. looking now.22:37
* menn0 misses reitveld22:38
perrito666menn0: let me know when you go again to sleep so I ca change backup's arch again22:50
perrito666:p22:50
menn0perrito666: umm sure ;-)22:50
* perrito666 makes backup now require port knocking22:50
menn0perrito666: screw you ;-p22:58
perrito666lol22:58
menn0perrito666: review done. just tiny things. you probably want to wait to here back from the others22:58
perrito666menn0: yeah I am EOD22:59
menn0perrito666: cool, TTYL22:59
perrito666but since I have no life I stay on irc ;p22:59
waiganithumper: NewUserManagerAPI already only allows client connections to use it: line 41: if !authorizer.AuthClient()23:43

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