/srv/irclogs.ubuntu.com/2013/02/27/#juju-dev.txt

=== wedgwood is now known as wedgwood_away
davecheneyjcastro: no it does not00:05
davecheneythis is probably a problem00:05
davecheneyit is both one of the remaining command line things to do00:05
davecheneyand also not super simple as in zk we used to tail a zk key00:05
davecheneywhich isn't as straight forward in mongo00:05
davecheneytwo secs00:05
* davecheney search documents00:05
jcastroon top of that we have a few charms using it00:05
jcastroI can sub to a bug or whatever it is00:06
davecheneyjcastro: ahh, is this on the charm side (what we call the hook commands) ?00:06
jcastrodavecheney: so it deployed the other charm too00:06
jcastroman, it's visibly faster, that's the first thing I noticed00:06
davecheneyyou're not talking about debug-log ?00:06
davecheneyjcastro: about speed00:06
jcastrohttp://jujucharms.com/charms/precise/postgresql/hooks/install00:07
jcastroline 40, is what breaks there00:07
davecheneyi had a report from the folks who can't be named in this channel00:07
davecheneythat the charmers who were charming their things were suffering from 10min round trip times00:07
davecheneycan you tell me more about that00:07
davecheney(maybe we should get back on the phone)00:07
jcastroso like, status, etc is much faster00:07
jcastrofrom hitting enter to getting a prompt00:07
davecheneyjcastro: if you pass -v00:07
davecheneyyou'll see we don't use an ssh tunnel00:07
davecheneywhich really improved speed00:07
davecheneyand reliability00:08
jcastroyeah so that's pretty awesome00:08
davecheneyfor small envs00:08
davecheneystatus is great00:08
davecheneyi'm concerned about large envs00:08
davecheneywhich is one place where _not_ having the topology node isn't great00:08
jcastroCan we hop on tomorrow? I'm pushing my EOD++ limits and it's affecting my wife's ability to want to punch me right now. :)00:08
davecheneyjcastro: understood00:08
davecheneyplease raise bugs, we'll take it from there00:08
davecheneyjcastro: the line 40 issue is the path to juju-log is hard coded00:09
davecheneyraise an issue anyway00:09
jcastronod00:09
davecheneythis is a good case to explain how it is both different, and the same00:09
davecheneyif you get my meaning00:09
davecheneyjcastro: please _please_ raise this with the charmers tomorrow in the call00:10
davecheneyif nobody else, i'm here to traige bugs00:10
jcastronod00:11
davecheneyjcastro: it may be that too many charms use /usr/bin/juju-* for their tools00:11
davecheneyand we have to support that as legacy00:11
jcastroI can file and fix those, I'll see how many we have00:11
davecheneyor maybe that is just a mistake, and was never actually how you were supposed to interface with charms00:11
jcastroif it's like a handful, nbd00:11
davecheneycharm-hooks00:11
davecheneyeither way, maybe charm-lint can help00:12
davecheneybut this is why I want to get with m_3 and abuse his charm testing harness00:12
wallyworld_anyone seen long delays in mails to juju-dev coming through before?01:14
davecheneywallyworld_: rog complains a lot that he doesn't get the mesasges at all01:15
davecheneyhave seen some weird shit this morning01:15
wallyworld_:-(01:15
wallyworld_ok, thans, not just me then01:15
wallyworld_i sent a message over an hour ago and nothing received yet01:15
wallyworld_the is guys say they are moving to a new mailing list server this morning, so that probably explains it01:21
davecheneythe mail queues on LP are probably massive01:21
davecheneythat thing sends lots of mail01:22
wallyworld_yeah, you noticed :-01:22
wallyworld_)01:22
wallyworld_jam: g'day, got time for a quick catch up?05:44
jamwallyworld_: certainly, mumble, or IRC?05:44
wallyworld_mumble05:44
wallyworld_jam: http://169.254.169.254/1.0/meta-data/instance-id05:49
jamwallyworld_: http://docs.openstack.org/trunk/openstack-compute/admin/content/metadata-service.html05:50
jamhttp://169.254.169.254/openstack05:51
jamhttp://169.254.169.254/openstack/2012-08-10/meta_data.json05:51
jamhttp://169.254.169.254/openstack/latest/meta_data.json05:51
wallyworld_curl http://169.254.169.254/openstack/2009-04-04/meta_data.json06:01
wallyworld_status-error: instance i-000d85a9 for machine 0 not found06:06
wallyworld_https://pastebin.canonical.com/85724/06:08
bigjoolspeople still use mumble?06:24
wallyworld_why not?06:54
wallyworld_bigjools: why you not like mumble?06:54
wallyworld_jam: btw, i apt updated today and lsb_release just started working, go figure06:55
jambigjools: it tends to work better with high-latency low-bandwidth situations than G+06:57
bigjoolsmumble is far worse every time I use it07:06
bigjoolsfar far worse07:06
bigjoolsnow that g+ has a bandwidth slider, it's very usable with slower links07:06
dimiternfwereade: ping08:39
rogpeppemornin' all08:55
dimiternrogpeppe: morning09:01
dimiternrogpeppe: is there a way to get into a mongo shell while some test is running to see what's getting set in the db?09:02
dimiternrogpeppe: maybe pause it for a while, so i can inspect the collection09:03
rogpeppedimitern: not AFAIK09:07
rogpeppedimitern: there are probably a few ways you could hack it if you wanted to do that09:07
dimiternrogpeppe: hmm... maybe if I put a time.Sleep in the test just after the change and try to connect to the mongo shell?09:08
rogpeppedimitern: that's definitely a possibility09:08
rogpeppedimitern: you'll probably want to print out the port number that mongo's listening on (or you could get it from the mongo command line args from ps i suppose too)09:08
dimiternrogpeppe: i'll try that09:09
jamrogpeppe: I'm trying to write some code that uses a function pointer, and I'd like to assert that it points to what I think it should.09:15
jamHowever, if I do: c.Assert(myPointer, Equals, TheFunc)09:15
jamI get "comparing uncomparable type"09:15
rogpeppejam: you can't compare function pointers09:15
rogpeppejam: (what does it mean to compare closures?)09:15
=== TheRealMue is now known as TheMue
jamrogpeppe: but (a) Why not? and (b) what is the workaround so that you know what you are actually pointing to09:15
jamrogpeppe: It is an instance of a function09:15
jamwhich would have a unique value (IMO)09:16
jambut regardless, there are *lots* of funcs which are not closures09:16
rogpeppejam: originally you could compare func pointers, but the functionality was removed09:16
rogpeppejam: because it leaves the implementation free to do different things09:16
jamrogpeppe: so, what is a sane way to ensure that "after doing X, my function pointer is pointing at Y" ?09:16
rogpeppejam: in particular, if i have: func foo() func() {return func(){}}, does foo() == foo() ?09:17
rogpeppejam: you could call it and check it does the expected thing09:17
jamrogpeppe: well generally I would say no, but I'm fine with that being implementation defined.09:18
rogpeppejam: i think they wanted to avoid implementation-defined equality09:18
jambut for "var myFunc func() = goose.Func" I'd like to actually assert what it points to.09:18
rogpeppejam: you can actually do it with reflect09:18
jamrogpeppe: not allowing comparison of closures (because they are pointers + state) is diff than not being able to inspect this pointer I have.09:18
jamrogpeppe: reflect.?09:19
jamhttp://stackoverflow.com/questions/9643205/how-do-i-compare-two-functions-for-pointer-equality-in-the-latest-go-weekly I guess09:19
rogpeppejam: comparing reflect.ValueOf(f).Pointer() will probably work09:20
rogpeppejam: the representation of function pointers has just changed in tip, BTW09:21
rogpeppejam: closures are a lot more efficient now09:21
rogpeppejam: https://groups.google.com/forum/#!searchin/golang-dev/plan$20for$20two-word$20funcs/golang-dev/x328N8hiN5k/YSzpv2DxPiIJ09:23
rogpeppejam: FWIW i was a bit disappointed we lost function equality, but i can see their point too.09:25
dimiternI have a review of medium complexity about upgrade-charm stuff, which I'd appreciate your comments about https://codereview.appspot.com/7363060/ (my first dealings with state/, although with a lot of help from fwereade - tyvm!)10:06
rogpeppefwereade: any chance you could take a look at https://codereview.appspot.com/7390043 ? its prereqs are now merged - i think it should be ready to go.10:48
fwereaderogpeppe, ok, looking now10:55
* TheMue today has early lunch10:58
dimiternfwereade: ping11:01
fwereaderogpeppe, LGTM11:01
fwereadedimitern, pong11:01
dimiternfwereade: hey, can you take a look at this please? especially the tests for refcounts https://codereview.appspot.com/7363060/11:02
fwereadedimitern, sure11:02
rogpeppefwereade: thanks!11:05
rogpeppefwereade: i wouldn't mind a chat about some of the stuff i'm planning for the gui folks, perhaps sometime later this morning?11:08
fwereaderogpeppe, might end up being this afternoon... grab me at 2 if I haven't pinged you before then11:09
rogpeppefwereade: k11:09
fwereadedimitern, LGTM with some things to address11:22
fwereadedimitern, I like the refcount tests but I don't like the ServiceSettingsRefCount func itself, I think it can be simpler11:22
fwereadedimitern, tyvm for that11:22
dimiternfwereade: cheers11:30
dimiternfwereade: i'm open to advice how to simplify it :)11:30
fwereadedimitern, I think just treat mgo.ErrNotFound as 0, and pass all other errors through directly11:31
fwereadedimitern, the looping in only necessary when writing, reading should Just Work11:31
dimiternmgz, jam, wallyworld_: i'll be 10m late for the standup11:31
dimiternfwereade: yeah, I did that because it failed for some reason unknown (until I saw the svcName was wrong :)), i'll remove the loop11:32
fwereadedimitern, cool11:32
dimiternfwereade: in the process i learned a lot about mongo's QL and some internals :)11:40
dimiternfwereade: am I right to assume this CL fixes bug 1063621 ?11:42
_mup_Bug #1063621: upgrade-charm should handle config changes <upgrade-charm> <juju-core:In Progress by dimitern> < https://launchpad.net/bugs/1063621 >11:42
mgzjam, wallyworld_: around yet for standup?11:48
dimiternfwereade: I addressed the issues11:51
dimiternanyone else for a review of https://codereview.appspot.com/7363060/ ?11:51
jammgz: wallyworld_ is at his conference today12:04
rogpeppejam: reviewed https://codereview.appspot.com/7406054/12:19
rogpeppedimitern: i'll have a look12:20
dimiternrogpeppe: cheers12:20
rogpeppedimitern: just a quick question: why do the settings ref counts need to be in a separate collection from the settings themselves?13:01
rogpeppedimitern: reviewed13:08
dimiternrogpeppe: tyvm13:16
dimiternrogpeppe: well, that was fwereade's suggestion13:20
rogpeppedimitern: i'm interested in the reasoning behind it (i'm not saying it's wrong, just wondering)13:20
fwereadedimitern, rogpeppe: I'm not sure that it's a good idea to have refcount changes counted as config changes13:20
dimiternrogpeppe: can't recall the exact reasoning, but it was something to do with the settings being used in more places than just for the services13:21
rogpeppefwereade: ah, i see13:21
dimiternfwereade: right :) sorry13:21
fwereadedimitern, rogpeppe: also, I don't really love the existing field-stripping magic , and don't really want to do more of it especially when there are multiple settings users but only one case where we need refcounting13:21
rogpeppefwereade: mind you, the changes are so rare it probably makes no difference (and we have to deal with the case of a change with nothing actually changed anyway, right?)13:21
rogpeppefwereade: where's the field-stripping magic?13:22
fwereaderogpeppe, we certainly do, but I thnk an extra config-changed for every unit in a service adds up to quite a lot of unnecessary churn13:22
fwereaderogpeppe, the _id, txn-revno stuff13:23
fwereaderogpeppe, we unmarshal the doc into a dict and strip out the magic keys13:23
rogpeppefwereade: hmm, does this mean we can't have a charm config with a setting called "txn-revno"?13:24
fwereaderogpeppe, I think you are probably right about that13:25
rogpeppefwereade: hmm, seems wrong. we should probably prefix all the config map keys13:25
* fwereade adds another line to his "why I hate Settings" list13:26
rogpeppedimitern: might be good to add a comment somewhere explaining the reasoning behind having the refcounts separate from the things they're refcounting13:31
rogpeppedimitern: LGTM overall13:31
dimiternrogpeppe: will do, thanks13:31
dimiternrogpeppe: so txn.Op{..., Insert: map[string]interface{}(nil), ...} should be fine you think?13:34
rogpeppedimitern: i don't see why not.13:34
dimiternrogpeppe: ok then13:35
rogpeppedimitern: if it doesn't work then i'd consider it an mgo bug13:35
dimitern:) indeed13:35
rogpeppedimitern: for read only purposes, a nil map is usually considered the same as an empty map13:36
dimiternrogpeppe: even if you access a key inside?13:36
rogpeppedimitern: yeah13:36
rogpeppedimitern: it just returns the zero value for the key13:36
dimiternrogpeppe: cool!13:37
rogpeppedimitern: and you can range over a nil map just fine too13:37
dimiternrogpeppe: yeah, i knew that, just wasn't sure m[k] would13:37
rogpeppedimitern: from http://golang.org/ref/spec#Map_types: "A nil map is equivalent to an empty map except that no elements may be added."13:39
dimiternrogpeppe: right! so append and set will fail, other stuff works13:39
rogpeppedimitern: no append on maps, but yeah13:40
dimiternrogpeppe: ofc :) multi-tasking..13:40
fwereadedimitern, rogpeppe: https://codereview.appspot.com/7375059 should be simple, and I've checked it actually works13:49
dimiternfwereade: looking13:49
dimiternrogpeppe: I addressed you suggestions wrt https://codereview.appspot.com/7375059 , so I'm submitting it, unless you want to take one last look?13:52
rogpeppedimitern: looking13:52
rogpeppedimitern: i presume you meant https://codereview.appspot.com/7363060/13:53
dimiternrogpeppe:  :) oops, yeah - sure13:53
rogpeppedimitern: replied (LGTM with one trivial)13:55
dimiternrogpeppe: thanks13:55
dimiternfwereade: btw, am I right to assume my CL fixes bug 1063621 ?13:58
_mup_Bug #1063621: upgrade-charm should handle config changes <upgrade-charm> <juju-core:In Progress by dimitern> < https://launchpad.net/bugs/1063621 >13:58
fwereadedimitern, you, know, I think it does :) nice14:01
dimiternfwereade: cheers :)14:01
rogpeppefwereade: reviewed14:09
rogpeppefwereade: any chance of a chat?14:09
fwereaderogpeppe, yeah, sgtm14:10
rogpeppefwereade: https://plus.google.com/hangouts/_/0b304dec0f851f247e957bc221cae25bb5a5d8e4?authuser=0&hl=en-GB14:11
fwereaderogpeppe, cheers, there in a sec14:11
rogpeppefwereade: i'll juju pop downstairs for a sec too14:11
dimiternfwereade: nice one, reviewed14:14
mgzwait, what does `juju pop downstairs` do? :)14:21
dimiternmgz: pretty cool, eh? that's the new command :D14:23
dimiternit has to have --force as well14:24
rogpeppemgz: good question. things are getting quite sad when "just" becomes "juju"14:58
=== wedgwood_away is now known as wedgwood
mrammjoining meeting, computer just slow...15:03
dimiternfwereade: when you have some time, can you take a look at https://codereview.appspot.com/736306116:13
dimiternfwereade: this should cover all the relation compatibility checks and, combined with the previous CL should resolve bug 1032557 (part of the bug was actually fixed with the prev CL I think)16:14
_mup_Bug #1032557: upgrade-charm should handle relation changes <upgrade-charm> <juju-core:In Progress by dimitern> < https://launchpad.net/bugs/1032557 >16:14
fwereadedimitern, sorry, it's a bit trickier than that -- you need to check the endpoints for all relations the service is in, rather than *all* the endpoints that *might* be being used16:17
dimiternfwereade: hmm I wasn't sure Endpoints() includes only active ones16:17
dimiternfwereade: but this is a good start, no?16:17
fwereadedimitern, I'm not 100% sure it's leading in the right direction, let me think a mo16:19
fwereadedimitern, g+ maybe?16:19
dimiternfwereade: ok16:19
fwereadedimitern, https://plus.google.com/hangouts/_/818eb5f2e744d376413650e8413f1865123d1e27?authuser=0&hl=en16:19
rogpeppefwereade: oh yes, i've remembered the reason for having the key generation in environs.Bootstrap rather than in the command itself17:21
fwereaderogpeppe, oh yes?17:21
rogpeppefwereade: it's because we want people to be able to bootstrap easily even if they're using the juju Go interface rather than the command line17:22
rogpeppefwereade: although to be honest, i wouldn't mind an extra step there to generate the certs17:23
fwereaderogpeppe, yeah, I probably wasn't clear -- I didn't think the actual functionality should be in the bootstrap command, just its onvocation17:24
rogpeppefwereade: the important thing is that nothing in the environs package *needs* to be able to access the user's home directory.17:25
fwereaderogpeppe, yes, indeed17:26
rogpeppefwereade: at least, that was a significant consideration in the current design17:26
fwereaderogpeppe, I agree that assuming access to home is not sensible17:26
fwereaderogpeppe, btw, I submit for your consideration without comment: http://paste.ubuntu.com/5571065/17:27
fwereaderogpeppe, does that look crazy to you?17:28
fwereaderogpeppe, I'm thinking of Environ.Servers rather than StateInfo17:28
rogpeppefwereade: i'll be interested to see the design you end up with. i'm sure it's possible to do better than the current one.17:28
rogpeppefwereade: looking17:28
fwereaderogpeppe, it's a matter of figuring out what I can do step by step17:28
rogpeppefwereade: i'm not really sure that it's worth separating the port from the addresses17:30
rogpeppefwereade: we might want the ability to serve on different ports17:30
rogpeppefwereade: and the usual "host:port" syntax works ok17:30
fwereaderogpeppe, hmm... I'm not sure it's worth passing the port around separately, either17:31
fwereaderogpeppe, I wouldn't feel too bad about making an environment pick ports at startup time17:31
rogpeppefwereade: so we add Environ.Servers() Servers ?17:31
fwereaderogpeppe, yeah17:32
rogpeppefwereade: that sgtm17:32
fwereaderogpeppe, it seems like the clients won;t be bothered -- it'll actually be more convenient to pass in entityName, password, rather than futz with the returned *Infos17:32
fwereaderogpeppe, and it also makes it much more convenient as an input when generating machine config17:32
rogpeppefwereade: yeah, i think the Servers idea works well. i like the distinction between entity-less Servers and entity+password Info17:33
fwereaderogpeppe, ok, I'll explore that a little more... I have something on the tip of my brain, iykwim, but the whole thing's not quite there yet17:34
fwereaderogpeppe, but that feels like it'll eliminate some of the accidental complexity that is slowing me donw17:34
rogpeppefwereade: i'd stick to the usual APIHosts []string with port numbers as part of the string though.17:34
fwereaderogpeppe, I kinda want the struct to still be meaningful with "localhost" tacked on17:35
rogpeppefwereade: i'm not sure i understand. what's wrong with localhost:17007 ?17:35
rogpeppefwereade: ah, i see17:36
fwereaderogpeppe, I can pass a Servers, with or without addresses, into some sort of machine-configgy thing, and it will work when setting up (1) a bootstrap state server, add localhost to [], (2) a normal machine, don't add anything, and (3) a state server with others already existing, add localhost to [other,servers]17:37
rogpeppefwereade: isn't that up to the thing managing bootstrap - it should know what port it's starting the server on, and therefore be able to attach the right port number to localhost17:37
rogpeppefwereade: the machine-configgy thing is responsible for starting the server, right?17:38
fwereaderogpeppe, it's really just about how we pass that information around17:38
fwereaderogpeppe, indeed -- so knowing the ports and not always keeping them bound up inside addresses is kinda convenient17:39
rogpeppefwereade: i think there's a significant difference between "these servers are listening on these ports" and "i want to start this server listening on this port"17:40
rogpeppefwereade: that's why APIPort is a separate field in agent.Config17:40
fwereaderogpeppe, what's your use case for varying ports within an environ?17:40
rogpeppefwereade: i have a vague thought in my head about running a dynamic number of API servers on the same box17:41
rogpeppefwereade: particularly when stress testing17:41
fwereaderogpeppe, not quite sure what case that simulates17:43
fwereaderogpeppe, wait a sec... agent.Config? need to check that17:44
rogpeppefwereade: i'm not sure either currently. perhaps that particular use case is bogus. it just seems to me that it's trivial to get this generality at this point, and might be hard to get it back later.17:45
rogpeppefwereade: sorry, agent.Conf17:45
rogpeppefwereade: (not really sure why i chose Conf rather than Config as a name there :-])17:45
fwereaderogpeppe, hmm... so we squish *all* the fields that *might* be used for an agent into the same file?17:45
rogpeppefwereade: yeah. beats having lots of different files.17:46
fwereaderogpeppe, not quite convinced there, but I need to go to the shops17:47
rogpeppefwereade: ok17:47
fwereaderogpeppe, have a good night, might be off for a while17:48
rogpeppefwereade: you too17:48
rogpeppefwereade: i'll be around until about 8pm your time17:48
niemeyerfwereade: Any chance of a review on this today: https://codereview.appspot.com/738705417:50
niemeyerOh,  I guess William is the one leaving17:51
niemeyerrogpeppe: ^17:51
rogpeppeniemeyer: looking17:52
=== deryck is now known as deryck[lunch]
=== bac_ is now known as bac
rogpeppeniemeyer: ping18:28
niemeyerrogpeppe: Yo18:29
rogpeppeniemeyer: just looking at sortableCounters.Less18:29
niemeyerrogpeppe: yep18:29
rogpeppeniemeyer: i'm not sure i understand your Key logic - can't you just do if ki != kj { return ki < kj } ?18:30
niemeyerrogpeppe: []string18:30
rogpeppeniemeyer: doh!18:30
rogpeppeniemeyer: the ordering isn't fully done though, istm, if len(kj) > len(ki)18:32
rogpeppeniemeyer: or don't you care about that?18:32
niemeyerrogpeppe: No, you're right.. if there are pending items there it can return18:34
rogpeppeniemeyer: cool. worth fixing.18:34
niemeyerrogpeppe: +118:34
rogpeppeniemeyer: reviewed18:40
niemeyerrogpeppe: Thanks!18:46
niemeyerrogpeppe: Responded18:48
=== deryck[lunch] is now known as deryck
rogpeppeg'night all20:16
thumpernight rogpeppe20:17
thumperhi mramm20:36
mrammhi20:37
thumpermramm: want to get started early?20:37
mrammsorry was in a meeting20:45
mrammdone now, so we can start a little early20:45
benjiI /think/ my mongodb has become dirtied.  I have a test failure on a clean trunk branch that I'm pretty sure I didn't have before.  Is that a reasonable hypothesis?21:22
benjiany suggestions as to what could be going wrong here: http://paste.ubuntu.com/5571811/21:46
niemeyerbenji: Pointer vs. non-pointer?22:25
* thumper sighs22:28
bacbenji: that has been fixed in trunk i think22:33
thumperdavecheney, mramm:  Question: I'm wanting to merge my branch, but when I run the tests locally (just prior to merging) I get an unrelated test failure in openstack storage, should I fix that separately first, or merge my code in then fix it?22:33
* thumper sighs more22:41
thumperI get multiple test failures on trunk in quantal22:41
thumperdoes anyone else get them?22:42
thumperone obvious one is environs/openstack/storage.go where the List interface says the results are in alphabetical order, but the method doesn't sort the results22:43
thumperand the test fails22:43
thumperand 9 failures for worker/uniter22:43
* thumper unmerges trunk so he can continue to work with confidence22:44
benjiyay! the tests pass on a freshened trunk; one thing that threw me off was that "bzr pull" didn't work without a "from"; I wonder if that is a cobzr thing22:45
thumperbenji: I just pulled trunk, and I get test failures :(22:46
niemeyerAnyone up for a quick review?22:47
niemeyerhttps://codereview.appspot.com/740705222:47
thumperniemeyer: let me say how much I hate bool flags to change the functionality22:50
thumperespecially in a public api22:50
niemeyerthumper: You feel like it obscures the call?22:51
thumperit means you see things like: SumCounter(true) or SumCounter(false) and have NFI what it means22:51
thumperwell, with extra strings22:51
thumperit is something I've been trying to avoid since reading Clean Code22:52
niemeyerthumper: Yeah, that's a fair point22:52
thumperniemeyer: have you read it?22:52
niemeyerthumper: It's not what the CL is about, though22:52
thumperit is a very good book22:52
thumperno, I can see that22:52
niemeyerthumper: I've read a few of the articles there22:52
niemeyerthumper: Haven't read it all22:52
niemeyerthumper: I should22:52
thumperbut I don't have enough context to know if the change is a good thing or not22:53
thumperI can say the code looks fine, but can't approve the functionality22:53
niemeyerthumper: Cool, you can kind of trust me on the functionality side22:53
thumperhaha22:54
* thumper trusts no one22:54
thumperno one I tell you22:54
niemeyerthumper: The property on the CL description is sensible is what I mean22:54
thumperniemeyer: do I read this right, we are creating javascript functions to pass to mgo to do stuff?22:56
niemeyerthumper: ATM counting mysql:* includes mysql itself, which means we don't get the count for the user branches only22:56
niemeyerthumper: Which isn't very useful22:56
davecheneythumper: short version to get your trunk passing22:57
davecheneyrm -rf $GOPATH/src/launchpad.net/goose22:57
niemeyerthumper: and makes listing and summing uneven22:57
davecheneygo get launchpad.net/goose/...22:57
thumperagain?22:57
niemeyerthumper: If fixing that isn't a good idea I'll be surprised at least :)22:57
davecheneygoose and whatever openstack expects are out of sync22:57
niemeyerthumper: and yes, you read it right.. map reduce is MongoDB is done like that22:57
davecheneyprobably because your branck contains an older openstack22:57
niemeyerdavecheney: Hey Dave22:58
davecheneyniemeyer: hey mate, long time no talk22:58
niemeyerdavecheney: Indeed!22:58
davecheneycongratulations btw22:58
niemeyerdavecheney: On? :)22:59
davecheneyoh, sorry, never mind22:59
davecheneyforget i said anything22:59
niemeyerdavecheney: Ok, can I keep the congrats at least? ;-D22:59
davecheneyalways23:00
davecheneynever turn down praise23:00
niemeyerdavecheney: Btw, any chance of a review on https://codereview.appspot.com/7407052/?23:00
niemeyerdavecheney: LOL23:00
davecheneyjust smile and look humble :)23:00
* davecheney looks23:00
* thumper will beat the secret out of davecheney later23:00
niemeyerdavecheney: This is just a smoothing out change.. nobody will even care much, I think23:01
davecheneyniemeyer: i'll keep my gob shut until it's announced then23:02
thumperdavecheney: even with latest goose, trunk fails 9 tests in worker/uniter23:04
niemeyerdavecheney: I was talking about the branch.. LOL23:04
davecheneyniemeyer: branch LGTM, i'll leave it to you to argue about the bool with thumper23:07
niemeyerdavecheney: Cool, thank you23:07
davecheneyi take the position that it was there before ths CL, so you can argue about it out of context with this change23:07
niemeyerdavecheney: I agree with him that bools aren't great as an interface23:07
niemeyerdavecheney: But that's not part of this CL23:07
niemeyerfwereade: Heya23:08
thumperwhat do you guys mean when you say "CL"23:09
niemeyerdavecheney: Good idea, I'll add it23:09
niemeyerdavecheney: I mean, a:b:c23:09
niemeyerthumper: Change List.. It's a historical name for the issues in Rietveld that, to be honest, I don't even know where it comes from.23:10
thumperdavecheney: I don't suppose I could get you to pull trunk and see if the tests pass for you could I?23:10
thumperah...23:10
* thumper goes to look for food in the kitchen23:10
davecheneythumper: doing so now23:15
davecheneythumper: i'm moderatly confident that trunk isn't broke23:17
davecheneyas my daily build has not broken23:17
davecheneybut that still means we need to find the right versions of goose to match environs/openstack in your branch23:17
thumperwell, I pulled trunk of both23:24
thumperso they should work, right?23:24
davecheneytesting now23:26
davecheneyhmm, two build failures in worker/uniter/charm23:27
thumperdavecheney: I'll pastebin my errors23:28
davecheneythumper try to up to rev 94223:28
davecheneyjacuse rev 94323:28
thumperjacuse?23:32
davecheneyhttp://en.wikipedia.org/wiki/J'accuse23:32
davecheneythumper: got that paste ?23:34
thumperhttp://paste.ubuntu.com/5572091/23:35
thumperheh23:36
thumperoops23:36
davecheneyhmm, that error may be spurious @ 94323:36
thumperhttp://paste.ubuntu.com/5572096/23:36
davecheneythumper: i think those are genreal test flakeyness errors23:37
davecheneythere are a few similar errors logged on LP23:38
thumperI get them consistently23:38
thumperlike, every time23:38
thumperdidn't get them before23:38
davecheneyyeah, they are very timing related23:38
davecheneyget a slower machine (not helpful)23:38
thumperdavecheney: this is running in a vm...23:39
davecheneythat explains why sleeps don't work properly23:39
davecheneythere is some other weird shit in that paste23:39
davecheneyvalue *os.PathError = &os.PathError{Op:"open", Path:"/tmp/gocheck-63205844/0/agents/unit-u-0/state", Err:0x15} ("open /tmp/gocheck-63205844/0/agents/unit-u-0/state: is a directory")23:39
davecheneyit is possible the test isn't stopping properly at that error23:40
davecheneythumper: please raise a critical on LP23:40
thumpersaying what exactly?23:40
thumperon juju-core?23:40
davecheneyyes23:41
davecheneyworker/uniter: multiple test failures23:41
davecheneydesc: can't run tests reliably, fail every time (see attached)23:41
thumperwell... just ran the worker tests without everything else, and they passed FFS23:42
thumperrunning all again to see what happens23:42
thumperoh FFS, all pass now23:45
wallyworld_davecheney: hi, a quick clarification on your concern about returning an unexported error23:53
wallyworld_i coped the pattern used already in the state package for notFoundError23:53
wallyworld_i guess the original author didn't want people to access anything other than Error() ?23:54
wallyworld_that fact that we don't need the error exported (it's not used anywhere) - does that imply it can stay as is for now?23:55
davecheneywallyworld_: on da phone, two secs23:56
wallyworld_np23:57
wallyworld_my preference is for consistency, so it i change one, the other should be changed to match23:58

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