/srv/irclogs.ubuntu.com/2013/09/16/#juju-dev.txt

axwthumper: re "This kind of goes against a lot of our coding standards."  -- it wasn't intentional :)03:08
axwI have fixed it.03:08
thumpercool03:12
thumperI sort of noticed that in the next file when I saw william's comment03:12
thumperand realised what you had done03:12
thumperwallyworld_: cc'ed you on the email with robie about kvm04:24
thumperas there is some simplestream stuff there04:24
wallyworld_ok04:24
thumperfor how the infrastructure syncs the images for kvm04:24
thumperok, I'm off for the monday afternoon ice-skating / shopping time04:25
thumperback later to chat to william04:25
=== thumper is now known as thumper-afk
axwwallyworld_, jam: https://codereview.appspot.com/1353204705:37
axwcan't lbox propose at the moment without this05:37
jamaxw: doesn't that mean there is a Logf function that is being used incorrectly?05:39
axwjam: no, there's two types of Logf05:39
axwthe vet catches one, and errors on the other which is being used correctly05:39
axwloggo.Logf takes a first parameter of the log level05:40
axwthen the log format05:40
axwgocheck's C.Logf takes the log format  as the first arg05:40
axwAFAICT there's no way of telling go vet how to distinguish between the two Logfs05:40
jamax05:45
jamaxw: how did the original get proposed at all then?05:45
jamI'm fine with the change, but I'm curious what happened05:46
axwjam: yeah I'm not too sure. I will investigate; only thing I can think is that it was proposed, then .lbox.check modified, and a bzr push done05:47
axwor there was a merge, but I don't think so05:48
* axw gets tea and investigates05:48
axwjam: it was the latter; there were two independent MPs that got merged05:53
wallyworld_axw: sorry, was doing school pickup, do you still need me to look?05:53
axwwallyworld_: s'ok, jam's looking05:53
wallyworld_ok05:53
jamaxw: LGTM06:07
axwthanks jam06:07
=== tasdomas_afk is now known as tasdomas
jamaxw: poke07:49
jamaxw: I'm looking at your localstorage and ssh storage stuff, and really *I* think that the temp directory should be in or at least next-to the storage location. Because there is 0 guarantee that /tmp is going to be on the same filesystem. (often /tmp is a tmpfs, etc)07:49
jamSo I'm happy with "ssh storage uses it until the local provider takes it over", but I think the tmp dir should be under storage07:50
jamI'm fine with 'tmp' vs '.tmp' I don't think it really matters.07:50
rogpeppemornin' all07:52
jamgood morning rogpeppe07:52
rogpeppejam: hiya07:52
TheMueheyho all07:57
axwjam: sorry, was taking a break before. reading now08:00
axwjam: it will be in /tmp only if you don't tell it where to go08:01
axwand for the only usage, I will be telling it where to go08:02
jamaxw: but why make that the default rather than next to the storage, since then you are much more sure it will be on the same fs08:02
axwjam: for sshstorage, the default is next to it. I could make it the same for filestorage too08:03
axwI didn't do that because it'll pollute the local filesystem for sync/generate-tools metadata08:03
axwprobably not a big deal08:03
axwfor sshstorage, the default is the remote storagedir with ".tmp" appended08:03
jamaxw: I think it makes sense to have them match, and I think putting it inside is nice if it is something we will be managing.08:04
axwjam: I'll take a look at how feasible it'll be. environs/localstorage may need to change to do something similar. I'm hesitant to change that, because that'll require upgrade checks08:05
jamaxw: why?08:05
jamif it is the temporary dir, we don't see content in it until it is finalized and then moved into place08:06
jamright?08:06
axwright08:06
axwso the way I did it before was08:06
axwsshstorage wrote to ${storage}/content, with a staging in ${storage}/tmp08:07
axwlocalstorage expects everything to be directly under ${storage}08:07
axwso I changed sshstorage back to doing that08:07
axwwith a tmp dir as a peer of ${storage}08:07
axwif I were to not do that, I'd either need to change localstorage to have content/tmp subdirs, or check the feasibility of pointing localstorage at ${storage}/content08:08
jamaxw: so from what you've said, localstorage needs to take over what sshstorage uploaded, right?08:11
axwjam: correct08:11
jamand even if you pointed it at .../content it wouldn't use .../tmp for its temp dir08:11
axwyes08:12
axwlocalstorage doesn't do any of this tempdir stuff at the moment08:12
axwit probably should, if we're being paranoid08:12
axwsorry jam, maybe I confused things. there are three storage implementations things to consider08:16
axwsshstorage, filestorage, localstorage08:16
axwfilestorage was only updated on william's request, and doesn't interact with sshstorage at all08:17
axwlocalstorage is the one that takes over. localstorage does not currently have the write-to-tmp-then-mv behaviour08:17
axwand since localstorage  is existing, and used by the local provider, I was hesitant to change its layout08:18
jamaxw: so right now localstorage just writes directly to the final location, and interrupted transfers will see partial data?08:22
axwjam: yup08:23
jamaxw: I think we want to fix that regardless the rest.08:23
jameven if it is $TMP or whatever08:24
axwfair enough08:24
axwjam: I was thinking of modifying localstorage to become something more generic, exposing another storage via HTTP. I might as well bite the bullet and do that now.08:25
=== thumper-afk is now known as thumper
thumperfwereade: ping08:47
fwereadethumper, pong08:47
thumperhangout?08:47
fwereadethumper, sure, a quick one, just a mo08:48
* thumper waits08:48
* fwereade has found his headphones and is starting one08:49
fwereadethumper, https://plus.google.com/hangouts/_/b68108f32c53bcd9634bd39560203820f2029809?hl=en08:50
jamdimitern, fwereade: I will not make it to the standup today, I have to go sign my son up for after school activities08:56
jamwallyworld_: http://bazaar.launchpad.net/~go-bot/juju-core/trunk/view/head:/environs/storage.go#L62 (line 62)09:01
jamshouldn't that be "if err == nil" then set dataURL = fullURL ?09:02
jam(I think we're missing some tests about the return value of Fetch())09:02
wallyworld_seems so :-(09:02
jamwallyworld_: well, you have "datasourceSuite.Fetch()" which is asserting it gets the relative path back09:03
jambut I think that assertion is actually incorrect.09:03
wallyworld_could be, i'll look into it09:03
jamwallyworld_: k, I was trying to do some assertions that we are properly connecting to an HTTPS location, etc.09:03
jambut ran into that.09:04
wallyworld_sorry :-( will fix09:04
jamnp09:04
dimiternwallyworld_, rogpeppe , mgz , fwereade, natefinch : standup10:46
mgzta10:46
* TheMue => lunch11:25
=== tasdomas is now known as tasdomas_afk
=== tasdomas_afk is now known as tasdomas
=== gary_poster|away is now known as gary_poster
jammgz: poke12:24
yolandahi, i'm having a problem with juju config vars. Doing a config-get for one of the vars throw: subprocess.CalledProcessError: Command '['config-get', 'admin_pubkey', '--format=json']' returned non-zero exit status 212:59
yolandai tested with juju get nameofservice, and this var has a value12:59
yolandaany idea on what can be failing?12:59
mgzyolanda: did you look at what the stderr output was?13:23
yolandamgz, i only saw that exit status 213:23
mgzright, but you're the one deploying the charm13:25
mgzso, make the charm give you useful output instead of just the exit code13:25
rogpeppeaxw: trivial change to environs/sshstorage: https://codereview.appspot.com/1332104613:30
natefinchis there a way to get gocheck to be less spammy?  It prints out like 100 lines per failure, when really all I want is the line of the test that failed13:30
mgzsed13:31
mgzonly slightly joking...13:31
natefinchmgz: that was going to be my next move :/13:31
rogpeppenatefinch: gocheck can't know how much to print, because it doesn't know about tests within tests13:33
rogpeppenatefinch: i agree it's a problem13:33
natefinchrogpeppe: it appears to be printing logging, though... is that our fault for how we're using it?13:33
rogpeppenatefinch: we deliberately print logging, because otherwise there's no easy way to see what's happening underneath when a test fails13:34
rogpeppenatefinch: it's easy enough to get rid of the log lines though13:34
natefinchrogpeppe: most of the time I know why something is failing, or can tell when I get there. I'd much rather have logging be an optional flag than on all the time... it obscures the actual failureas13:35
rogpeppenatefinch: it's an interesting possibliity - you could add a flag that LoggingSuite inspects to determine whether to print log messages, perhaps13:36
rogpeppenatefinch: i'm not sure whether the default should be on or off though - when i get a random unexpected (and perhaps only occasionally reproducible) error in the tests, i actually want to see as much info as possible13:37
rogpeppenatefinch: for example when something fails in the bot13:37
=== Guest8446 is now known as wedgwood
rogpeppenatefinch: actually, on balance, i think an environment variable would probably work better13:37
natefinchrogpeppe: the bot could always run with --verbose since in theory it shouldn't see failures13:37
natefinchrogpeppe: as long as I have a toggle, I don't care where it is :)13:38
rogpeppenatefinch: because then it would be just ignored for any package that doesn't happen to use LoggingSuite13:38
natefinchrogpeppe: fair enough13:38
rogpeppenatefinch: quick review of the above CL? https://codereview.appspot.com/1332104613:39
rogpeppenatefinch: it just fixes the build for me13:39
natefinchreviewed13:40
natefinchrogpeppe: where is the logging currently turned on? I can at least go poke at it locally to make my life easier right now13:40
rogpeppenatefinch: see testing.LoggingSuite13:40
natefinchrogpeppe: thanks.. that is so much better.  What do you think about me submitting a CL for an environment variable that turns off logging? (default would be same behavior as now)13:47
rogpeppenatefinch: seems like an good idea13:48
rogpeppenatefinch: perhaps a way to set the logging level actually13:48
rogpeppenatefinch: in fact, doesn't loggo accept some kind of config syntax13:48
rogpeppe?13:48
natefinchrogpeppe: yeah, there's a SetLogLevel... we could just have that settable via the env variable. Right now it defaults to DEBUG.13:49
rogpeppenatefinch: i was actually thinking of ConfigureLoggers13:50
natefinchrogpeppe: ahh yeah... setting that seems like a lot of work.  I've used similar per-package log levels in other projects... and never have I ever done anything but set the global log level :)13:55
rogpeppenatefinch: well, yeah13:55
rogpeppenatefinch: it will potentially be useful in a real juju environment - to enable low level logging in some problematic packages only13:56
rogpeppenatefinch: because some low level logging can be extremely verbose13:56
rogpeppenatefinch: so a single global log level too big a hammer sometimes13:57
rogpeppenatefinch: but for tests, i think i agree13:57
natefinchWe can always add another env variable later if people need a smaller hammer for their tests13:57
axwrogpeppe: thanks for fixing that14:01
rogpeppeaxw: i guess not many people don't use bash :-)14:02
axwwhat'cha running? rc? :)14:02
rogpeppeaxw: yeah14:02
rogpeppeaxw: it's the shell i've used since... jeeze, maybe 1991?14:03
axwcan't say I've ever used anything apart from bash, really14:03
axwzsh briefly14:03
rogpeppeaxw: rc has some definite advantages for scripting in particular14:03
axwcsh when I had to at my old job14:04
axw*shudder*14:04
rogpeppeaxw: the semantics are much much cleaner14:04
* axw has a look at some docs14:04
rogpeppeaxw: good intro: http://plan9.bell-labs.com/sys/doc/rc.html14:04
axwta14:05
rogpeppeaxw: in particular see section 28 for a good overview of why it works the way it does14:05
rogpeppei'd appreciate a review of this if possible: https://codereview.appspot.com/1353504514:07
axwrogpeppe: what will ConfigStorage be used by?14:12
rogpeppeaxw: the command line commands14:12
rogpeppeaxw: the environments.yaml stuff is due to change to allow extra information to be associated with an environment14:13
rogpeppeaxw: created when an environment is bootstrapped14:13
rogpeppeaxw: and also to cache current endpoint info so that we don't need to talk to the provider to try to find out the API address for an environment14:14
rogpeppeaxw: here's my idea for the eventual form of the ConfigStorage interface: http://paste.ubuntu.com/6115093/14:15
rogpeppeaxw: it'll probably change as it encounters reality14:16
axwthanks rogpeppe, reading now14:17
rogpeppeaxw: thanks14:17
yolandamgz, i was able to debug error message, it shows: panic: version: cannot read forced version: open FORCE-VERSION: permission denied14:25
yolandamaybe i'm conflicting with some other var? i'm using admin_fullname, maybe is that reserved?14:26
yolandafull log here: http://paste.ubuntu.com/6115131/14:27
=== tasdomas is now known as tasdomas_afk
mgzyolanda: thanks, that's useful14:37
yolandamgz, what can be causing that? seems a bit unrelated with a simple config-get14:37
yolandaother vars are working ok, so i'm thinking that the name may be conflicting, but not sure14:37
mgzindeed. seems to be an args parsing thing somehow.14:38
mgzthe logic in version/version.go is:14:38
mgzget the dir of args[0] as the location of tools, open the FORCE-VERSION file there14:39
mgzbut if other config-get invocations work something funky is going on14:40
mgzbut I don't much like that logic regardless14:42
yolandamgz, should i file a bug?14:43
mgzyolanda: yes, and it probably needs more context on what exactly that charm hook is doing14:44
yolandajust trying to change the name of config vars and redeploy now14:44
yolandachanging admin_xxx for another prefix14:44
mgzit seems more likely that the hook is accidentally changing pwd or something to break stuff14:44
yolandamgz, the hook just happens after a db joined, and tries to render some content with these vars, it's first config-get called in the hook14:46
rogpeppelunch14:48
yolandamgz, indeed, i changed the var for something different like "defaultname" but still the same problem14:57
yolandai can't imagine what's causing config-get to fail there14:58
mgzyolanda: not sure what to suggest as next debugging step. have you filed that bug yet?15:05
yolandamgz, no, because i don't know what's the cause15:06
mgzsome bugs are just symptoms :)15:07
yolandamgz, trying to filter a bit, now i'm deploying without external config file15:08
yolandajust using defaults15:08
yolandasame problem, i'll file the bug15:14
yolandamgz, https://bugs.launchpad.net/juju-core/+bug/122608815:19
_mup_Bug #1226088: config-get fails with "open FORCE-VERSION: permission denied" <juju-core:New> <https://launchpad.net/bugs/1226088>15:19
mgzyolanda: thanks. what's the charm? the hook code seems more relevent than the config.15:20
yolandamgz, it's gerrit charm, it's not still public15:20
yolandacan i send it to somewhere private?15:21
mgzis it actually pviate, or just not ready? can either push to ~yolanda.robla namespace or I guess just one of the canonical datacenter machines if it's really not to be revealed15:22
yolandamgz, we are currently pushing to canonical-ci private team15:23
yolandawe are keeping that private at the moment15:23
arosalesrogpeppe, fwereade outlooks on cutting a 1.14 release today?15:24
arosalesI see rogpeppe has  a branch out for  https://bugs.launchpad.net/juju-core/+bug/122002715:24
_mup_Bug #1220027: worker/provisioner: cannot restart cleanly due to hard dependency on api server <papercut> <juju-core:In Progress by rogpeppe> <juju-core 1.14:In Progress by rogpeppe> <juju-core trunk:In Progress by rogpeppe> <https://launchpad.net/bugs/1220027>15:24
arosaleswhich is the last bug for the milestone  https://launchpad.net/juju-core/+milestone/1.14.015:24
rogpeppearosales: i think that's all merged15:24
arosalesrogpeppe, bug is still in progress, could you update the bug status?15:25
yolandamgz, checking with the team about that15:25
rogpeppearosales: and *should* be fixed, though i wasn't able to reproduce the original issue, so i'm not absolutely sure15:25
arosalesfwereade, robbiew well at this point we need to push 1.14 out15:25
arosalesif we need to do a 1.14.1 we can address that there if any bits are missing15:25
robbiewhuh...oh... rogpeppe^15:26
robbiew;)15:26
arosalesrobbiew, sorry15:26
arosalesauto complete15:26
robbiewnp15:26
rogpeppearosales: i didn't mark the bug as fixed, because although i sincerely believe that it is, i need someone who can verify that15:27
mgzyolanda: see /query15:29
arosaleshmm davecheney reported the bug initially15:30
arosalesrogpeppe, did you say the branch is in 1.14?15:30
rogpeppearosales: yes15:30
arosalesrogpeppe, so if we cut a 1.14 release today it would have 1220027 fix in it, just untested15:32
rogpeppearosales: yes.15:32
rogpeppearosales: so... worth marking as "fix released", i guess?15:32
arosalesrogpeppe, I think so if the branch is in 1.14, trunk, and 1.1515:33
rogpeppearosales: ok,marked as "fix committed"15:33
arosalesrogpeppe, thanks. if we need to return to is we can issue a 1.14. 1 or in subsequent 1.15 releases15:51
natefinchrogpeppe: btw, it looks like some of the tests rely on logging being enabled during testing15:54
rogpeppenatefinch: ah, damn, yes, they do15:54
natefinchrogpeppe: that seems like a weakness in the tests, honestly.15:54
rogpeppenatefinch: they should probably explicitly enable it, or use a different log channel or something15:54
natefinchrogpeppe: yep15:55
rogpeppeanyone up for a review? nothing earth shaking, just part on-going config cleanup.: https://codereview.appspot.com/1342105016:45
mgzlooking16:48
arosalessinzui, it looks like the bugs needed for the 1.14 are in fix committed https://launchpad.net/juju-core/+milestone/1.14.016:48
arosalessinzui, thus I would like to start working with you to for the 1.14 and the associated QA.16:49
arosalessinzui, we can sync with davecheney when he comes on-line later in the day.16:49
arosalessinzui, but wanted to give you a heads up that we'll need to cut a release today.16:49
mgzrogpeppe: all makes sense to me16:51
rogpeppemgz: thanks16:51
sinzuithank you arosales16:52
=== Makyo1 is now known as Makyo
* rogpeppe reaches eod17:40
rogpeppeg'night all17:40
natefinchrogpeppe: g'night17:42
=== FunnyLookinHat_ is now known as FunnyLookinHat
=== _mup__ is now known as _mup_
sinzuiI cannot build juju core 1.14. I can build and run trunk. Make build for 1.14 exists with an error20:24
sinzui# launchpad.net/juju-core/provider/azure20:24
sinzuiprovider/azure/storage.go:96: multiple-value context.GetAnonymousFileURL() in single-value context20:24
natefinchsinzui: looking....20:36
natefinchsinzui: I think it's a difference in the supported version of gwacl20:46
sinzuiah20:46
natefinchsinzui: yeah, just update gwacl and that should fix it.  Sorta surprised it built in one place and not the other20:48
sinzuinatefinch, This is a case of me downgrading. I just pulled the 1.14 branch and switched to it.20:50
sinzuiI don't think the build-release-tarball.bash script will be happy with non-trunk and it always pulls gwacl tip20:52
=== _thumper_ is now known as thumper
thumpermramm: ping20:53
natefinchsinzui: what's weird is that we cut 1.14 after the change to gwacl20:53
sinzuioh?20:54
natefinchsinzui: at least, according to the timestamps on each.  the gwacl change was on 9/11 and 1.14 was cut on 9/1320:54
sinzuinatefinch, trunk clearly has a change to make it compatible: http://pastebin.ubuntu.com/6116619/20:55
natefinchsinzui: actually... nevermind, that's the latest change on 1.14, not when it was cut20:55
sinzuiIt is getting selected merged20:55
sinzuimerged20:55
sinzuimerges20:55
natefinchsinzui: yeah, that definitely needs to be on 1.14.  This is actually sort of a problem with Go in general...20:57
natefinchsinzui: I'll ping the juju list and it'll get fixed ASAP... it's EOD for me, or I'd look more into it20:58
sinzuiI think the immediate solution is to update the release script to acknowledge and use dependencies.tsv. Pulling tip for each is zany20:58
natefinchsinzui: yeah, that sounds like the right thing to do20:59
thumperfwereade_: ping21:01
* thumper recalls fwereade_'s move and packing21:02
thumperah crap21:10
* thumper makes a mental not to check the logrotate code21:11
mrammthumper: pong21:47
thumpermramm: hey, see email about timing clashes :)21:48
mrammok21:48
mrammI am also free later tonight, and might have to go out and help my friend get migraine medication21:51
mrammso perhaps it will all work out for the best ;)21:51
thumpermramm: so lets just try to touch base later?21:52
mrammsure21:52
thumperok21:52
* thumper taking last daughter to the doctor22:05
=== thumper is now known as thumper-afk
=== bigjools_ is now known as bigjools
hazmatjam, fwiw filed bug 1226307  re tool upload22:26
_mup_Bug #1226307: juju-core lazily get tools if from public bucket <juju-core:New> <https://launchpad.net/bugs/1226307>22:26
=== thumper-afk is now known as thumper
thumpermramm: I'm around now for a bit if you are free23:08
mrammI am23:08
thumperotherwise it'll be after lunch23:08
thumpergot time now?23:08
thumpermramm: I'm in the one on one hangout23:10
davecheneybigjools: hey23:39
davecheneycan you fix permissions in gwacl23:39
bigjoolsdavecheney: helleau23:39
davecheneyhttps://launchpad.net/~gwacl-hackers23:39
davecheney^ can you add juju-hackers to that23:39
davecheneyor trasfer ownership23:39
davecheneyplease23:39
bigjoolswho wants to own it?23:40
davecheneyjuju-hackers23:40
davecheneymake the owner mark ramm23:40
davecheneyhe loves code23:40
bigjoolsI generally dislike teams being members of other teams23:41
bigjoolsbecause it makes email management harder23:41
davecheneybigjools: please, this is a matter of urgency23:41
bigjoolsI'll add you and make you admin23:41
davecheneyta23:41
bigjoolsdone23:42
bigjoolsbut consider the team mess -it's the reason I quit juju hackers23:42
bigjoolsemail from other teams that it's also part of.... PITA23:42

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