/srv/irclogs.ubuntu.com/2013/03/18/#juju-dev.txt

thumperdavecheney: ta00:01
thumperyay VMs00:49
thumperfired up a clone for the live tests00:49
thumperwhile running normal ones on another00:49
thumperdavecheney: ok so some of the live tests are failing...00:57
thumperdavecheney: how often do they fail for you?00:57
thumperdavecheney: can you ping me when you're back plz01:53
thumperhi jam02:10
thumperhi davechen1y03:02
* davechen1y blows a kiss03:04
=== davechen1y is now known as davecheney
jamhi thumper04:50
jam6am is usually a bit early for me :)04:50
bigjoolsI have several maps of string to array of strings and I want something that gives me those sorted by the map keys.  How do I do it in Go?05:06
davecheneybigjools: you need to extract the keys into a []string05:07
davecheneythen sort the string05:07
bigjoolshow do I keep the values of the keys?05:08
davecheneythen using that sorted []string, use that as a key into your map05:08
bigjoolswhat map?05:08
bigjoolsI have many maps05:08
davecheneybigjools: ok, i'll step back and let you explain the problem05:08
davecheneyi mistook your previous sentence05:08
bigjoolsI should be more specific :)05:08
bigjoolsI have a http.Requesl05:09
bigjoolsargh05:09
bigjoolsI have a http.Request.Query()05:10
bigjoolsarse, hang on05:10
bigjoolswhich returns Values05:11
davecheneybigjools: maybe launchpad.net/goamz/ec2/sign.go will be of use05:11
bigjoolswhich is a map[string][]string05:11
bigjoolswe need to ultimately have a string containing "name:value,name:value" ... sorted on name05:11
bigjoolsthis is 2 lines of Python but in Go we're struggling :/05:12
davecheneyyes, Go does not provide the syntactic sugar for list comprehenions05:12
davecheneyer, whatever05:12
davecheneybigjools: what happens when you have this05:13
davecheneymap["something"] = []string { "foo", "bar" }05:13
davecheneywhat does that look like when it is encoded05:14
bigjoolsI like comprehenions :)05:15
bigjoolsdavecheney: ok we have a handle on this I think, thank you05:17
davecheneybigjools: http://play.golang.org/p/9k54JbkHsG05:20
davecheney^ a start, maybe ?05:20
bigjoolsdavecheney: awesome, good start.  Do you know if sort is case insensitive?05:22
bigjoolsor can be made so05:22
davecheneythat ist he default sort05:22
davecheneyi'm sure it is case sensitive05:22
bigjoolsI forgot to say that we need to lower case the map keys in the output string05:23
davecheneybigjools: are you doing this to sign a request ?05:23
bigjoolsdavecheney: it's part of a signing, yeah05:23
bigjoolsit's a rather complicated signature :/05:23
rogpeppemornin' all08:20
dimiternrogpeppe: morning08:21
rogpeppedimitern: hiya08:22
jambigjools: I realzie this is late, but is this correct: http://play.golang.org/p/xtOOa3bDno08:24
fwereaderogpeppe, dimitern, jam: heyhey08:24
jamh08:24
jamhi fwereade08:24
rogpeppefwereade: yo!08:24
dimiternfwereade: hiya08:24
rogpeppejam: hiya08:24
=== racedo` is now known as racedo
fwereadejust stepping out for a bite of breakfast09:41
dimiternwallyworld, mgz: standup?11:30
mgzhey11:30
dimiternjam: ping11:35
* TheMue is afk, lunchtime, biab11:37
rogpeppefwereade: any chance of a review of https://codereview.appspot.com/7815044/ ?12:39
rogpeppefwereade: i'll be happier if you've reviewed at least one of these branches :-)12:40
rogpeppefwereade: otherwise i feel a bit out on a limb12:40
fwereaderogpeppe, I'm just finishing up a good solid morning of hackery, I'll be on reviews very soon12:41
rogpeppefwereade: cool, thanks12:42
rogpeppefwereade: nice to hear BTW.12:42
rogpeppefwereade: (the hackery that is)12:42
fwereaderogpeppe, am I right in thinking that TestBootstrapAndDeploy is still "meant to be" failing at remove-unit time?12:45
rogpeppefwereade: yeah12:45
fwereaderogpeppe, well cool :)12:45
rogpeppefwereade: i got some way into fixing the test, but it didn't work, and i haven't got back to it since12:46
rogpeppefwereade: if you wanna take a look, i'll send you the branch12:46
fwereade(ie, cool, I haven't broken anything ;p)12:46
rogpeppefwereade: i *really* want to fix that bloody live test!12:46
fwereaderogpeppe, I'll grab the branch, but I can't promise to focus on it any time soon12:47
rogpeppefwereade: maybe you could have a look to check for obvious wrongness anyway12:47
rogpeppefwereade:  bzr+ssh://bazaar.launchpad.net/~rogpeppe/juju-core/223-jujutest-fix-deploy-test/12:49
fwereaderogpeppe, cheers12:49
jamdimitern: yes?13:15
dimiternjam: that was before you appeared in the standup13:15
jamrogpeppe: what is "fix rpc test failure in trunk" on the Kanban board. Is that https://code.launchpad.net/~rogpeppe/juju-core/213-rpc-test-timeouts/+merge/148162?13:16
jamI'm just noticing that the review lane went red, but I don't actually know which one that is.13:16
rogpeppejam: one mo, i'll just check13:16
fwereadejam, sorry, that was me13:16
fwereadejam, I accidentally did too much13:16
fwereadejam, I am in review mode now :)13:17
jamfwereade: yeah, I see you have 5 constraints things in the queue13:17
fwereadejam, hopefully they're reasonably clear13:17
rogpeppejam: jeeze, i can't remember!13:18
rogpeppejam: i'm pretty sure i fixed that ages ago13:18
jamrogpeppe: yeah, I think so, I think it just didn't get moved over913:19
jamwhich is why I was checking.13:19
rogpeppejam: and i don't *think* it was that CL13:19
jamrogpeppe: I don't see any RPC test fix CLs in https://code.launchpad.net/juju-core/+activereviews13:19
mgzrogpeppe: can't find anything else that looks like it...13:19
rogpeppejam: note to self: write better descriptions and link 'em to the CL in question!13:19
* rogpeppe wants an ls -lt on branches13:20
jamrogpeppe: certainly I just reviewed "Write API design" though maybe that landed now?13:20
jamrogpeppe: 'bzr branches' ?13:20
rogpeppejam: -t ?13:20
jamsome people have written plugins to check if branches have been merged, I could dig one of them out for you13:21
jamso it does the recursive "find all branches not merged into X"13:21
jamwell, find all branches merged into X and prune them.13:21
rogpeppejam: that is: i want to see them in time-last-modified order.13:21
rogpeppejam: that plugin would be useful too though13:21
rogpeppepwd13:21
rogpeppejam: i think this was the fix: https://codereview.appspot.com/7324048/13:26
rogpeppeanyone use bzr pipes here?13:36
=== TheRealMue is now known as TheMue
=== wedgwood_away is now known as wedgwood
fwereaderogpeppe, https://codereview.appspot.com/7815044/ has a question13:44
rogpeppefwereade: looking13:45
rogpeppefwereade: the worst that could happen is that the entries get seen again and ignored, i think13:45
fwereaderogpeppe, what happens if we remove an entity that was apparently never there?13:46
rogpeppefwereade: it's a noop13:46
fwereaderogpeppe, ok, cool13:47
* rogpeppe checks again to be sure13:47
fwereaderogpeppe, LGTM then assuming comment there13:48
rogpeppefwereade: thanks.13:49
rogpeppefwereade: BTW, although it isn't a problem if we remove an entiry that's not there, how do you see that happen with respect to the getAll/watch logic?13:50
rogpeppes/happen/happening/ ?13:50
rogpeppefwereade: oh, i see. ignore me.13:51
fwereaderogpeppe, I have become sensitised to such constructs ;)13:51
rogpeppefwereade: the thing that isn't so great (although i'm not quite sure how to get around it) is that while we'll doing the getAll, we're not reading from the watcher channel, so we can stall other things.13:53
rogpeppefwereade: perhaps i should start a goroutine that reads from in and aggregates the results into a slice that's processed after getAll has completed.13:54
fwereaderogpeppe, for now that feels like a good candidate for a comment, in case we see negative consequences later, but probably not worth the work right now13:55
rogpeppefwereade: agreed13:55
rogpeppedimitern: have you seen this? 245-allwatcher-state-backing14:05
rogpeppedimitern: http://pastebin.ubuntu.com/5625282/14:05
dimiternrogpeppe: looking14:05
dimiternrogpeppe: i've seen similar while fixing the uniter tests in my last CL, but all was working fine - i run the tests 10 times ok14:06
* rogpeppe is off for some lunch14:43
frankbandimitern: I see that failure every time, last one using revno 1013. go1.0.2 on quantal.14:46
jam rogpeppe: that looks a bit like the failures thumper and wallyworld saw on Raring (consistent failures)14:51
jambut I thought they landed changes to fix it.14:51
jamI wonder if it might  have regressed things on Quantal/Precise?14:51
fwereadefrankban, jam, trunk is fine on precise for me14:51
fwereadefrankban, just in case, would you try removing $GOPATH/pkg/linux_amd64 and testing again?14:52
frankbanfwereade: trying14:54
jamfwereade: confirmed. If I just run the worker/uniter tests directly everything passes for me on precise + go1.0.314:55
jam(P itself only has go1)14:55
dimiterntrunk is fine for me as well on quantal14:56
dimiternusing go1.0.314:56
frankbanfwereade: same failures. I'll try upgrading go, how to do that (gophers ppa?), and what's the version you suggest?15:02
fwereadefrankban, I'm on 1.0.2 and I *thought* that was what were were using15:03
dimiternfwereade: got a minute?15:17
fwereadedimitern, sure15:23
dimiternfwereade: i merged the changes, but u.SetCharmURL and u.SetCharm(old, removed now) assume some slightly different things15:24
fwereadedimitern, oh yes?15:25
dimiternfwereade: I'm fixing the tests now, but i'd like to look at carefully it after i propose15:25
fwereadedimitern, if the change is significant it's probably worth thinking it through before we hit the tests too hard... they might actually still be right ;p15:25
dimiternfwereade: i think i can sort it out, but not sure about one assert there15:26
fwereadedimitern, cool, let me know if you need anything15:27
fwereadedimitern, if lots of tests are broken, though, I think that is most likely to point at a problem elsewhere15:29
dimiternfwereade: not a lot, just a couple for now15:30
fwereadedimitern, ah, jolly good15:30
rogpeppefwereade: i responded to your review. (https://codereview.appspot.com/7815044) i added a comment, but resisted some of the other suggestions. YMMV.15:35
dimiternfwereade: whoohoo! all passed! proposing :)15:40
* fwereade cheers15:40
fwereadefrankban, no joy?15:50
rogpeppefwereade: i don't see why you mind about the length of a test timeout failure. if anything, i think we should increase the limit elsewhere, as a heavily loaded system may easily pause for 500ms.15:53
rogpeppefwereade: (some tests have a 5 second timeout)15:53
fwereaderogpeppe, true enough, sgtm15:53
rogpeppefwereade: cool. i wonder if we should have the short and long pauses as constants in testing somewhere actually. or as command line params.15:54
fwereaderogpeppe, not a bad idea15:54
frankbanfwereade: no :-/ tried replacing quantal own golang-* (1.0.2) with gophers ppa golang-stable (same version), still the same failures. asked Matthew to run the tests in our branch, if they pass, then I further investigate on this problem of my configuration later15:55
fwereaderogpeppe, one for our Copious Free Time ;p15:55
rogpeppefwereade: indeed15:55
fwereadefrankban, sorry to hear that15:55
dimiternfwereade: https://codereview.appspot.com/749704715:56
dimiternfwereade: if you can take a look specifically in u.SetCharmURL changes15:59
dimiternI'm off for today16:01
dimiterngood evening all16:01
frankbanfwereade: Makyo encountered the same failures in trunk. after increasing the timeouts in uniter_test.go (from 5 to 20 seconds and from 50 to 200 milliseconds) the tests pass in my machine (which is, apparently, quite slow :-/ )16:23
fwereadefrankban, crikey16:24
fwereadefrankban, I knew those tests were slow but they must be flat-out awful for you16:25
rogpeppefwereade: how would you feel about moving the Constraints type out of state and into its own package?16:27
fwereaderogpeppe, +116:28
fwereaderogpeppe, it's been itching at me once r twice in every branch16:28
rogpeppefwereade: cool16:28
rogpeppefwereade: because it resolves an import cycle problem that benji is having16:28
rogpeppefwereade: (api/params wants to reference Constraints, but state imports api/params)16:28
fwereaderogpeppe, all the better then :)16:29
rogpeppefwereade: indeed16:29
* rogpeppe really really hates arbitrary timeouts in tests.16:29
frankbanfwereade: the full suites takes about 3:30 minutes here16:31
rogpeppefwereade: i'm thinking launchpad.net/juju-core/constraints, but launchpad.net/juju-core/state/constraints could work too.16:31
fwereaderogpeppe, I'd prefer top-level than inside state16:31
rogpeppefwereade: cool16:31
rogpeppefwereade: any suggestions for another noun other than Constraints in "constraints.Constraints" ? i haven't got a good one, but thought someone might.16:35
fwereaderogpeppe, I was having wicked thoughts of constraints.T, but I don't think it'd be popular16:36
rogpeppefwereade: yeah, i was thinking about constraints.C16:36
fwereaderogpeppe, pondering constraints.Value16:36
rogpeppefwereade: i thought of that too16:36
fwereaderogpeppe, verbose enough to read well, no more annoyingly bulky than the existing specifier16:37
rogpeppefwereade: +116:37
rogpeppefwereade: and not annoyingly stuttery16:37
fwereaderogpeppe, cool16:37
fwereaderogpeppe, yeah16:37
=== deryck is now known as deryck[lunch]
rogpeppefwereade: is there any particular reason not to use constraints.Value as the constraintsDoc?18:14
fwereaderogpeppe, I am reluctant to make the db document the same type as the document I expose via the api18:15
fwereaderogpeppe, I could maybe be convinced that we can swap in a new type when we need to18:16
rogpeppefwereade: i'm not sure it's worth the cost of the separation. we already use external types in our entity documents.18:16
rogpeppefwereade: (and that too)18:16
rogpeppehere's the next branch in the allWatcher branches: https://codereview.appspot.com/765004818:28
rogpeppereviews appreciated :-)18:28
rogpeppetime to stop. g'night all.18:30
=== deryck[lunch] is now known as deryck
=== BradCrittenden is now known as bac
thumperfwereade: hey, you around.20:46
benjiOK intrepid developers, I have a new branch up for review that adds more to the API: https://codereview.appspot.com/760004420:52
fwereadethumper, heyhey21:23
thumperfwereade: hey21:24
fwereadethumper, I'm not sure how clear I managed to be earlier21:24
thumperfwereade: we should chat21:24
thumpergimmie five though to fix these bugs21:25
fwereadethumper, sorry about that, the whole machine went into spasm somehow21:29
thumperfwereade: hangout?21:34
fwereadethumper, sure21:35
* fwereade starts one21:35
fwereademorning davecheney22:17
davecheneyfwereade: howdy22:20
fwereadedavecheney, how's it going?22:20
davecheneygood22:21
davecheneytrying to get an env running on hp cloud22:21
davecheneyalso have a branch nearly ready for review that increases the delay time between mgo retries from *as fast as possible* to something we control22:21
fwereadedavecheney, cool -- not *too* painful I hope?22:21
davecheneyas always, testing is a problem22:22
fwereadedavecheney, sweet, that was annoying me again just today22:22
davecheneyesp as to do the delay, i'm working around mgo's built in retry logic22:22
davecheneywhich i'm assuming can't be changed22:22
fwereadedavecheney, I don;t recall anything that would lead me to believe otherwise22:23
davecheneythings in charm testing land are positive22:23
davecheneywhen ec2 plays ball charm-test and graph-test work22:23
* fwereade cheers22:23
davecheneybut ec2 continues to be unreliable inside its own network22:23
fwereadedavecheney, any indications on whether hp cloud is any better?22:24
davecheneynone yet22:25
davecheneysee prtv message22:25
* davecheney disappears for a quick bio break22:26
=== wedgwood is now known as wedgwood_away
davecheneythumper: can i get your $0.02NZ ob my concerns about using floats for money, https://codereview.appspot.com/7693048/23:55
thumpersure...23:55

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