/srv/irclogs.ubuntu.com/2012/03/28/#juju-dev.txt

jimbakerSpamapS, i'm putting bug 963640 back into progress since i didn't intend for it to get committed to trunk01:40
jimbakerin terms of the corresponding branch01:40
jimbaker(see my lbox mishap earlier)01:40
fwereade_well, I just deployed wordpress/mysql on an i386 c1.medium, and a cc1.4xlarge in another zone, and apparently it all works despite the violence of the last few days02:47
* fwereade_ sleeps02:47
hazmatfwereade_, next step world domination02:57
hazmat;-)02:57
hazmatniemeyer, wtf seems hung02:59
andrewsmedinaexit04:34
SpamapSjimbaker: ACK, understood05:20
wrtpTheMue: yo!07:32
TheMuewrtp: moin from a sunny oldenburg07:32
wrtpTheMue: sunny here too.07:32
=== TheMue_ is now known as TheMue
fwereade_bigjools, ping09:32
fwereade_bigjools, there's a review on https://code.launchpad.net/~julian-edwards/juju/name-constraints/+merge/99673 which I've tried to make helpful but I'm not 100% sure I've managed09:34
fwereade_bigjools, please let me know your thoughts when you get a change to read it09:35
TheMuewrtp: when i let update() return an error instead of the bool, what shall i return in case of the internal tomb.Dying during a change sending?09:36
TheMuefwereade_: moin09:36
fwereade_heya TheMue, wrtp09:36
wrtpfwereade_: yo!09:36
wrtpTheMue: nil, nil09:36
TheMuewrtp: when err is nil the loop continues work. the dying event has been fetched by update()09:37
wrtpTheMue: you could check the returned channel instead of the returned error09:38
wrtpTheMue: if the returned channel is nil, there are obviously no more events to wait for09:38
TheMuewrtp: but i check the error to to do a Kill(err). so i would have to do a double-if09:46
wrtpTheMue: you can call Kill(err) regardless09:46
wrtpTheMue: it doesn't matter if it's already dying09:47
wrtpTheMue: or if err is nil09:47
TheMuewrtp: to be more clear: i'm decorating it with Killf("watcher: can't update: %v", err)09:48
TheMuewrtp: here a nil isn't looking very good09:48
wrtpTheMue: a nil is what you need i think09:48
wrtpTheMue: you don't want the watcher to return an error just because the user has called Stop on it09:48
TheMuewrtp: or does tomb ignore this last misleading information?09:49
wrtpTheMue: if you do Kill(nil), it uses the previous non-nil error09:49
wrtpTheMue: i don't think there's a need to use Killf - update() can return the correct error itself.09:49
TheMuewrtp: but how about decorated errors like netioned above?09:50
wrtpTheMue: as i said, i don't think there's a need to decorate the error here.09:50
TheMuewrtp: ok09:51
=== asavu_ is now known as asavu
wrtpTheMue: cunning - was it intentional that you read from Dying twice, and leverage the fact that a nil channel always blocks?11:54
wrtpTheMue: i still think it would probably be better just to check the channel returned from update rather than the error though11:54
TheMuewrtp: can't follow, what exactly you mean?11:59
wrtpTheMue: i'll comment in line - it's easier for context :-)11:59
TheMuewrtp: it's almost exactly like http://paste.ubuntu.com/903511/12:01
wrtpTheMue: review delivered. it's nearly there, i think!12:11
TheMuewrtp: thx, did you red gustavos comments? he said the constructor func doesn't need a comment. https://codereview.appspot.com/5905064/diff/13001/state/watcher/watcher.go#newcode8912:15
wrtpTheMue: i can see why he said that comment could be dropped - it had no information content. i think it's worth documenting the path arguments. but i don't mind too much if the comment isn't there either.12:16
TheMuewrtp: most of the comments are ok, will change it, but not all.12:21
TheMuewrtp: and i will comment the constructor again, yes. i'm used to document every public artefact. you're right.12:25
wrtpTheMue: i think the general rule is: if a comment is adding no information, it's not worth having.12:25
TheMuewrtp: hmm, in case of your review, where is the additional information?12:26
wrtpTheMue: it says that path represents the path of the node to be watched.12:27
wrtpTheMue: ok, it's fairly obvious, but it's nice to say that explicitly.12:27
TheMuewrtp: so a renaming it to watchedPath would do the same?12:27
wrtpTheMue: perhaps. nicer to have it in the comment though, IMHO12:28
TheMuewrtp: i'm torn. so the next review of niemeyer will say to remove it again.12:29
wrtpTheMue: yeah, well, as i said, i don't mind too much if you remove it.12:29
wrtpTheMue: though i don't think gustavo will object to the comment as i've written it.12:30
TheMuewrtp: he will, zookeeper isn't written ZooKeeper. *lol*12:31
wrtpTheMue: lol12:31
wrtpTheMue: i really don't think it's worth doing those sorts.12:45
wrtpTheMue: i don't see the point.12:45
TheMuewrtp: they are ok for me and niemeyer12:46
wrtpTheMue: but why bother?12:46
TheMuewrtp: if you convince him i can remove them12:46
wrtpTheMue: i'm sure that he wouldn't mind if you removed them...12:46
wrtpTheMue: when would we actually care about the order of the names in Added and Deleted?12:47
TheMuewrtp: what problem do you exactly have with it?12:47
wrtpTheMue: it's unnecessary12:47
wrtpTheMue: it's also undocumented BTW12:49
wrtpTheMue: but i don't think it's worth documenting - i'd just remove the sorts.12:49
TheMuewrtp: you can do so if it gets into the branch12:50
wrtpTheMue: i wouldn't gratuitously change your code :-)12:50
TheMuewrtp: in topology and ConfigNode we also sort several slice results (after a discussion about it)12:50
TheMuewrtp: it's not my code, it's open source ;)12:51
wrtpTheMue: deltas are different.12:51
TheMuewrtp: and also you try to change it now (as i should change it)12:51
wrtpTheMue: there's no advantage in having the delta sorted. if it was the entire set of children, that would be different.12:51
wrtpTheMue: i try to convince you that it's for the best :-)12:51
TheMuewrtp: so i deliver all children in future and the client shall decide it needs as deltas or sorted. for the children watcher deltas aren't interesting, only the fact that it's changes.12:52
TheMuewrtp: same argumentation12:52
wrtpTheMue: if you change it to deliver all children in the future, they should be sorted (so it's easy to compare for equality etc).12:54
wrtpTheMue: "for the children watcher deltas aren't interesting, only the fact that it's changes." - i don't understand this12:54
wrtpTheMue: (or the sentence before it, actually)12:54
TheMuewrtp: it is about where the border between the watchers tasks and a clients tasks is. you say, a sorting can be done by the client, building a delta is task of the watcher12:56
wrtpTheMue: i don't we'll have any client that will want to sort it.12:56
TheMuewrtp: so i could also say "the watcher don't even builds deltas"12:56
wrtps/don't/don't think/12:56
wrtpTheMue: why would a client *want* to sort it?12:56
wrtpTheMue: why might it matter what order the child names in the delta are in?12:57
wrtpTheMue: i don't think it does - just like it doesn't matter what order you iterate through items in a map.12:58
TheMuewrtp: easier comparison when iterating over them. you can break loops an expected dir isnt in the delta12:58
TheMueif actDir > expectedDir { break }12:59
wrtpTheMue: are you talking about using binary search?12:59
TheMuewrtp: inside a range12:59
wrtpTheMue: so the advantage is it might be able to do a break earlier rather than iterating through all items?13:00
TheMuewrtp: the the quickest one that came in my mind13:00
wrtpTheMue: i don't buy that. unless that's being done many many times, it's going to be cheaper to do a linear search than to sort the items.13:00
wrtpTheMue: and it's easier to understand (you don't need to know that the items are sorted)13:01
TheMuewrtp: how much directories do you expect in a change event?13:01
wrtpTheMue: probably almost always 1.13:01
TheMuewrtp: how much does it cost to sort 1 item?13:01
wrtpTheMue: why bother to import sort and call it?13:02
wrtpTheMue: it's premature optimisation13:02
TheMuewrtp: please, not that argument13:02
wrtpTheMue: the only argument you've given for sorting them is that it's more efficient to search, AFAICS13:03
TheMuewrtp: had it often enough during the last weeks and every time it tended to be optimized even if we don't yet know to to optimize13:03
wrtpTheMue: not that it makes any code easier to write.13:03
TheMuewrtp: search and comparison13:03
wrtpTheMue: it doesn't make it easier to search, just quicker.13:03
wrtpTheMue: and you're never going to be comparing deltas directly.13:04
TheMuewrtp: it seems we don't have anything to do. this discussion lasts longer as any future thinking about it or the added sorting time of deltas for all instances till 201513:05
TheMuewrtp: so i'll change it to see you happy and to stop this discussion13:06
wrtpTheMue: ach, just delete the code. deleting code is good, right?13:06
wrtpTheMue: thanks :-)13:06
wrtpTheMue: sorry for the hassle.13:06
TheMuewrtp: not if it has to added anywhere else (e.g. at least in tests, so same amount, but w/o reusage)13:07
wrtpTheMue: it's a strict gain inside the watcher package AFAICS. we'll see if it has to be added anywhere else. i'm pretty sure it won't.13:08
wrtpTheMue: you don't need to sort in the tests BTW.13:08
wrtpTheMue: because you've always got a single item.13:08
TheMuewrtp: sadly not yet, yes. we need to find a way to simulate the addition of multiple children at once13:09
andrewsmedinamorning13:09
wrtpandrewsmedina: hiya13:09
TheMueandrewsmedina: moin13:11
fwereade_allenap, ping13:24
allenapfwereade_: Hi.13:24
fwereade_allenap, do you know whether maas currently allows for machine selection by arch?13:25
allenapfwereade_: It doesn't. We record the arch in maas, and push it through to Cobbler, but it's only to select the arch to install; we don't capture the arch of the actual machine yet.13:26
fwereade_allenap, cool, then I don't have to worry about that :)13:26
allenapfwereade_: :)13:26
fwereade_allenap, how about requesting a machine with a particular series of ubuntu?13:26
allenapfwereade_: MAAS manages the install, so any machine can - in theory - come with any series. However, for 12.04, you can have any series as long as it's Precise.13:27
fwereade_allenap, ok, cool, I should probably enforce that in the code somewhere, we don't want confusion over "juju deploy cs:oneiric/foo"13:28
allenapfwereade_: Sounds good. At some point MAAS will support other series (by 12.10 at least...) so perhaps there ought to be a way to ask MAAS what the options are.13:30
fwereade_allenap, there just might be indeed, I'm working on something related but that definitely won't hit by 12.0413:32
wrtplunch13:40
niemeyerHeya13:59
niemeyerSorry guys, running a bit late here.. night lasted longer than usual13:59
andrewsmedinaniemeyer: morning :)14:07
niemeyerandrewsmedina: Morning :)14:14
wrtpniemeyer: hiya14:14
TheMueniemeyer: moin ;)14:17
hazmat28 people wait listed already for the go-lang meetup, good sign14:35
niemeyerhazmat: Nice, where's that?14:39
hazmatniemeyer, nyc14:39
hazmathttp://www.meetup.com/golangny/14:40
niemeyerAh, is that the one at Tumblr?14:41
mthaddonniemeyer: one question pending for the charmstore RT (about nagios checks) and then also wanted to check if I should be setting up charmload to run every minute on both appservers14:45
niemeyermthaddon: Yeah, that sounds fine.. it should return within a second or two if there's nothing to do14:48
niemeyermthaddon: I've seen your inquiry as well.. will investigate14:48
hazmatfwereade_, what's the visible flag on constraints for?14:48
mthaddonniemeyer: great, thx14:48
hazmatfwereade_, in use-constraints-sets14:48
fwereade_hazmat, computed constraints -- ubuntu-series comes from the charm, provider-type from the provider14:48
fwereade_hazmat, provider-type *may* in fact be unnecessary now14:49
fwereade_hazmat, but that's not a change I'm comfortable getting into at this stage14:49
hazmatfwereade_, yeah.. its not really a constraint just a selector on vocab14:49
hazmatfwereade_, fair enough14:49
fwereade_hazmat, it's not even that now, which is why I think we can drop it14:49
hazmatthe keys from the provider would need to be recorded against that provider though to drop it14:50
fwereade_hazmat, but again, not now :p14:50
hazmati guess we ignore unknown14:50
robbiewmthaddon: thanks for your help...looking forward to having the charm store up and running :)14:50
fwereade_hazmat, *all* constraints objects need to be constructed with a provider now14:50
hazmatfwereade_, indeed, but we don't distinguish the provider constraints keys, given a bag of constraints outside of provider-type there is no way of knowing origin definitively.14:51
mthaddonrobbiew: sure, np - seems like it's pretty much there at this point - just a case of crossing t's and dotting i's14:51
fwereade_hazmat, yeah, it's certainly still a valid sanity check14:51
robbiewmthaddon: heh...famous last words ;)14:52
mthaddonindeed... :)14:52
fwereade_bigjools, allenap: https://codereview.appspot.com/5938050 (or https://code.launchpad.net/~fwereade/juju/maas-name-constraint/+merge/99746 if you prefer)14:53
fwereade_bigjools, allenap: I would appreciate a sanity review from one of you14:53
allenapfwereade_: I'll look. bigjools is probably snoring in bed right now.14:54
fwereade_bigjools, allenap: it's based on: https://code.launchpad.net/~julian-edwards/juju/name-constraints/+merge/9967314:54
fwereade_allenap, tyvm14:54
niemeyerwrtp: You've got a LGTM15:12
wrtpniemeyer: brilliant, thanks15:12
niemeyerwrtp: Thanks for the work. Looks great15:13
niemeyerI'm stepping out for lunch, biab15:13
fwereade_going for a quick walk, bbs15:51
SpamapShazmat: https://codereview.appspot.com/5934054/   SSL hostname verification16:08
SpamapSjimbaker: ^^ would appreciate your review as well :)16:08
niemeyerGo is 1!16:23
fwereade_niemeyer, cool!16:26
robbiewniemeyer: windows support added...juju on windows! :P16:26
hazmatSpamapS, reviewed, lgtm, i'm curious why not default to cert verify on?16:27
hazmatSpamapS, have you tried it in practice?16:27
SpamapShazmat: that would be a breaking change.. I'm worried about breaking peoples systems who are using it w/ OpenStack+SSL but invalid certs.16:28
SpamapShazmat: we should default it to on in honolulu :)16:29
hazmatthat's unfortunate, SpamapS okay one suggestion then is turn it on for the default generated config16:29
hazmatso at leasts its explicitly configured onfor new users16:29
SpamapSOo good idea16:30
SpamapSwill add that16:30
SpamapSI was thinking of adding a WARN too16:30
niemeyerrobbiew: Easy one :-)16:31
niemeyerrobbiew: https://plus.google.com/u/0/107994348420168435683/posts/jdGyHD7NQgU16:31
SpamapShazmat: seems worthy of warning users whenever it isn't on16:31
robbiewniemeyer: ah...sweet16:32
hazmatSpamapS, indeed16:33
SpamapShazmat: one thing I've struggled with is writing tests for get_current_ami .. mostly just my not understanding mocker I think. :-P16:33
niemeyerTheMue: how do the changes feel to the watcher branhc?16:34
SpamapShazmat: http://paste.ubuntu.com/904165/16:34
SpamapShazmat: I think that shows what I want..16:34
SpamapShazmat: but I don't actually know how to make that work. ;)16:35
hazmatSpamapS, from juju.lib.mocker import MATCH16:35
SpamapSOh right16:35
SpamapSI've been through this before :)16:36
hazmatdef match_context(value): if context is None: return True elif isinstance(context, VerifySSLContext): return True16:36
hazmatcool16:36
SpamapShazmat: thanks, you just resurrected a lonely neuron that was tumbling through the wasteland.. ;)16:36
hazmatfwereade_, where's this push_default_config coming from?16:41
* hazmat is doing a base class deep dive16:41
fwereade_hazmat, juju.environment.tests.test_config16:42
* fwereade_ did one of those last night16:42
* SpamapS imagines its a hell of a rush16:42
* fwereade_ has never experienced anything like it16:42
fwereade_hazmat, in case it's not clear, the basic problem is that almost *everything* needs environment state available once we need a provider to build constraints16:43
hazmatfwereade_, sounds good, just wanted to look over the def since its ref'd lots of places16:45
fwereade_hazmat, the nice thing is how much redundant code goes away once you inject a few of those in strategic places :)16:45
niemeyermthaddon: Is the ip address publicly accessible?16:55
mthaddonniemeyer: only on http/https, not to access the appserver directly16:57
mthaddonniemeyer: if you'd like to do a shared screen session I can set that up for you (although I'd prefer if we waited til tomorrow for that as I'm almost EOD)16:57
niemeyermthaddon: Cool, trying to reproduce your problem locally right now.. should have a reviewable fix in a few minutes16:57
mthaddonah great16:57
niemeyermthaddon: I think it's a silly overlook, but just want to see the bug before fixing it16:57
* mthaddon nods16:58
niemeyermthaddon: So what's the error you see again?17:03
mthaddonniemeyer: no error as such, it's just that it times out - basically if you do a telnet session it doesn't exit cleanly, so nagios (I assume) sits there waiting for it to complete, and it never does17:03
niemeyermthaddon: What does it mean to exit cleanly?17:04
mthaddonniemeyer: return you to a prompt17:04
niemeyermthaddon: I mean.. if I wget the URL I provided you, it downloads and quits17:04
mthaddonniemeyer: sure, wget works fine17:04
niemeyermthaddon: Btw, I may provide you with a different URL, but would like to fix whatever problem exists first17:05
niemeyermthaddon: Ok, so what's the issue?17:05
mthaddonniemeyer: but try doing a telnet session and then a get request from there17:05
niemeyermthaddon: Doing it17:05
niemeyermthaddon: I get a lot of trash on my screen17:05
mthaddonniemeyer: right, and then you don't get a prompt returned, right, you have to manually quit?17:06
niemeyermthaddon: I get a prompt returned, except it's garbled due to the trash that corrupted the terminal17:06
niemeyermthaddon: If I do a reset, I get back a normal prompt from there17:06
mthaddonhmm, I don't get a prompt returned :( are you doing HTTP/1.0 or HTTP/1.1 ?17:07
niemeyermthaddon: I can try either.. with 1.1 it may keep the connection alive17:07
niemeyermthaddon: By design17:07
mthaddonniemeyer: interesting - I get a prompt returned with HTTP/1.0, not with HTTP/1.117:08
niemeyermthaddon: Ok, let me check in more detail17:08
mthaddonk17:09
wrtpi'm off for the evening. have fun.17:19
wrtpniemeyer: https://codereview.appspot.com/5901058/ is ready for review again. i had to substantially revamp the testing, but i think it's better for that.17:21
TheMueniemeyer: newest watcher is in, now with two seperated watcher types. so if it's LGTY the service config watcher could be changed to use it after the watcher package moved into the trunk.17:23
niemeyer<niemeyer> TheMue: how do the changes feel to the watcher branhc?17:23
SpamapShazmat: so, logging warnings in juju.providers.ec2.MachineProvider.__init__ seems kind of .. deep for logging... but it also seems like the right level of "YOU ARE DOING SOMETHING STUPID FIX IT" to shriek about this constantly...17:23
niemeyerwrtp: Cheers.. I'll look after I sort out that CS issue17:23
hazmatSpamapS, considering its specific to that provider, its appropriate17:24
SpamapShazmat: also its not clear to me how to test logging.. mock log or add a logging handler ?17:25
hazmatSpamapS, output = self.capture_logging("log.channel", level=logging.DEBUG)17:25
hazmatSpamapS, after output.. self.assertIn(some_string, output.getvalue())17:26
SpamapSman17:26
SpamapSyou guys thought of everything :)17:26
TheMueniemeyer: did you already took a llok into the current watcher?17:26
niemeyerTheMue: How do your changes feel to you in your new watcher branch!? :-)17:26
hazmatSpamapS, except the spanish inquisition17:26
SpamapShazmat: well.. I mean...17:27
hazmatwe really do need some better state testing base classes, we've got helpers all over the place.. but that one at least is properly in lib/testing.py17:27
SpamapS*NOBODY* expects the spanish inquisition!17:27
TheMueniemeyer: is it a problem to formulate your question in other words?17:28
niemeyerTheMue: I just did it..17:28
niemeyerTheMue: Do you not understand the sentence?17:28
hazmatIs the branch with the synthetic client event for watches?17:28
niemeyerTheMue: I'm asking what's your feeling about your changes..!?17:28
TheMueniemeyer: oh, now i see the "to you"17:28
TheMueniemeyer: now i got it, i read over the inserted "to you".17:29
robbiewlol17:29
hazmatfwereade_, i believe that's the whole set of initial branches, i'm about to go to the maas branch,  re the logging invalid constraint, is that in the current branch set?17:31
TheMueniemeyer: it's ok. but i liked the approach before (but indeed with better namings) too. it has been an elegant interface usage. but updater should better had be named wrapper and wrapper better wrapperCore, wrapperBackend or sth like that.17:32
fwereade_hazmat, there's constraints-get as well which should be pretty trivial, maas-name is stacked on that one17:33
hazmatfwereade_, cool17:33
fwereade_hazmat, the logging is not in the current branch set, I think it deserves its own (will hit all of constraints-set, deploy, add-unit)17:33
hazmatfwereade_, sounds good17:33
TheMueniemeyer: it has been a nice approach to add more watchers in future.17:34
TheMueniemeyer: i think now it's a fine small solution, the reduction to pass the event type to update feels good.17:35
robbiew~$ juju deploy wordpress17:36
robbiew2012-03-28 12:33:59,108 INFO Searching for charm cs:oneiric/wordpress in remote charm repository: https://store.charms.ubuntu.com17:36
robbiewhazmat: ^ ;)17:37
robbiewstore.charms....store.juju ;)17:37
niemeyerTheMue: Ok, the new one looks a lot better, FWIW17:37
niemeyerhazmat:  -        repo = RemoteCharmRepository("https://store.juju.ubuntu.com")17:38
niemeyerhazmat: +CS_STORE_URL = "https://store.charms.ubuntu.com"17:38
robbiewhazmat: this is from the ppa on precise...also have default-series set "precise", but still seems to pull oneiric17:38
TheMueniemeyer: fine, good news ;)17:38
hazmatniemeyer, which provider?17:39
robbiewec217:39
niemeyerhazmat: ?17:39
hazmatchecking17:39
niemeyerhazmat: This is provider independent..17:39
niemeyerhazmat: The code refactoring done over the URL change landed the store in a different URL17:40
hazmatodd it works on trunk17:42
hazmatre precise as series17:42
hazmat./bin/juju deploy mysql17:43
hazmat2012-03-28 13:42:08,422 INFO Searching for charm cs:precise/mysql in remote charm repository: https://store.juju.ubuntu.com17:43
hazmatnot the url of course.. i just changed that17:43
robbiewlol17:43
robbiewcool17:43
* robbiew isn't using trunk..using ppa17:43
hazmati don't believe anything relevant landed in the last day that would have changed that17:43
niemeyerrobbiew: I suspect hazmat just changed that as well :-)17:43
niemeyerhazmat: default-series?17:43
hazmatniemeyer, default-series behavior has been the same for a little while17:44
* hazmat installs the ppa version17:44
niemeyerhazmat: If robbiew has an environments.yaml file with default-series set to oneiric, which was the default until a couple of days ago, what would happen?17:45
hazmatniemeyer, it would use oneiric17:45
TheMueThe new golang.org looks pretty good (even if we allready knew it from the weeklies). Yay!17:45
hazmatniemeyer, but he's stated its precise17:45
* robbiew has default set to precise...correct17:45
hazmatniemeyer, in the absence of the charm url itself specifying a series17:45
niemeyerOk, sorry, no idea then17:45
hazmatniemeyer, url fixed on trunk17:46
robbiewah...I figured it out17:46
hazmatrobbiew, what was it?17:47
robbiewI'm an idiot17:47
robbiewdefault was set to my local provider environment17:47
robbiewwhich was set to oneiric as default17:48
niemeyerrobbiew: Welcome to the club17:48
robbiewjuju deploy wordpress -e AWS17:48
robbiew2012-03-28 12:48:18,678 INFO Searching for charm cs:precise/wordpress in remote charm repository: https://store.charms.ubuntu.com17:48
robbiewso just hazmat's store.charms f*ck up17:48
robbiewlol17:48
hazmatcool17:48
niemeyermthaddon: Btw, still looking at the issue.. it's definitely related to keep alives, just introspecting to confirm the exact location where the decision to keep it alive is made17:51
hazmatbcsaller, where you able to resolve that trunk-merge missing revs issues?17:52
hazmatmthaddon, can't the nagios check just use http 1.0?17:52
bcsallerhazmat: I was still focused on some of the refactoring in the status , its enough of a reordering that I'm redoing the merge17:53
niemeyerhazmat: It could, but I want to confirm that there's nothing wrong in that regard in the server anyway17:54
hazmatbcsaller, rel-types is ahead in the pipeline, and exhibits the merge problem.. doing it in status still means reverting commits17:54
niemeyerhazmat: Nagios must be testing HTTP 1.1 stuff for quite a while17:54
bcsallerhazmat: I'll go back and check it again17:55
niemeyermthaddon: Out of curiosity, do you have a dump of the request Nagios send by any chance?18:00
hazmatfwereade_, that should be the full stack, if i'm missing any pls let me know18:11
fwereade_hazmat, you're awesome, thank you18:12
hazmatniemeyer, /usr/lib/nagios/http_check should have it if you want to install nagios yourself18:12
hazmatits basically just a binary that gets forked for the http check18:12
fwereade_hazmat, there's a comment on https://codereview.appspot.com/5939046/ -- let me know if I appear to be insane18:12
hazmatfwereade_, i replied on that already.. its not really a problem atm18:13
hazmatfwereade_, but if we have env constraints, not tracking the any values at a given level, makes it appear unset in the composition18:13
hazmatso given the original examples of instance-type at env level constraint, and service level constraint with instance-type=any18:14
fwereade_hazmat, that loop is only concerned with masking18:14
fwereade_hazmat, the None still gets stored18:14
fwereade_hazmat, it just doesn't crew up any others18:14
niemeyerhazmat: Cheers18:14
hazmatfwereade_, doh.. ic18:14
niemeyerhazmat: Mainly curious if it sets the Connection: close header18:14
hazmatfwereade_, carry on the awesome ;-)18:14
* fwereade_ blushes18:15
niemeyerJeshh.. it's installing half of Ubuntu on my laptop18:17
robbiewlol18:18
niemeyercheck_http: Could not parse arguments18:18
niemeyerUsage:18:18
niemeyer(...) [-P string]18:18
niemeyerNote to self.. don't do this..18:18
hazmatniemeyer, it does have built in help.. also /etc/nagios/checks?/http.conf has some calling syntax examples18:21
niemeyerhazmat: built in where?18:21
niemeyerhazmat: Cool, I'm Googling for examples as well18:21
hazmatniemeyer, -h18:21
hazmator --help.. i was just looking at a few minutes ago18:21
niemeyerhazmat: Duh.. I thought the help message was the same usage message shown18:22
niemeyerhazmat: Cheers18:22
* SpamapS notes that running the unit tests with 'eatmydata ./test' is about 5x faster because ZK no longer must fsync18:25
niemeyermthaddon: Do you have the check_http line at hand?18:26
niemeyermthaddon: It works here as well, and seems to use HTTP/1.018:27
niemeyer% /usr/lib/nagios/plugins/check_http -I 127.0.0.1 -p 8080 -u http://localhost:8080/charm/oneiric/jenkins18:27
niemeyerHTTP OK: HTTP/1.0 200 OK - 8697 bytes in 0.003 second response time |time=0.002608s;;;0.000000 size=8697B;;;018:27
SpamapSmmmmmmm18:27
SpamapSops18:27
fwereade_hazmat, check my logic: when running against a legacy ec2 env, there is absolutely no point warning about the presence of default-image-id or default-instance-type, because (1) they'll still be synced to and used by the PA which is still running old code and (2) even if the user retired them and tried to use constraints... she couldn't, because the PA is running old code18:32
fwereade_hazmat, (this assumes no change to env settings lands between now and release)18:33
SpamapShazmat: I kicked off a PPA rebuild to pick up your hostname trivial18:33
hazmatfwereade_, agreed18:33
hazmatSpamapS, thanks18:34
fwereade_hazmat, cool, I'll sort that out as well18:34
hazmatSpamapS, added some review points to your branch18:34
SpamapShazmat: gracias18:36
* SpamapS is determined to land this by tomorrow :)18:36
fwereade_hazmat, judgment call: it suddenly seems that we should skip the instance-type constraint on private clouds and leave them to use the default-* settings exclusively, rather than impose an instance-type set that will be, at best, coincidentally somewhat accurate18:38
hazmatfwereade_, notionally instance-type is a noop atm on a non ec2 provider lacking the mapping information, more troublesome is its undefined against openstack w/ ec2 provider... you lose me on the coincendentally accurate18:41
hazmatat this point the only meaningful context for constraints supported are aws ec2 generics + region+instance-type, and maas+name18:42
fwereade_hazmat, the trouble is that it's actually not a no-op, but it should be18:42
SpamapShazmat: AFAICT, the values do not arrive in the schema library as strings, they are loaded directly from yaml and then passed in.18:42
fwereade_hazmat, and orchestra-classes :)18:42
hazmatfwereade_, given that its in the providers now, i'd go ahead and yank outside of ec2, we definitely the need resource to instance mapping for 12.0.4.1 to make it more universal18:43
hazmatSpamapS, oh right cool18:43
hazmatSpamapS, a test would be nice though18:43
fwereade_hazmat, yeah, that's in progress but there's no hope of getting it all done today18:44
SpamapShazmat: adding a few actually, I agree18:44
hazmatSpamapS, effectively all those tests are hitting the optional nature.. and the ec2 provider tests bypass the schema parse18:45
hazmatcoo18:45
hazmatl18:45
SpamapSThis late in the game.. moar tests == moar sleep. :)18:45
hazmatbcsaller, ping.. how's it going?18:45
bcsallerhazmat: going through the diff again18:46
* SpamapS sends bcsaller a vegan pizzagram18:47
bcsallerheh18:48
hazmatbcsaller, cool want any help with that?, i was trying to figure out how ellided the trunk commits, but it wasn't really clear18:51
hazmat^it18:51
bcsallerhazmat: yeah, its pretty messy, its avoiding all the status changes you merged, including even the new charm you added to the test repo18:52
bcsallerhazmat: but I'll figure it out18:52
hazmatbcsaller, the only though i had was it didn't get pumped through the pipeline18:52
hazmati typically have a merge segment at the top of the pipeline for that.18:52
hazmatbut frankly its been a while since i resorted to a pipeline18:53
niemeyerOkay, let's see the source code of nagios.. :-(19:04
samkottlerniemeyer: I wouldn't do that :P19:04
niemeyersamkottler: Ugh.. I'll close one eye at least :)19:04
niemeyer(just so I have the other one in case it goes really bad..)19:05
samkottlerniemeyer: you will have gauged the open one out once you see it19:05
samkottlerniemeyer: hahaha jinx19:05
hazmatniemeyer, traffic sniff didn't do it?19:07
niemeyerhazmat: It just works, but it sends HTTP/1.019:07
niemeyerhazmat: There's no obvious way to force it into 1.119:08
hazmatmthaddon, do you have the config/param for the nagios check handy?19:08
hazmatniemeyer, where does the 1.1 requirement come in?19:08
niemeyersamkottler: Gosh.. you weren't kidding..19:08
niemeyerhazmat: The requirement is for it to fail, so that I can confirm why :)19:09
niemeyerhazmat: HTTP/1.0 doesn't keep connections alive by default19:09
niemeyerhazmat: and it just works19:09
niemeyerhazmat: I'm betting Connection: close is being mishandled, and that's all, but I wouldn't like to close the door on the problem without confirming19:10
niemeyerFor general appreciation: http://paste.ubuntu.com/904396/19:11
hazmatniemeyer, my eyes!19:12
niemeyer:-)19:13
bcsallerI like how they broke that code up into manageable chunks19:15
bcsallernot so much..19:15
niemeyer:-)19:16
niemeyer        /* Nagios monitors the world and we monitor Nagios taking over the world. :-) */19:16
niemeyer        char *api_server="api.nagios.org";19:16
niemeyer        char *api_path="/versioncheck/";19:16
niemeyerHow come no one is going to Slashdot to point out how evil the developers are?19:17
hazmatniemeyer, there's a reason ichinga exists..19:17
hazmater.. icinga19:17
hazmathttps://www.icinga.org/faq/why-a-fork/19:18
niemeyerhazmat: Oh my :-)19:19
niemeyer"""19:19
niemeyerIn recent years, Nagios’ popularity as an open source monitoring solution saw it evolve into a quasi open source industry standard.19:19
niemeyer"""19:19
niemeyerI swear for a flash moment I expected the sentence to end with "..., and we can't stand a standard."19:19
SpamapSits just oozing irony19:20
niemeyerI guess I'll just give up, fix what I think is broken, and wait for mthaddon tomorrow19:27
SpamapShazmat: more tests.. better logs.. I think we're close. :)19:32
hazmatSpamapS, cool, checking it now19:47
fwereade_hazmat, almost a trivial: https://codereview.appspot.com/593305819:54
hazmatfwereade_, looks good. one question do we warn about newer clients trying to set constraints against legacy envs?19:58
hazmatSpamapS, is txaws in precise going to have the ssl cert checking?19:59
fwereade_hazmat, hmm, no non-hackish way AFAICT... if machine/0 has incomplete constraints, that's a clue19:59
hazmatfwereade_, well we know its  a legacy env.. so effectively with that and attempt to use constraints is basically a warn worthy noop20:01
hazmats/and/an20:01
fwereade_hazmat, we don't know it's a legacy env without checking something hackish like that20:01
fwereade_hazmat, unless the legacy env happened to have legacy keys set20:01
hazmatfwereade_, ic20:02
fwereade_hazmat, I agree it's good to warn in that situation, and I think it can be encapsulated reasonably pleasantly20:02
niemeyerTheMue: Still around by any chance?20:08
TheMueniemeyer: yip20:11
niemeyerTheMue: Just wanted to say thanks.. the branch is great20:11
TheMueniemeyer: currently preparing a go talk i'm giving on monday at a gtug20:11
niemeyerTheMue: I mentioned a minor detail related to "err != nil" that should be addressed, but please feel free to submit it after replacing the check20:12
TheMueniemeyer: will check it tomorrow after gym. but that are good news.20:13
niemeyerTheMue: Yeah, didn't expect it to be done now.. just wanted to give you the +120:13
TheMueniemeyer: thx20:14
TheMueniemeyer: rog and i chose to test for nil channel instead for err because i otherwise would have to return an extra error when in update() i receive a tomb.Dying.20:16
TheMueniemeyer: and in loop() i would have to test it extra to not do a tomb.Kill() with that error then20:17
niemeyerTheMue: Hmm20:41
SpamapShazmat: txaws in precise already has the ssl cert checking cherry picked in. :)20:44
SpamapShazmat: and the PPA has it as well20:44
niemeyerTheMue: I don't think any extra tests are necessary.20:47
niemeyerTheMue: Returning nil, nil is error prone20:47
TheMueniemeyer: it's a bit different, yes20:48
samkottlerniemeyer: are you hacking on Nagios internals?20:48
TheMueniemeyer: but if i recieve a tomb.Dying during the send in update(), what kind of error shall i return? it will be passed to tomb.Kill() afterwards.20:50
niemeyerTheMue: Well, even if it returns no error, though.. it shall work, shall it not?20:51
niemeyerTheMue: A bit of an icky design, though20:51
niemeyerTheMue: That's exactly why there was a Stop variable in tomb, actually20:52
niemeyerTheMue: Unfortunately I forgot about it when debating with wrtp20:52
niemeyerTheMue: Maybe we should bring it back20:52
TheMueniemeyer: currently it returns no error, and i use a nil channel to end loop() work. if i check for an error to stop the loop i need an error20:52
niemeyerTheMue: Yeah, that was tomb.Stop20:53
TheMueniemeyer: ah, the missing link20:53
TheMueniemeyer: as long as we don't got it i could continue as it is or i can change to a dummy error20:54
niemeyerTheMue: Please just commit it as is then.. I'll sort something out later, as this work shouldn't be held back by that minor20:54
TheMueniemeyer: fine, will do so20:55
niemeyerTheMue: I may introduce a tomb.Dying error20:55
niemeyerTheMue: Something like20:55
TheMueniemeyer: sounds good20:55
niemeyervar Dying = errors.New("tomb: dying")20:55
niemeyerTheMue: Which if provided to Kill doesn't change the error state of the tomb20:56
niemeyerTheMue: No matter what it is20:56
TheMueniemeyer: did you already tagged your packages for go1?20:56
niemeyerTheMue: No, but should just work20:56
niemeyerTheMue: Oh!20:56
niemeyerTheMue: Maybe not :)20:56
niemeyerCrap20:56
hazmatSpamapS, great22:08
SpamapS2012-03-28 15:01:43,785 WARNING Charm '.mrconfig' has an error: CharmError() Error processing '/home/clint/charms/oneiric/.mrconfig': unable to process /home/clint/charms/oneiric/.mrconfig into a charm22:10
SpamapShttp://paste.ubuntu.com/904647/22:10
SpamapStrivial, or should we test that behavior?22:10
hazmatSpamapS, i'm fine with that as a trivial.. tests are always nice, its a trivial test as well22:12
SpamapShazmat: I think there may be some missing test coverage in there.. I added some missing files to the test repo and no tests failed.. which I would have expected due to the FileNotFound errors that should have been raised.22:15
hazmatSpamapS, it only processes directories22:24
hazmator bundles22:24
hazmatthe bundles/zip archives have a known extension.. you can turn on the loggin in the test to see the skips22:24
SpamapS-rw-------  1 clint clint 3041 Jan 30 11:15 .mrconfig22:25
hazmatSpamapS, if that's in a charm, it will be ignored.. charms dir -> archive drops hidden files afaicr22:26
hazmatif its a directory by itself from the logic you added you won't even see it22:26
SpamapShazmat: no its in the series dir22:26
hazmatic22:27
SpamapShazmat: still investigating. Its low priority.. so I'm inclined to just merge the trivial to suppress the not-useful warning and move on (despite my earlier suggestion that moar tests are moar gooder ;)22:27
hazmatit shouldn't be poking in series directory.. it already knows the series path its going to inspect.. the charm dir repo is the series path (with the series value)22:27
SpamapShazmat: juju.charm.repository.LocalCharmRepository._collection ... just uses os.listdir22:28
SpamapShazmat: oh I see what you mean though22:30
SpamapShazmat: its raising CharmError, not ignoring22:30
SpamapS(it being juju.charm.provider.get_charm_from_path)22:30
SpamapShazmat: I kind of like moving the ignore to there now that I think about it22:31
SpamapSerr22:31
SpamapSno22:31
SpamapSignore me.. need caffeine I think22:31
* hazmat tries to process22:32
hazmatSessionExpire22:32
* SpamapS kill(pidof('hazmat'),SIGSTOP)22:33
SpamapShazmat: I'll SIGCONT you in 3 hours.. ;)22:33
* hazmat registers an ignore mask22:33
bigjoolshi folks22:34
hazmatbigjools, greetings22:35
Daviey$ killall -SIGSTOP hazmat22:36
Davieyhazmat(3459): Operation not permitted22:37
Daviey:(22:37
hazmatonly a SIGKILL can stop me now :-)22:37
hazmatniemeyer, seems like there is some uptick the doozerp from other folks22:44
hazmatin the interest22:44
SpamapSdoozerp?22:48
hazmatSpamapS, doozerd with persistence.. golang's version of zk23:06
hazmater.. impl23:06
SpamapSAhh23:07
SpamapSI've been thinking more and more about why we even have a central place for all this state lately.23:08
SpamapSlike, why not decentralize it, and go for more of a 0mq like model where the agents just talk to one another when they need to.. and the client simply pushes out an intent map somewhere and triggers events on the agents it knows needs them.23:10
SpamapSperhaps thats a lot harder than it sounds, but I am worried about the implications of ZK's lack of partition tolerance. :P23:11

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