/srv/irclogs.ubuntu.com/2014/10/22/#juju-dev.txt

thumperericsnow: $ rbt post -r 169 -p00:47
thumperERROR: Error updating review request draft: HTTP 50000:47
ericsnowthumper: what's the unicode table-flipping URL again?01:00
thumperhttp://emojicons.com/table-flipping01:01
ericsnowthanks01:01
ericsnowthumper: (╯'□')╯︵ ┻━┻01:02
ericsnowthumper: is there an existing review request?01:04
ericsnowthumper: perhaps a draft?01:05
thumperyep01:05
ericsnowoh, right (rbt -r)01:05
thumperyes...01:05
thumperit looks like previous attempts to upload diffs half worked01:05
ericsnowwhich review request?01:05
* thumper tries again01:05
thumpersame error01:07
thumperlooks like it is ok...01:07
thumperalthough01:07
thumperonly some of the file moves were identified as moves01:07
ericsnowwhat's the review request number?01:07
thumperbut it didn't publish01:07
thumperhttp://reviews.vapour.ws/r/16901:08
thumpersee the "-r 169"01:08
thumperif I try to click publish01:08
thumperI get: 500, internal server error01:08
thumperat least the current review looks ok01:10
* thumper will leave it there01:10
* thumper looks around for ax201:10
* thumper looks around for axw01:10
thumperoh hai axw01:21
axwthumper: hey, otp01:21
thumperaxw: yeah, standup time, can you ping me when you're done?01:22
axwthumper: finished01:30
thumperaxw: quick hangout?01:31
axwsure01:31
thumperaxw: https://plus.google.com/hangouts/_/g4kiddxgksppcg5jevrhyid5xqa?hl=en01:31
thumperaxw: re http://reviews.vapour.ws/r/169/diff01:32
thumperwallyworld_: can I get a +1 from you here: https://github.com/juju/errors/pull/1002:50
wallyworld_looking02:50
thumperaxw: has that branch got you wanting to slash your wrists?03:00
axwthumper: a little bit :)03:02
axwI'm on page 203:02
thumper\o/03:02
thumpernot too many changes needed I hope03:02
axwno, but I haven't been particularly thorough and I'm not completely au fait with this user/auth stuff03:03
* thumper is happy with cursory03:05
axwthumper: done03:10
thumperaxw: thanks03:10
* thumper looks03:10
* thumper hopes he didn't say thanks too soon...03:10
axwthanks... FOR NOTHING03:11
axwbbl, tea03:12
thumperaxw: thank you for the review. I know it was massive.  Tweaks made and pushing.03:25
thumperI do wonder how we can fix the command API usage in a better way03:26
thumperaxw: we could inject from the outside in the tests, and have nil for the api normally03:26
thumperaxw: so if it is nil, we get the api calls from the appropriate api client03:27
thumperaxw: is that what you meant?03:27
* thumper thinks on this03:28
thumperaxw: I may look at changing it for my 'user list' command to see how it looks03:28
thumperBOO YEAH!!!03:51
thumpermega user manager branch merged first time03:51
wallyworld_you sounds surprised?03:52
thumperof course not, I checked it here first03:55
thumperjust happy that CI agrees with me03:55
thumperwallyworld_: and related juju branch https://github.com/juju/juju/pull/93704:03
davechen1ythumper: "Update to the latest juju/errors.04:03
davechen1yOld Contextf and Maskf replaced by DeferredAnnotatef."04:03
davechen1yhow much of this is up for debate ?04:03
wallyworld_ok04:03
thumperwallyworld_: hey... isn't review board going to do this...04:03
davechen1yzero, can be an answer04:03
wallyworld_thumper: supposedly :-)04:03
thumperdavechen1y: zero at this stage...04:03
davechen1ythen LGTM04:04
thumperdavechen1y: but I'm open to listening04:04
davechen1ydidn't even read it04:04
davechen1yDeferredAnnotatef means jack shit to me04:04
davechen1yit's 0% improvement over the old, also unknowable methods04:04
thumperwell... I'm open to a better name, but couldn't think of one04:05
davechen1yok, so when you said zero is up for debate04:05
davechen1ythat was incorrect ?04:05
thumpereffectively it allows someone to say `defer <somename>(&err, "some text")`04:05
wallyworld_thumper: just checked, github->reviewboard worked this time :-)04:05
thumperso it can annotate the error response if it is non-nil04:05
thumperdavechen1y: can you think of a better name?04:06
davechen1yAfter ?04:06
davechen1yPossibly ?04:06
davechen1yputting Deferred at the front is as bad as04:06
thumperdavechen1y: errors.MaybeAnnotate?04:06
davechen1ytype IInterface interface04:06
=== yaguang is now known as yaguang_afk
thumperdavechen1y: I don't particularly like the name04:07
thumperdavechen1y: but I couldn't think of a better one04:07
davechen1ydefer eerrors.Maybe04:07
thumperso suggest away04:07
thumperdavechen1y: sounds like we aren't sure :)04:07
wallyworld_what's wrong with IFoo interface? :-P04:07
davechen1ysssstuttering04:08
* thumper stabs wallyworld_quitely04:08
davechen1ywallyworld_: we're not all hungarian04:08
wallyworld_i don't like hungrian, but don't mind IFoo04:08
* thumper doesn't like IFoo04:08
thumperI prefer "Foo" for the interface04:08
thumperand a concrete implementation04:08
wallyworld_and FooImpl04:08
wallyworld_i've used both04:09
thumperor namespaced04:09
thumperwallyworld_: got any ideas on a better name?04:09
thumperI'm not sure about maybe04:09
wallyworld_me either, .... maybe04:10
* thumper invites bikeshed colours04:10
thumperdavechen1y: any other ideas?04:10
wallyworld_thumper: i don't mind Annotate04:10
thumperwallyworld_: but it isn't Annotate04:10
wallyworld_it should be obvious it will pass nil through04:10
thumperit is currently 'DeferredAnnotatef'04:10
davechen1ythumper: honestly, you';ve done the work now04:11
davechen1ythe work to change this now or change it later is the same04:11
davechen1yso leave it04:11
* wallyworld_ is bad at names04:11
thumperdavechen1y: how about we paint it later?04:11
thumperdavechen1y: agreed04:11
* thumper merges for now04:11
thumperdavechen1y: magic words needed here: http://reviews.vapour.ws/r/232/04:12
davechen1y"I ain't even mad, bro" ?04:12
thumperta04:13
thumperbugger...04:14
* thumper waits for the bot to fail04:15
thumperat least it should fail fast04:15
* thumper takes a deep breath and resolves a shed load of conflicts in his user list branch04:16
* thumper rages against the machine04:39
thumperWTF...04:39
thumpermissing }04:40
axwthumper: I meant it would be good if the cmd/juju package passed an API client into the cmd/juju/user command constructor (if it had one)04:55
axwand the tests could do their own mock API client04:56
thumperI don't think it knows at that time, but I have an idea...04:56
axwIOW, make cmd/juju/user unaware of the API client code04:56
* thumper is trying it out04:56
=== urulama is now known as urulama__
* thumper promises to do documentation and email reading tomorrow05:56
thumperlong day...05:56
thumperperhaps I'll exercise more tomorrow05:56
thumpernight folks05:57
fwereadejam, do you have a few minutes? I need someone to talk to gsamfira about reboots09:09
fwereadejam, I'm completely failing to multitask today and I don't want to drop the code I'm writing09:10
fwereadealternatively, dimitern or voidspace, perhaps? ^^09:10
voidspacefwereade: I'm happy to listen - not a topic I know about :-) Is that sufficient?09:13
dimiternfwereade, hey, I'm sprinting in bluefin with mattyw and the cts guys for the rest of this week09:13
fwereadevoidspace, looks like it's you then :)09:14
fwereadevoidspace, you don'yt need to know anything going in09:14
voidspacefwereade: sure09:14
voidspacefwereade: do gsamfira sort this out between ourselves from here?09:15
fwereadeok, gsamfira, voidspace -- please hang out and introduce yourselves at your convenience :)09:15
voidspacecool09:15
voidspacegsamfira: hi, do you want to start a hangout or shall I?09:15
gsamfiravoidspace: If you prefer a 10 minute hangout to bring you up to speed, we could do that now :)09:15
gsamfiraeither way is fine :P)09:15
gsamfira:)09:15
voidspacegsamfira: that's fine - go ahead and start a hangout and send me the link09:16
gsamfiralink sent :)09:17
TheMuemorning09:29
TheMuevoidspace: now my power adapter broke and I had to organize a new one *sigh*09:29
voidspaceTheMue: my laptop is cursed09:30
voidspaceTheMue: it even broke your power!09:31
TheMuevoidspace: *rofl*09:31
* fwereade lunch, would love a review of https://github.com/juju/juju/pull/93910:44
jamTheMue: voidspace: would you guys want to move the meeting up by 45min? It works better for me and means we won't run into this as much. (we'll need to move our 1:1 though voidspace)11:02
voidspacejam: that's fine with me - I would prefer to move the 1:1 forward rather than back though :-)11:05
voidspacejam: if possible11:05
voidspacejam: 9:15am on a monday morning I tend to be a bit blurrier than usual...11:06
TheMuejam: just done calculations due to change of CEST to CET this weekend. so if I'm right the meeting would be 15 mins earlier for me then from Monday on. ;) so change is ok.11:08
voidspacegsamfira: ping11:08
gsamfiravoidspace: pong11:09
voidspacegsamfira: how does jujud on the parent know to clear the reboot flag?11:11
voidspacegsamfira: is it just on restart, if it sees the flag it clears it11:12
gsamfirathe lock is created on all machines. Parent and container. It gets cleared when the reboot worker starts11:13
gsamfiraboth the local lock and the flag11:13
gsamfiraon the state machine11:13
gsamfirahttps://github.com/juju/juju/pull/782/files#diff-127c383eb8a738c5f51ef175dfee5734R8011:13
voidspacegsamfira: if jujud crashes (and is restarted by upstart) in between setting the flag and actually rebooting, what happens11:13
voidspace(jujud on the parent machine - not the state machine)11:14
voidspacegsamfira: or are you saying that it's the reboot worker on the state machine that knows when the parent machine has rebooted and clears the flag?11:15
gsamfiraright now, the flag gets set by the hook when the tool is called: https://github.com/juju/juju/pull/831/files#diff-8ff4032006e797fd3c81d33149202160R541 . When that happens, the worker notices the flag, grabs the locks and exits with worker.ErrMachineReboot. The machine agent then sees the error,  and issues a reboot11:18
gsamfiraso if the agent gets killed before the reboot is actually executed, when it comes back up, it simply clears the flag11:19
voidspaceand reboot doesn't happen11:19
gsamfiraproblem is, that the containers might do the right thing anyway and shutdown11:19
gsamfirayeah11:19
voidspacewhat about if the flag was cleared *immediately* prior to the actual reboot command being executed11:19
voidspaceso there's only microseconds of race condition between the flag being cleared and the reboot for a crash to interfere11:20
gsamfiraI would actually prefer this, but that means reconnecting to state after the fatal error is returned11:20
gsamfiraif that is fine with everyone, I could revert to a previous version that did this11:20
voidspacebut william didn't like this approach?11:21
gsamfiranot that much. To be fair, it was a bit ugly.11:22
voidspaceit seems we just traded one race condition (jujud dies after clearing flag) for another (jujud dies after flag is set)11:22
voidspaceand clearing the flag before reboot saves having to have the uuid11:22
voidspaceI guess it depends on *how* ugly11:22
gsamfiraI can give it a shot and make it pretty11:23
gsamfira:)11:23
voidspacegsamfira: cool11:24
mattywvoidspace, ping - when you have a spare moment - not urgent11:28
jamvoidspace: TheMue: I moved the time, just confirm that it matches what you were thinking it would be11:28
jamTheMue: would you like to join the hangout again to quickly go over what you're working on?11:29
voidspacejam: looks good11:29
voidspacemattyw: pong11:30
mattywvoidspace, cancel that ping actually11:30
mattywvoidspace, but thanks anyway11:30
jamvoidspace: and then for our 1:1 how about just after the standup?11:30
voidspacemattyw: unpong11:30
voidspacejam: great11:30
mattywvoidspace, ack11:30
voidspace:-)11:30
jamhmmm.. TheMue is probably out for lunch. I'm going to go help with homework and be back in a bit. Ping me when you're back around so we can coordinate again.11:32
TheMuejam: back again12:15
TheMuejam: short status is, that the test matrix and the tests are defined, in there is a setup for each scenario and here I'm currently working on (some manipulations in state, thankfully nowhere else)12:17
TheMuejam: and new standup time is confirmed12:18
jamTheMue: sounds good, I'm in and out a bit while I help with homework (we also had to discuss an incident at school today).12:29
TheMuejam: oh, I know these discussions. I hope nothing too bad.12:31
jamTheMue: just some pushing, etc. But wanting to make sure he learns well at 7 so it isn't a bigger problem at 17 :)12:32
TheMuejam: hehe, good way, yes12:32
anastasiamacericsnow: Eric, I've committed some changes to github but did not get review automatically created... was I meant to have are view or do I need to do rbt stuff? I think it's meant to be 940 (number appended on PR)13:03
anastasiamacericsnow: did rbt meanwhile..13:11
jamanastasiamac: http://reviews.vapour.ws/r/235/ "this review is not yet public"13:12
jamanastasiamac: so is there an "anastasialinux" user ? :)13:12
anastasiamacjam: i created 235 manually by running rbt post13:18
jamanastasiamac: sure, but if you create one, you do still need to make it public when you're done13:19
anastasiamacjam: i have ;-)13:19
jamanastasiamac: anyway, it definitely looks like we need to check on why you didn't get an automatic review post13:21
jambut the rbt thing seems to have worked13:21
anastasiamacjam: mac is start of my family name and not an affiliation :-)13:21
anastasiamacjam: thnx for checking. i really appreciate13:21
jamanastasiamac: I realized that, but when I first read it I thought it was because you had multiple active accounts and this was you connecting from your mac (given the recent discussions we've been having of trying to get you set up.)13:21
jamI realized when I saw your github name was the same13:22
jamanastasiamac: fwiw, you should also be added to the github.com/juju/ "hackers" team, so you can vote on merge proposals, etc. I'll do that now13:23
jamhmm.. .says you are part of the team, what is the sorting on this page13:23
jamI see you there now13:23
jamanastasiamac: I thought that might be part of the reviewboard issue, but obviously not related13:24
anastasiamacjam, ericsnow: my push had 2 commits with 25 files overall... maybe that caused an issue?13:25
jamanastasiamac: it shouldn't13:25
jamwe've certainly had much bigger13:26
anastasiamacjam: oh well, I'll put it down to beginner's luck and will call it a nite :-) thnx for feedback!13:27
natefinchahh13:50
natefinchyes, that's a good fix for the import cycle.  Or at least, an expedient fix13:50
natefinchthis is a good place to use the export_test pattern13:51
natefinchi.e. make an export_test.go file, which by definition is only compiled when peergrouper tests are running - it can export the private functions that the tests need13:51
natefinchso like13:52
natefinchvar PrivateFunction = privateFunction13:52
natefinchwill make privateFunction available for use in tests, just have to rename the calls to use PrivateFunction instead13:52
* fwereade needs a walk, bbiab13:56
perrito666natefinch: I was making that but dind find a way for the types13:57
perrito666so I guess a solution there is to always export the types and since members are private make accessors for those in export_test13:58
perrito666man, its so hard to get anniversary gifts when you share credit cards with your wife :p14:02
natefinchhaha14:03
natefinchperrito666: yeah, not sure what to do about types14:04
perrito666I googled a bit and I dont see a much cleaner solution for types14:06
perrito666I mean I do, but I dont know if the cost of re-writing half peergrouper is worth it14:06
voidspacecomputer having "issues"14:22
voidspacerebooting14:22
natefinchug, so I had the stupid idea to try out vim today.... I can't even finish making my .vimrc without hitting what seems like a ridiculous bug14:39
natefinchWanted to set up the right tabstops, so google, find this: http://stackoverflow.com/questions/1878974/redefine-tab-as-4-spaces/1878984#187898414:39
natefinchright, so copy and paste into my vimrc, right?  WRONG14:39
perrito666that works14:40
perrito666that is what is on my vimrc14:40
rick_h_natefinch: heh, it hates you14:40
natefinchit's not that the content is wrong... it's that copy and paste is fubared.  What actually gets pasted is this: http://pastebin.ubuntu.com/8628514/14:40
rick_h_natefinch: heh, :set paste14:40
rick_h_natefinch: I've mapped it to F1114:41
rick_h_natefinch: but yea, that happens, not a bug.14:41
rick_h_natefinch: it's other vim settings kicking in for you14:41
rick_h_and then :set nopaste to turn back14:41
perrito666natefinch: for vim every input is input, so if you dont set paste as rick_h_ says it will try to autocomplete your text14:41
rick_h_and do things like carry on your comment block from one line to the next/etc14:42
rick_h_which is darn handy writing a comment block, but sucks for pasting text14:42
perrito666natefinch: if you think that sucks try pasting html :p14:42
natefinchthis is the problem with using a terminal as software - vim can't tell the difference between a paste and me typing really fast.  Which is epically dumb14:42
perrito666natefinch: there is no, you are not using a paste feature of the editor14:43
natefinchI was even ok with having to put vim into edit mode, but now I need to put it into paste mode too?  Do people not copy and paste all the time in vim?14:43
perrito666natefinch: but if it makes you feel better you can use gvim14:43
rick_h_natefinch: not large blocks of text with mixed comments/etc no14:44
perrito666which is perhaps the most esthetically offensive piece of software ever14:44
rick_h_natefinch: didn't they teach you copy/paste is bad :P14:44
natefinchperrito666: I did run gvim for just long enough to have it burn my eyes before I closed it down14:44
rick_h_esthetically? it's an editor. Give me a blinking cursor and a keyboard baby :)14:44
rick_h_ah, right you have to turn off all the menu/tec14:44
rick_h_etc14:44
rick_h_toolbars14:44
perrito666rick_h_: I like my editor to be surrounded by not so much uglyness14:45
perrito666:p14:45
rick_h_perrito666: I prefer it to be surrounded by nothing :)14:46
perrito666hehe14:46
rick_h_perrito666: natefinch pics sent with gvim running :)14:48
perrito666rick_h_: you use gvim set up exactly like vim :p14:50
perrito666you dont use the ugly graphical things that come in gvim14:51
rick_h_perrito666: except I get better mouse integration and such :)14:51
rick_h_perrito666: but yea14:51
perrito666rick_h_: ah true, interesting indea, I might try it, although I have picked the habit of bg/fg mi vim after peer programming with mgz14:52
rick_h_perrito666: ah, I just us tiling and flip active windows vs fg/bg14:52
mgzeheh, evil ways14:53
perrito666aghh why ubuntu keeps setting my apt with local mirrors14:54
natefinchvim tutorials need to be written by people who *haven't* been using vim for 30 years14:56
perrito666natefinch: they need to be written by both, the new people write "to do this use <placeholder>" and then the old guys fill placeholder14:57
natefinchthey're all like 10 pages of different ways to edit and delete shit, and you have to do a full text search to find all the basic stuff.  Like, how do I make a new tab?  How to I switch tabs?  How do I open a friggin' file from inside vim?  How do I undo?14:59
perrito666natefinch: just create your own config, itll be faster, I dont think anyone uses the defaults for thos15:02
perrito666those15:02
perrito666they suck15:02
natefinchok, so .... how do I open a file once I'm in vim?  it seems like :o is the right thing, except vim doesn't seem to like anything I type after that as a filename15:04
perrito666natefinch: :edit file15:05
perrito666for the current buffer15:05
perrito666:tabnew blah15:05
perrito666for a new tab15:05
perrito666and if you have a decent sized screen you can :vsplit your screen15:05
natefinchok15:06
natefinchhow do I switch to the other buffer?15:07
mfoordTheMue: after I made the change to use a const for "none", are you happy with my ec2 SupportAddressAllocation mp?15:08
perrito666natefinch: :buffer numbe15:08
perrito666to know which is which :buffers15:08
perrito666natefinch: you could use nerdtree which is that fs tree that you can see on rick_h_ gvim, but it sucks15:08
natefinchno but really, how do you actually do it, because I'm not typing 14 characters every time I want to switch back and forth15:09
perrito666there is only so much you can do with a terminal15:09
perrito666natefinch: lol, I dont use buffers I use tabs15:09
mfoordTheMue: http://reviews.vapour.ws/r/211/15:09
perrito666but I actually have a shortcut around there for changing buffers15:09
TheMuemfoord: sure, mom15:10
natefinchperrito666: I have a 30" screen, not using a split screen would be terrible15:10
perrito666natefinch: noone really types these things, you figure the ones you use and shortcut them15:10
* natefinch goes back to sublime text15:11
perrito666natefinch: lol15:12
perrito666vim is a way of life, you cannot have one day stands with it15:12
perrito666btw, good luck exiting vim15:12
TheMuenatefinch: hehe, I moved back from ST to my good old vim.15:13
natefinchhaha.... I know how to exit vim :)  I learned to edit with vim a long time ago because ssh...15:13
natefinchyou know what I can do with sublime text? Grab a tab, pull it into a different window on a different screen.  It takes a half a second with this new fangled thing they call a mouse :)15:14
TheMuewhat is a mouse?15:14
mfoordI'm pleased that are still options for those afraid of GUIs15:15
TheMuethose animals our cat fetches from time to time?15:15
mfoord;-)15:15
perrito666natefinch: I like sublime, I just dont feel like paying 70 bucks for it :p15:15
natefinchperrito666: I found it to be worth the $70 after using it in nag-mode for a year or so15:15
TheMueor you can reserve one of your cores and run Atom15:16
natefinchlol15:16
natefinchI did eventually install Atom, but after running it for about 30 seconds I didn't really see a point if I was already used to ST15:16
natefinchand ST is like 1000 times faster15:18
perrito666I actually wrote my own IDE with a friend, but we are both too lazy to add go support15:19
TheMuenatefinch: but hey, you can develop plugins in this fantastic language they call JavaScript15:19
* TheMue has to say he likes JS like he likes having a flu15:20
perrito666TheMue: I dont really mind writing it, as long as I dont have to read it15:21
TheMueperrito666: oh, so now I know how you are. you abuse maintainers. WORN (write-once, read-never) coder.15:22
TheMue:D15:22
perrito666TheMue: only in javascript, and perhaps php if I really have to15:23
TheMueperrito666: ouch, ok, reasonable ;)15:23
perrito666TheMue: the last time I had to write JS my job description was senior python dev, so I only wrote the JS with the "father helping child to do homework" disclaimer "Ill write this, but you will have to understand it and explain it later" :p15:24
TheMueperrito666: hehe, reminds me of an old colleague and perl fan. first comment in his code: "don't read any further if you don't understand this statement: ..." with something I never understood.15:26
perrito666lol15:28
rick_h_natefinch: https://www.youtube.com/watch?v=XXJO_Swmdnw and https://www.youtube.com/watch?v=KVAeelM-0QI15:43
rick_h_natefinch: and https://www.youtube.com/watch?v=SzrcMilnre815:43
natefinchrick_h_: thanks... those looks cool, but I think I'll stick with ST.  I'm not sure I'd really get much from vim, other than hacker cred16:01
rick_h_natefinch: cool, use what works for you. If you think on vim again let me know. it takes some time but I can't move back16:02
rick_h_natefinch: have the same keybindings in my shell as I do in my editor and such, <316:02
perrito666mm, private methods on interfaces behave funny :p16:27
sinzuinatefinch, is there a plan for win images in os streams, possibly at cloud-images.ubuntu.com16:37
bodie_hello all, I'm trying to call a subpackage API client (api/actions/client.go) from cmd/juju; however, there's no NewAPIClient method for that subpackage client type on cmd.Context16:53
=== urulama is now known as urulama_afk
natefinchsinzui: we're trying to figure out what to do with win images...17:10
perrito666rick_h_: the videos suggested from your links are fun "how to become ultra productive writing code with vim" I am sure that if the difference on the speed of your programming is significant depending on how fast you write you re not putting enough though into your logic17:56
perrito666rick_h_: but the video tutorial is nice17:56
rick_h_perrito666: they're my videos :)17:57
rick_h_perrito666: did them a few years ago trying to help convert some folks17:57
perrito666rick_h_: the bar with the keys+mouse is a nice touch17:58
rick_h_perrito666: and true enough, but there are times when you've given tasks that knowing the editor better help make a lot smoother, TDD, csv/test data editing/etc17:58
perrito666rick_h_: true, the thing is I actually clicked on some of those suggestions :p17:58
rick_h_being better able to flow from MVC files of code and such are really helpful keeping the brain on track17:58
perrito666rick_h_: I see you really make something of the mouse integration Ill try gvim again17:59
=== urulama_afk is now known as urulama
bodie_let me grab a quick review on https://github.com/juju/names/pull/3018:30
bodie_miniscule change to export a struct member for using tags over the wire, blocking an api PR18:30
perrito666sometimes godeps reminds me too much of ensure availability18:31
bodie_I noticed there's a Go mode for LightTable18:33
bodie_kinda curious about that18:33
natefinchsomeone review this trivial change?  It's just a typo: http://reviews.vapour.ws/r/214/18:39
mfoordg'night all18:41
perrito666natefinch: done18:42
natefinchperrito666: thanks18:44
perrito666np, running tests, not like I can do much else at some parts18:46
perrito666mm can anyone run the full test suite?19:06
perrito666I got provisioner failing when I do a full run but not on isolation19:06
natefinchquick review to fix a critical bug?  http://reviews.vapour.ws/r/237/19:26
natefinchperrito666: I'll run the full test suite if you review that fix :)19:27
perrito666heh19:27
perrito666btw, the review board thing is empty Ill use github19:27
natefinchdammit19:27
natefinch mongod --version19:27
natefinchTokuMX mongod server v2.0.0-mongodb-2.4.10, using TokuKV rev 668f1118593ba0976b6ec68768062f64d418ec8319:27
ericsnownatefinch: is it still not posting the diff?19:27
natefinchericsnow: dunno, didn't notice19:28
natefinchericsnow: guess not19:28
natefinchperrito666: I uploaded the diff19:28
natefinchericsnow: at least rbt post -u is working now19:28
ericsnownatefinch: looks like RB was fussing about the diff that github gave it19:30
ericsnownatefinch:  only one other auto review request  has had any issues (unicode related)19:31
perrito666natefinch: I can think of a couple of nicer fixes19:38
natefinchperrito666: oh yeah?19:39
perrito666like making updateDistroInfo take a Reader and making something else wrap it and you can test updateDistroInfo and ignore the wrapping function that only opens a file19:39
perrito666natefinch: and I am pretty sure that there is a way to use PatchValue :p but I have not looked that much into it19:40
perrito666"oh yeah?" from your manager usually means that I will end up doing the programming equivalent of cleaning toilets right?19:41
natefinchperrito666: I was trying to go as neutral as possible :)19:41
natefinchperrito666: it's a good point about avoiding reading from disk19:42
perrito666natefinch: also I feel that SetDistroInfo breaks isolation a bit19:43
natefinchperrito666: it's in export_test so it only is exposed to tests in that package19:43
perrito666natefinch: breaks isolation between tests19:43
perrito666there are no other tests, so its a bit irrelevant19:44
perrito666but you never know19:44
natefinchperrito666: oh, I see what you mean19:44
perrito666there, nice and tidy in the right lines in the reviewboard19:47
perrito666I am not that clear explaining it on the air19:47
bodie_hm19:47
katcook this is driving me slightly batty... i have 2 testing suites, A embeds B. A has a TearDownTest and if i reset a context in this method, i get a panic saying it's already been reset. if i don't, it's not reset. is anyone familiar with gocheck and suites?19:47
perrito666ericsnow: I believe the name resolution of reviewboard is not going so well in mails19:48
perrito666http://ec2-54-165-123-2.compute-1.amazonaws.com/r/238/19:48
perrito666:p19:48
ericsnowperrito666: yeah, I saw that19:49
bodie_my godeps -t $(go list github.com/juju/juju/...) > dependencies.tsv.new is significantly different than the old one.  is anyone else having this issue?19:49
ericsnowperrito666: it's on my list of low-priority bugs :)19:49
perrito666ericsnow: completely agree19:49
natefinchperrito666: I fixed the isolation thing.  I don't think I'll bother to fix writing to disk... it's not a huge deal, and it keeps the production code more obvious19:49
perrito666I couldnt care less what is before /r/###19:49
perrito666katco: that sounds odd19:50
perrito666its the only difference?19:50
bodie_this is the case even if I do godeps -t *in master immediately after running godeps -u*19:51
katcoperrito666: meaning only difference between tip and my branch?19:51
perrito666katco: the only difference between your two suite runs is commenting the context reset?19:51
katcoperrito666: ah, yes. if i toggle commenting out the resetContext(...) i get different classes of failures19:52
katcoperrito666: commented out, i get a complaint that i'm adding a machine trying to be a state server when it's the 3rd machine to be added (context not being reset)19:52
katcoperrito666: uncommented, i get the panic saying it's already been reset19:52
katcoperrito666: and i'm fairly sure it's something to do with order of operations b/t the embedded suite and how i'm calling TearDownTest et. al. but i'm not able to pin it down as of yet19:53
perrito666katco: I was unde the impression that if you want to call TearDownTest on a "parent" type you need to do it explicitly19:54
perrito666so I am a bit puzzled19:54
katcoperrito666: me too... i mean please work under the assumption that i'm just doing something wrong. i just don't know what.19:54
perrito666natefinch: I am not savvy enough to know if that solves the issue of concurrency19:55
katcoperrito666: http://reviews.vapour.ws/r/87/diff/#319:56
katcoperrito666: you can see on L2602 i commented out the reset because my tests were panicing, but now the StatusSuite has a failure19:57
perrito666katco: this might sound idiotic, have you tried swaping the calls?19:57
katcoperrito666: i believe when i first ran into it, but let me try again19:57
perrito666katco: have you tried turning it off and on again?19:58
perrito666:p19:58
katcoperrito666: wait a second... have i wandered into a tiere-1 call-center!?19:58
perrito666Well, I am south american :p19:58
katcoi'm not using windows dammit! there is no start button!19:58
perrito666and I worked on a call center for 6 hs19:59
katco(tests running now)19:59
bodie_so I guess nobody else is having that problem? lol19:59
perrito666bodie_: sorry I have not tried, but I actually did not add a dependency in ages19:59
perrito666bodie_: natefinch is the resident godeps guru :p20:00
bodie_yeah, it's something different, a whitespace thing I think20:00
katcoperrito666: oh btw, what is even stranger is i'm doing -gocheck.f to filter down to just a StatusSuite test, yet this is still having an effect20:00
thumperwaigani: are you really around?20:01
thumperwaigani: notice the new standup time?20:01
natefinchbodie_: you know you can just do godeps -t ./...20:01
katcoperrito666: test failed with a panic still =/20:01
perrito666morning thumper20:01
waiganithumper: yes and no20:01
thumpero/ perrito66620:01
katcohiyo thumper20:01
natefinchbodie_: from the juju root dir of cours20:01
thumperwaigani: it is now20:01
waiganiah20:01
bodie_natefinch, aye20:01
perrito666katco: at that point I believe its worth seeing what is going on in the parent TearDown20:02
bodie_natefinch, http://paste.ubuntu.com/8631657/ is the diff against master immediately after godep -u20:02
natefinchbodie_: so, yes, I see some differences... but it's mostly BS20:03
bodie_right20:03
katcoperrito666: tons of stuff... it hooks into JujuConnSuite20:03
bodie_I've just bumped into this before and I'm not sure what's happening or why -_-20:03
bodie_very irritating to fix manually20:03
bodie_just wondering if it's something someone else has seen before I assume PEBKAC20:03
perrito666bodie_: wrong version of godeps?20:04
bodie_just updated godeps to make sure20:04
natefinchbodie_: so, the bitbucket ones are because they're windows only, and godeps currently only shows the dependencies for things that are compiled for your current OS.  This is fixable in our code if we're careful20:04
katconiemeyer: ping20:04
perrito666bodie_: we are programming the thing, its always PEBKAC20:04
natefinchfor example I did this with my npipe code... you just import it without using it20:04
niemeyerkatco: Hey20:04
bodie_weeeell, there's pebkac and then there's pebkak::ID-10T20:05
katconiemeyer: howdy :) i have a gocheck question. i'm seeing some behavior i don't understand20:05
katconiemeyer: do you have time to review the backlog b/t me and perrito666?20:05
niemeyerkatco: Not right now, but I can do it soon20:05
natefinchbodie_: the syslog difference is just an ordering difference, someone didn't put it in the right spot20:05
niemeyerkatco: I can answer a specific question now, though20:05
katconiemeyer: not a problem, whenever you can get to it. thank you :)20:06
bodie_natefinch, okay, I just want to make sure I'm not that person before I go opening a PR with content that messes it up for others20:06
natefinchbodie_: and errgo... I don't have a difference for errgo in mine... I can't tell what the actual difference is in your pastebin20:06
katconiemeyer: i'm not sure i can pin it down to 1 question... it's a dependency issue b/t testing suites and TearDownTest20:06
katconiemeyer: trying to reset a context, but if i do that it panics b/c calling TearDownTest on parent suite also does that20:07
katconiemeyer: however if i don't, it appears as though the context doesn't reset20:07
niemeyerkatco: Okay, there are no "parent" suites, strictly speaking20:07
natefinchbodie_: I tried to get people to let me put in a test that ensures godeps -t outputs the same contents as are in dependencies.tsv but I got shot down20:07
katconiemeyer: sorry, a suite i've chosen to embed within another suite20:07
niemeyerkatco: Got it.. still doesn't make much sense to me.. will need more context indeed20:08
katconiemeyer: i'm almost absolutely doing something wrong and stupid. just trying to figure out what :)20:08
natefinchbodie_: ahh, I see... someone removed the use of errgo but didn't remove the godeps entry20:08
bodie_there we go20:09
bodie_okay20:09
bodie_cool20:09
bodie_and I'll just leave the windows deps in there20:09
natefinchbodie_: yep20:09
perrito666it would be awesome if godeps would support creating dependencies with the same type of filter as go _windows _linux and such20:10
natefinchbodie_: I blame thumper20:10
natefinchor rather, git blame does :)20:10
thumperwat?20:11
natefinchperrito666: yeah, roger wants to add that, but hasn't gotten around to it20:11
perrito666mmmpf on my way back from brussells I watched the lego movie and now every time I read/say/hear awesome this obnoxious song pops into my head20:11
natefinchthumper: dependencies.tsv still included github.com/juju/errors20:11
natefincher errgo20:11
thumperdavecheney: http://reviews.vapour.ws/r/233/20:11
thumpernetyes...20:11
thumpernatefinch: yes20:11
thumpernatefinch: errgo has slipped into juju/charms and juju/utils20:11
thumperso until that is unpicked, still needed20:12
natefinchthumper: godeps doesn't think it's used anymore20:12
natefinchthumper: maybe that's been fixed20:12
thumpermaybe...20:12
natefinchapologies... not your fault, then20:12
natefinchthumper: yeah, quick grep says it's not used anymore.  That's good.20:13
thumpernatefinch: feel free to submit a branch that removes it20:14
bodie_hrm20:15
bodie_thumper, it'll be in reviewboard 178 in about 1 minute -- should I just include that change there?20:16
bodie_thumper, the godeps tweak to remove errgo, that is20:16
bodie_thumper, also, I could really use a confirmation on your query there20:17
bodie_http://reviews.vapour.ws/r/178/#comment122520:19
natefinchhttp://reviews.vapour.ws/r/239/20:20
natefinchthumper: ^20:21
natefinchremoves errgo and fixes the ordering and fixes the windows-only imports problem so godeps -t ./... > dependencies.tsv produces the right output20:21
niemeyerkatco: Okay, here20:21
katconiemeyer: can you review the backlog, or would you like me to go over it again?20:22
natefinchthanks for the review davecheney20:22
niemeyerkatco: Reading20:23
katcoty20:23
niemeyerkatco: What does it mean to "reset a context"?20:23
katcohttp://reviews.vapour.ws/r/87/diff/#3 L260220:24
katcoit is in JujuConnSuite; looks like it kills pingers and then calls JujuConnSuite.Reset20:25
thumperbodie_: so, re http://reviews.vapour.ws/r/178/#comment1225, I don't think that ServicesCharmActions is a good client call.20:31
thumperbodie_: it exposes the wire protocol objects unnecessarily20:31
thumperbodie_: and it isn't going to be called by the juju command line client20:32
thumperbodie_: perhaps just don't export the method?20:32
thumpermenn0: hangout?20:32
menn0thumper: yep. the standup one?20:33
thumpersure20:33
niemeyerkatco: Have you noticed there are two different suites being setup there?20:33
niemeyerkatco: StatusSuite and JujuConnSuite?20:33
niemeyerkatco: While there's only a single anonymous type in the struct20:33
bodie_thumper, sounds good to me20:33
katconiemeyer: in filteringFeature's SetUpSuite?20:34
niemeyerkatco: In the suite20:34
niemeyerkatco: filteringFeature is manipulating sub-fields on an embedded suite20:35
niemeyerkatco: and in the TearDownTest, the commented out method I suppose is a method of the anonymous field as well20:35
niemeyerkatco: So there are at least three different ways in which the embedded suite is being used:20:36
niemeyer1. An explicit method of the embedded type20:36
niemeyer2. A method of a field from the embedded type which is a suite20:36
niemeyer3. A suite method from the embedded type20:37
niemeyerkatco: I'm not surprised the behavior is unclear20:37
niemeyerkatco: Unfortunately I cannot tell you what is wrong, but I bet that cleaning up that situation would reveal the problem20:38
katconiemeyer: so, i believe i'm only utilizing methods on my embedded type (StatusSuite) which may be forwarding calls onto its embedded suite(s)20:38
niemeyerf.JujuConnSuite.SetUpTest(c)20:38
niemeyerkatco: That's not a method of the embeded type20:38
niemeyerkatco: It' s a method of a field of the embedded type20:39
katconiemeyer: ah i missed that... i think that's in error, let me correct it20:39
niemeyerkatco: and then there are both20:39
niemeyerf.StatusSuite.TearDownTest(c)20:39
niemeyerand the suggestion of20:39
niemeyerf.resetContext(c, <-f.ctx)20:40
niemeyerWhich is the problematic piece20:40
katconiemeyer: except the ctx i pass in is a member of filteringFeature... but perhaps resetContext relies on some member variables of statusSuite?20:41
niemeyerkatco: I don't really know20:41
katconiemeyer: also puzzling is how 2 different instances of suites could affect one another20:41
niemeyerkatco: I would try to make the interface of StatusSuite more clear20:41
niemeyerkatco: and would probably not have it as a suite in the first place, if it's supposed to be a helper20:42
katconiemeyer: i think you're on the right track... i'll start teasing things apart20:42
katconiemeyer: thank you :)20:42
niemeyerkatco: Code that calls one another can affect one another.. :)20:42
niemeyerkatco: Which is why a cleaner interface would help out20:43
niemeyerkatco: np20:43
katconiemeyer: hrm, but if they're separate instances, i don't know how that works haha20:43
katconiemeyer: at any rate, thanks for taking the time20:43
niemeyerkatco: I have avoided using that sort of SetUpSuite/TearDownSuite "forwarding" in recent projects20:43
niemeyerkatco: It's much better to have a helper with a clear interface that is called out by the suites20:43
niemeyerkatco: So there's only one SetUpSuite/TearDownSuite20:44
katconiemeyer: it does cause complexity, but it appears to be the way juju does things at the moment20:44
niemeyerkatco: and the tasks inside it are clear20:44
katconiemeyer: i like your idea better20:44
niemeyerkatco: Well, it doesn't have to be20:44
waiganithumper: inserting a new instanceData doc, what fields need to be populated? _id, instanceid ...20:49
thumperwaigani: pretty much21:05
waiganiok21:05
thumperwaigani: what file is it in again?21:06
waiganithumper: state/upgrades.go21:06
thumperwaigani: I was meaning the instance data struct21:06
* thumper has found it21:06
waiganioh sorry21:07
thumperwaigani: you'd need a status too21:07
waiganiwhere do we get the status from?21:08
waiganiah machine.Status()21:08
thumperwaigani: hmm...21:10
thumperwaigani: no, that appears to be a different status...21:10
thumperwaigani: just don't worry about the instance status, that is provider specific21:15
thumperand can be empty21:15
thumpershould be fine21:15
waiganithumper: sgtm21:15
bodie_thumper, tweaked what you asked for on RB 17821:17
=== urulama is now known as urulama_eod
thumperdavecheney: would be good if you could look at http://reviews.vapour.ws/r/233/ earlyish so I can address issues to land today21:28
* thumper goes to walk the dog while the weather is still good21:28
waiganidavecheney: wont the 9am stand-ups be very early for you?21:47
davecheneywaigani: meh21:50
thumperericsnow: are you still on http://reviews.vapour.ws/r/237/ ??22:44
thumperericsnow: it is critical and blocking landing22:44
ericsnowthumper: I took a cursory look at it but perrito666 was already giving it a more thorough review22:46
thumperericsnow: I thought it was your branch22:46
ericsnowthumper: I'm not sure where Nate left it22:46
thumperwho owns it?22:46
ericsnowthumper: Nate (at least he did)22:46
thumperit shouldn't just be left...22:46
thumperit is a critical bug22:46
thumpergrr22:47
ericsnowthumper: I can pick it up22:47
thumperericsnow: I'll take it22:47
thumperit is your EOD22:47
ericsnowperrito666: do you know where Nate left that distro info patch?  was he still addressing any of your comments22:48
ericsnow?22:48
ericsnowthumper: k, thanks22:48
ericsnowthumper: FYI Nate and Horacio were having a lengthy discussion here about the patch22:50
thumperericsnow: yeah I commented too22:50
ericsnowthumper: ah22:50
davecheneyericsnow: why does reviews.vapour.ws now direct us to the ec2 machine directly ?22:56
davecheneyhttp://ec2-54-165-123-2.compute-1.amazonaws.com/r/233/22:56
ericsnowdavecheney: you mean in the emails?22:57
davecheneyyup22:59
ericsnowdavecheney: yeah, I noticed that earlier today too; haven't had a chance to look into it23:00
ericsnowdavecheney: looks like a setting got flipped23:01
ericsnowdavecheney: I've set it back to reviews.vapour.ws so it should be squared away now23:02
davecheneyta23:03
ericsnowsee you all in a few hours23:03
thumperdavecheney: I've taken nate's branch for the critical blocking bug23:05
thumperdavecheney: should have a review for you shortly23:05
thumperjust running the tests23:05
davecheneykk23:08
davecheneythumper: did ou see my followup to 233 ?23:08
thumperdavecheney: yeah, I'll test the constants23:08
thumperwhen I had vars it complained23:08
thumperI then assumed it would also complain with the const23:08
davecheneythumper: take your c++ hat off23:09
davecheneyand put your feet up23:09
thumperha23:09
thumperdavecheney: https://github.com/juju/juju/pull/94723:11
thumperdavecheney: expecting rbt to pick it up23:11
thumperdavecheney: http://reviews.vapour.ws/r/244/23:11

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