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

hazmatSpamapS, any chance you haven't uploaded already?00:04
hazmatSpamapS, we where just debating the whole value of using an ip address..00:04
hazmatversus just using a domain name, and letting dns updates figure it out..00:04
SpamapShazmat: I am delaying uploading00:09
SpamapSI think the IP should be fine as long as there is only one place to change it00:10
hazmatSpamapS, niemeyer if we use the IP we will need to SRU, but the IP will work till then00:13
hazmatSpamapS, yeah.. i centralized all the refs to it, one line change now00:13
niemeyerSpamapS:Yeah, hazmat is right.. with a temporary domain, we'll still have to SRU to fix the domain soonish, but we can also switch the A record at the same time to the real store00:14
niemeyerSpamapS: Which means we can stop the temporary store as soon as the new one is live00:14
niemeyer(and the domain cache expires)00:14
SpamapSI'd be much happier with a single line change SRU to re-point things than a non-working distro version.. :)00:15
SpamapSWould be nice if users could work around archive sync issues with an environment variable tho00:15
niemeyerSpamapS: Hmm.. there's no reason for the distro version to be non-working.. that's actually another argument in favor of the domain name00:17
niemeyerSpamapS: Much better than a variable too, because it actually works without any environment changes00:17
SpamapSI guess my point is, if you can get a version out now that works with the store, but introduces a potential need to re-point things later.. I'd prefer that over no store functionality.00:18
niemeyerSpamapS: We're on the same page00:22
niemeyerSpamapS: Let's point the code to juju-store.labix.org00:22
niemeyerSpamapS: I'll make that work over the next couple of days00:22
niemeyerSpamapS: If we need to SRU later, it'll be just to have it pointing to something more official. That domain can continue working for as long as necessary.00:22
SpamapShmm00:23
SpamapSI'm just looking here..00:23
SpamapShow does the charm store protect against MITM?00:23
SpamapSI see no security in there00:24
* SpamapS fights the urge to facepalm00:25
niemeyerSpamapS: There's none anymore.. that was https, and will be back one day once we manage to make devops a reality.00:26
SpamapSOk, so, in that case, I'd rather not have a charm store. :)00:26
niemeyerSpamapS: Please don't facepalm.. I've been doing that and it's starting to hurt..00:26
SpamapSat least with bzr branches from launchpad, you have ssh closed loop with users uploading00:27
niemeyerSpamapS: OKAY.. maybe I should just shutdown the computer and get a beer. :)00:27
SpamapSniemeyer: maybe we should invent a special glove with soft palms for doing code review. :)00:27
niemeyerSpamapS: It's not even about code reviews.. it's really about the store00:28
SpamapSniemeyer: I have some thoughts on how we can have our charm store cake and eat it too .. we'll need to embed a CA cert in juju but its better than nothing.00:28
niemeyerSpamapS: I just want this thing live.. we can very easily improve things, move back and forth and so on00:29
SpamapSOR we can all chip in $20 and get a real cert ;)00:29
niemeyerSpamapS: We'd not even have to pay.. there are free certs in some providers00:29
SpamapStrue00:29
SpamapSas long as none of them involve a rectal exam I'll volunteer to investigate00:30
niemeyerSpamapS: I've registered one before with a registrar that I can't remember right now, but I have an SSL I can check00:30
SpamapSStartSSL.com I believe might work00:31
niemeyerSpamapS: If you feel strong about it, just put https://juju-store.labix.org in there, and we'll sort it out00:31
SpamapSnot sure if their CA is in the ubuntu ca certs.. but we can add one in the packaging00:31
niemeyerSpamapS: The ones in that registrar I'm sure i tis00:31
niemeyerSpamapS: In the one I don't recall right now00:31
SpamapSniemeyer: I'm worried about the fact that charms run as root is all..00:31
niemeyerSpamapS: I know.. there's a reason why it was https://store.juju.ubuntu.com00:32
SpamapSniemeyer: indeed00:32
niemeyerSpamapS: I've just been conceding on issue after issue00:32
SpamapSniemeyer: I don't think we're going to solve this today... sounds like its been a long, weird day today for everybody00:33
hazmatI vote we have it at the original https://store.juju.ubuntu.com00:34
hazmatit will get sorted out when it gets sorted out then00:34
niemeyerhazmat: Heh00:34
hazmatin the end that's where its supposed to be00:34
niemeyerhazmat: In the end that's where it will be00:34
niemeyerhazmat: Not today, not tomorrow00:35
hazmatniemeyer, but before the release i assume00:35
niemeyerhazmat: I don't know..00:35
niemeyerhazmat: I don't have control over it00:35
hazmatand it might be solved next week... and its still fine... or even two months from now and its less fine.. but we can have env var for it..00:35
niemeyerhazmat: It's up to you to decide, though.. if you update to that store and it's put live elsewhere, you'll have to deal with the change later.00:36
hazmatits certainly not going to be at an ip address, which is what it is now00:36
niemeyerhazmat: I'm happy with whatever, really00:36
hazmati'd rather pick the final destination, and the rest of it will take care itself... whenever it does00:36
niemeyerhazmat: I'll be working to put that store live somewhere00:37
SpamapSoddly enough.. the IP is a lot harder to MITM than the hostname00:37
SpamapSstill not "secure enough"00:37
SpamapSone evil wifi is all it would take00:37
niemeyerSpamapS: This is a test phase00:37
SpamapSbut yeah.. I have no answers for you guys.. :-P00:37
niemeyerBut I don't care, really.. I've been facing way too many walls for that stuff.. I'll just make it work and people can decide.00:38
hazmati'd like to go ahead and change it back to https://store.charms.ubuntu.com00:38
SpamapSIf left at store.juju.ubuntu.com ...00:38
SpamapSwith https...00:38
SpamapScould we come up with ways to help people install a ca cert that we provide, for testing, and a /etc/hosts entry?00:39
SpamapSI know thats *super* yuck00:39
SpamapSjust trying to flesh out the options00:39
niemeyerSpamapS: IS won't provide me with the SSL for that domain, and they're not happy with it pointing to something I manage either00:39
SpamapSRight, but we could use our own CA00:40
SpamapSand put that CA in a "juju-testing-ca" package00:40
hazmatniemeyer, are you sure about the store env var..00:40
niemeyerSpamapS: Heh.. using another domain name is a *lot* simpler00:40
SpamapSaye00:40
niemeyerhazmat: Absolutely00:40
SpamapSit is00:40
SpamapSok, I think I'll go see what beer is on sale at whole foods now :)00:40
niemeyerI'd love some company for a beer right now, to be honest00:41
* hazmat too00:41
SpamapSSt. Paulie Girl is nice company :)00:41
SpamapSshe always smiles at my jokes00:41
* SpamapS disappears00:41
niemeyerhazmat: The machine is stopped at00:43
niemeyerUnpacking python-txzookeeper (from .../python-txzookeeper_0.8.0-0ubuntu1_all.deb) ...00:43
niemeyerSetting up python-txzookeeper (0.8.0-0ubuntu1) ...00:43
niemeyerYou have not informed bzr of your Launchpad ID, and you must do this to00:43
niemeyerwrite to Launchpad or access private data.  See "bzr help launchpad-login".00:43
niemeyerhazmat: It's also booting Oneiric.. have we not switched to Precise yet?00:44
hazmathmm.. i've been using default-series00:45
hazmatniemeyer, what do you have specified in your environments.yaml for default-series?00:45
hazmatniemeyer, can you pastebin console output00:46
niemeyerhazmat: Nothing00:46
hazmatthat bzr message is pretty standard00:46
niemeyerhazmat: I mean, I don't have anything special in default-series00:46
hazmatits a one time thing00:46
hazmatniemeyer, do you have 'precise' there?00:46
niemeyerhazmat: I don't have the setting at all00:47
niemeyerhazmat: Using juju from trunk on 48600:47
niemeyerhazmat: Hmmm.. still using juju-branch, though.. this is bogus00:47
niemeyerhazmat: It's juju origin now, isn't it00:48
hazmatjuju-origin00:48
niemeyerhazmat: Do I need to set the series for it to pick precise?00:48
hazmat lp:juju00:48
hazmatyes00:48
niemeyerhazmat: Hmmm.. shouldn't it pick it automatically, given that it's the expected value for 12.04?00:48
hazmatniemeyer, yeah.. i was just digging into why that is00:49
hazmatso the environment doesn't actually require default-series, so its None, but the get ami method has a default release value of oneiric00:49
niemeyerhazmat: Alright, using default-series for the moment, switched to juju-origin, and restarting00:49
hazmati use ec2 on a regular basis00:50
hazmatniemeyer, have you checked gozk for mem leaks?00:51
niemeyerhazmat: Hmm.. not that I recall.. why?00:51
hazmatniemeyer, someone handed me a txzk example on #twisted that showed some leakage00:52
hazmati was about to convert it to another library to isolate where the problem lies00:52
niemeyerhazmat: Not entirely surprising.. I've fixed a few leaks early on in python-zookeeper00:52
hazmatyeah.. i suspect the python bindings indeed00:52
niemeyerhazmat: and it was entirely "by chance", realizing while looking at the code00:52
niemeyerhazmat: I wouldn't be surprised if there's more of the same00:52
niemeyerhazmat: Go is mark & sweep, so it's harder to get that kind of leak00:53
hazmati was going through some of the stdlib yesterday, its quite readable00:54
niemeyerhazmat: Okay, kicking another run00:54
niemeyerof the wtf00:54
niemeyerhazmat: Yeah, they're pretty diligent about it00:55
niemeyerhazmat: There was also a serious push for Go 100:55
niemeyerhazmat: So it's better in quite a few ways than it was 4 months ago00:55
niemeyerhazmat: Still no go :(01:13
niemeyerhazmat: juju status is blocked again..01:13
niemeyerWill log onto the machine to see what's up01:13
hazmatniemeyer, can you strace it?01:13
niemeyerhazmat: Setting up the env01:18
niemeyerhazmat: "2012-03-22 21:20:13,919 DEBUG Environment still initializing. Will wait."01:20
niemeyerhazmat: Seems to have reached the server01:20
niemeyerhazmat: Agents are running..01:22
niemeyerhazmat: zk is empty.. initialization never run indeed01:23
niemeyerhazmat: Have you been using juju-origin?01:25
niemeyerhazmat: To run with a branch, that is01:25
niemeyerhazmat: http://paste.ubuntu.com/895896/01:34
niemeyerhazmat: That's probably it..01:34
niemeyerSpamapS: So, wtf is stopped because deployment is broken for real01:42
hazmatodd01:55
hazmatthat's the new setuptools bit for pypi mac installs01:57
niemeyerTime for some sleep02:20
niemeyerNight all02:20
hazmatits fixed in trunk02:28
hazmatsleep sounds good02:29
TheMuerogpeppe: moin09:36
rogpeppeTheMue: hiya09:36
TheMuerogpeppe: same beautiful weather like here? yesterday i worked for some hour on our veranda, watching our bunnies on the lawn09:37
rogpeppeTheMue: it was beautiful yesterday, but today it's misty.09:37
rogpeppeTheMue: went for a longish bike ride this morning and should have had lovely views but didn't09:38
TheMuerogpeppe: *sigh* hope it will get better today09:38
TheMuerogpeppe: oh, carmen called, should help her with a flower in the garden, brb09:39
rogpeppeTheMue: who's carmen?09:48
TheMuerogpeppe: my wife, she's doing spring preparations09:49
rogpeppeTheMue: funny, my wife is also called Carmen!09:49
TheMuerogpeppe: yep, we already talked about it. *lol*09:49
rogpeppei'd totally forgotten!09:50
TheMuerogpeppe: hehe09:50
TheMuerogpeppe: allready started uds preparation?09:50
rogpeppeTheMue: no, am going to book tickets today09:50
TheMuerogpeppe: i've got my flights booked and now doing the ESTA form09:51
TheMuerogpeppe: i would like you or william as room mates, same or almost the same time zones ;)09:54
rogpeppeTheMue: my time zone is always weird at events like that!09:54
TheMuerogpeppe: hehe09:55
rogpeppeTheMue: flights sorted10:24
TheMuerogpeppe: fine. i'll arrive sunday arround 12:30 at SFO10:25
TheMuerogpeppe: so enough time to travel to the hotel, look around a bit and go to bed early10:25
rogpeppeTheMue: i arrive 1420 SFO10:26
TheMuerogpeppe: ah, also not too late10:26
rogpeppeTheMue: and leave 1855 on the following saturday10:26
TheMuerogpeppe: arrival is 1220, leaving is 125010:27
rogpeppefwereade_: ping10:57
TheMuerogpeppe: i'm in since 7:31 (your time) and havn't seen him yet11:08
TheMuerogpeppe: maybe he's biking like you11:08
fwereade_rogpeppe, pong11:08
rogpeppeha!11:08
fwereade_TheMue, I'm around, I'm just quiet :p11:08
TheMuefwereade_: hehe, ok11:08
rogpeppefwereade_: just wanted to chat about testing strategy11:09
rogpeppefwereade_: when you've got a mo11:09
fwereade_rogpeppe, 10 mins? want to get a propose in and get a mnemonic test failure in another branch11:09
rogpeppefwereade_: np11:10
rogpeppefwereade_: any time11:10
rogpeppefwereade_: ping me11:10
rogpeppei discovered yesterday evening that my ex-lorry-driver neighbour, in his 80s, has installed ubuntu. i'm impressed.11:19
TheMuerogpeppe: maybe he has seen that video of the daddy trying win, os x and ubuntu11:20
rogpeppeTheMue: i don't think so. apparently a relation of his is using it, so he gave it a go. he says he gets a bit lost when he has to use the command-line...11:21
rogpeppeTheMue: but otherwise he finds it pretty good.11:21
rogpeppeTheMue: he's considerably older than the guy in that video11:21
rogpeppeTheMue: they've been living in this street for 60 years11:22
TheMuerogpeppe: wow11:22
rogpeppeTheMue: he came across last night because he'd seen my wi-fi network and wanted to warn me that i should secure it properly!11:23
fwereade_rogpeppe, golly :)11:23
TheMuerogpeppe: i don't think i'll reach this number here. we have a quite large house, and we plan to move to a smaller one when we get older and the kids have left the house11:23
fwereade_rogpeppe, I may have to wait a little longer, cath needs my help a mo11:23
TheMuerogpeppe: he is really fit11:23
rogpeppefwereade_: np11:23
TheMuerogpeppe: i've changed my wifi to wpa2. now my sister-in-law who is living in our house too has troubles. she's using xp, and by default it doesn't support wpa2.11:25
rogpeppeTheMue: oh dear.11:26
TheMuerogpeppe: maybe she should give ubuntu a try too11:26
rogpeppeTheMue: depends how much she's dependant on windows stuff. some people, particularly those that are somewhat more tech-savvy, find it hard, because the microsoft-compatible apps don't work too well11:27
TheMuerogpeppe: she mostly is doing web and mail and only private usage of office apps from time to time. so it could work.11:28
rogpeppeTheMue: if she's an Outlook user, it could be hard11:29
TheMuerogpeppe: no, only web mail (thankfully)11:29
rogpeppeTheMue: she could also install WPA2 support, presumably.11:30
TheMuerogpeppe: i had to use outlook the last 8 years, argh11:30
TheMuerogpeppe: yep, i've dl'ed two fixes. maybe it's working then11:31
fwereade_rogpeppe, so, testing11:45
fwereade_rogpeppe, I saw your collected random failures which did indeed look a little alarming11:45
rogpeppefwereade_: i'm thinking of testing commands11:46
fwereade_rogpeppe, ah, ok11:46
rogpeppefwereade_: so... i want to try to avoid testing the same stuff many times11:46
rogpeppefwereade_: so i'm wondering what you think about putting a dummy environs interface underneath the command stuff11:47
rogpeppefwereade_: which sends on a channel when a given operation is executed, but doesn't actually do anything11:47
rogpeppefwereade_: although it may start a zookeeper for the state11:47
fwereade_rogpeppe, yeah; I think having an *actual* dummy environ type, like we do in pyjuju, and working against a real zookeeper, is probably sensible11:48
rogpeppefwereade_: yeah. for the moment i'm putting it in cmd/juju/environ_test.go, but it might be useful elsewhere in future11:48
fwereade_rogpeppe, sounds good11:49
rogpeppefwereade_: i'm exporting the Environ within juju.Conn11:49
rogpeppefwereade_: that way there's a way in11:49
fwereade_rogpeppe, cool11:50
rogpeppefwereade_: ok, great. just making sure you were ok with the general thrust.11:50
fwereade_rogpeppe, definitely sounds sensible to me11:50
rogpeppefwereade_: as cmd/juju is "yours" :-)11:50
fwereade_rogpeppe, kinda, I guess :p11:51
rogpeppefwereade_: you touched it last anyway. i think that gives you some veto rights :-)11:51
rogpeppefwereade_: i'm tearing it apart anyway :-)11:52
fwereade_rogpeppe, haha, that does sound a little alarming :p11:52
fwereade_rogpeppe, what's it conspicuously lacking for your purposes?11:52
rogpeppefwereade_: don't worry too much. it's all with due respect, i hope11:52
rogpeppefwereade_: it's mostly just refactoring shared stuff between commands, now that there's more than one11:53
rogpeppefwereade_: the basic structure remains11:53
fwereade_rogpeppe, cool, I fully expect bootstrap to take a justified kicking; I would worry a little if you were planning to gut SuperCommand11:54
rogpeppefwereade_: oh no! i wouldn't dream of it.11:54
rogpeppefwereade_: currently i'm strictly within cmd/juju11:54
fwereade_rogpeppe, ah, cool, that's great then ;p11:55
fwereade_rogpeppe, and ofc if cmd itself needs work that's fine as well, the only reason I'd be nervous of that is because a new client is on the way11:55
rogpeppefwereade_: a new client?11:56
fwereade_rogpeppe, cmd/jujuc/server will also use it, it fits too nicely to go duplicating stuff like command selection IMO11:56
rogpeppefwereade_: i thought it already did.11:57
fwereade_rogpeppe, not in trunk11:57
fwereade_rogpeppe, yet11:57
rogpeppefwereade_: ah, i didn't know if it'd been merged yet11:57
fwereade_rogpeppe, that specific branch is currently not even proposed, I want to lose a bit of the backlog first before I make it work with the final versions of the stuff currently in review11:58
rogpeppefwereade_: ah, i lose track11:58
fwereade_rogpeppe, tell me about it ;)11:59
TheMuelunchtime12:37
hazmatmorning folks12:55
* hazmat tracks down a memory leak12:55
rogpeppehazmat: morning12:58
rogpeppelunch13:17
TheMueback on the veranda13:27
niemeyerGood morning everybody13:30
rogpeppeniemeyer: yo!13:33
TheMueniemeyer: morning13:43
rogpeppeback13:49
hazmatg'morning niemeyer13:58
fwereade_niemeyer, if I was stupid and set the wrong -for in lbox propose, how do I do a new MP for that branch?13:59
niemeyerHey all14:00
niemeyerfwereade_: Just delete the previous one14:00
fwereade_niemeyer, d'oh :)14:00
niemeyerfwereade_: ;)14:00
fwereade_hazmat, when you have a moment:14:06
fwereade_hazmat, https://codereview.appspot.com/5882056/14:06
fwereade_hazmat, https://codereview.appspot.com/5876070/14:06
fwereade_hazmat, https://codereview.appspot.com/5874064/14:07
fwereade_hazmat, in that order14:07
niemeyerfwereade_: Please note that there's a minor detail rogpeppe pointed out in terms of pre-req that still must be fixed14:16
fwereade_niemeyer, oh, bother, missed that14:17
fwereade_niemeyer, what's the problem?14:17
niemeyerfwereade_: If you merge the pre-req, and then merge trunk onto the follow up branch, the next propose will still be diffing against the pre-req14:17
niemeyerfwereade_: It's not such a big deal14:17
niemeyerfwereade_: pre-req is still useful even with that14:17
rogpeppeit confused me quite effectively though!14:18
niemeyerfwereade_: You'll just a wrong diff in the specific case where you merge trunk on the follow up14:18
rogpeppe(not that it takes much :-])14:18
niemeyer(and not in the pre-req)14:18
fwereade_niemeyer, ah ok, so it really just introduces more noise as it remains unreviewed?14:18
fwereade_niemeyer, that's *almost* a feature :p14:18
niemeyerfwereade_: yeah, if you merge trunk on the pre-req too, it fixes the problem14:18
fwereade_niemeyer, cool14:18
niemeyerfwereade_: Yeah ;)14:18
niemeyerfwereade_: I have to fix lbox so that it checks the merge state of hte pre-req before deciding what to diff against14:19
fwereade_niemeyer, sounds good14:19
niemeyerhazmat: What do we do with the wtf?14:20
* rogpeppe feels all virtuous every time he writes "package testing_test"14:20
hazmatniemeyer, i fixed that bug in trunk14:32
niemeyerhazmat: Awesome, so I guess we'll have to jump over a few revisions14:37
niemeyerhazmat: Will do that in a bit14:37
niemeyerrogpeppe: :-)14:37
TheMuerogpeppe: pls take a look athttp://paste.ubuntu.com/896502/. it realizes a Watcher as util type where own behaviors with three methods (and those individually needed) can be plugged in14:38
hazmatniemeyer, yeah.. it needs to skip 486-49414:39
hazmat494 is good14:39
rogpeppeTheMue: what about watchers that watch children of a node?14:39
rogpeppeTheMue: or watchers that watch the contents of a node, come to that14:41
TheMuerogpeppe: would have to check it. i've only choosen ExistsW because it doesn'd do much i/o.14:41
rogpeppeTheMue: how many different watchers will there be?14:41
TheMuerogpeppe: it works with content, see my last proposal14:41
rogpeppeTheMue: link?14:41
TheMuerogpeppe: https://codereview.appspot.com/5885059/14:42
TheMuerogpeppe: but here still without behavior14:42
TheMuerogpeppe: it's an idea to discuss. when the watch fires for every event regarding a node (content, creation, deletion, children) then it would work fine with one Watcher as type14:43
rogpeppeTheMue: i don't think that's a good idea, as it means more network traffic than necessary.14:44
TheMuerogpeppe: why?14:45
rogpeppeTheMue: i *think* that registering a watcher for a node sends a message to zookeeper (if that watcher type isn't already registered for that node)14:46
TheMuerogpeppe: afaik watches allways fire all kinds of events14:46
rogpeppeTheMue: no, it would be nice if they did, but they don't14:46
rogpeppeTheMue: GetW doesn't fire when children change, for example14:47
TheMuerogpeppe: so my "exists watch" fires content changes and deletions by accident (monitored that)14:47
rogpeppeTheMue: the set of events depends on the call. existsW does give changed events, yes.14:48
rogpeppebut not children events14:48
rogpeppei think i documented it once14:48
TheMuerogpeppe: do we have an i/o problem regarding watches or is this a kind of premature optimization?14:48
rogpeppeTheMue: it makes the implementation more complex too - you have to fire off a new goroutine each time you do a watch.14:49
TheMuerogpeppe: ok, so i would change the Watcher to be configurable. e.g. Init() of the behavior could return where it is interested in.14:49
TheMuerogpeppe: like in http://paste.ubuntu.com/895188/, yes14:50
rogpeppelooks like my updated zk docs didn't make it in14:50
TheMuerogpeppe: one Watcher, one goroutine, that's no problem, that's what go is made for14:51
rogpeppeTheMue: not quite - you need a new goroutine each time through the loop, or at least that's how i did it last time.14:52
TheMuerogpeppe: so, if needed a fine control of what exactly should be watches should be only a small task14:52
TheMuerogpeppe: not in my approach14:52
TheMuerogpeppe: tested it in my proposal, multiple changes received fine14:53
rogpeppeTheMue: with children and content changes?14:53
TheMuerogpeppe: with content changes14:53
TheMuerogpeppe: could easily extend it to alternatively watch children14:54
rogpeppeTheMue: that's easy. but you're proposing watching content at the same time as children, no?14:54
TheMuerogpeppe: currently not. my proposal right now is only interested in content. but as i said, i don't think it's difficult to make this configurable.14:55
TheMuerogpeppe: so when creating the watcher instance you can say what you're interested in14:56
rogpeppeTheMue: if it's configurable, the types become awkward because you can receive new children ([]string) or new content ([]byte)14:56
rogpeppeTheMue: how about two kinds of watcher - one for children and one for content, both with appropriate types.14:57
rogpeppeTheMue: the children watcher could generate events on a channel corresponding to which children are deleted or created.14:57
TheMuerogpeppe: the behaviors Update() is called if there is a change. it then retrieves what it is interested in. and additional methods allow to grab this data after the change notification via the channel14:57
rogpeppeTheMue: (i.e. deltas)14:57
rogpeppeTheMue: that really is inefficient, because it incurs an extra round trip for each change.14:58
TheMuerogpeppe: do we have i/o probems?14:59
rogpeppeTheMue: no need to increase network traffic more than we need to.14:59
rogpeppeTheMue: in some places it may be billed14:59
TheMuerogpeppe: so it's premature optimization?14:59
rogpeppeTheMue: no, it's appropriate design :-)15:00
rogpeppeTheMue: it's easy to do this in a more efficient way15:00
TheMuerogpeppe: last time you had trouble with code duplication, this time it shall be duplicated for each watch?15:00
rogpeppeTheMue: no, each kind of watch - children or contents. are there any examples where a watcher needs to watch both of these at once?15:01
TheMuerogpeppe: so far i didn't found any15:01
rogpeppeTheMue: here's a sketch: http://paste.ubuntu.com/896534/15:02
rogpeppeTheMue: that's the API15:03
rogpeppeTheMue: well, a possible API :-)15:03
TheMuerogpeppe: what is ChildChange.New?15:04
mthaddonniemeyer: do you know if charmd will place nice with start-stop-daemon's --background, or if there's another way of daemonising the process?15:04
rogpeppeTheMue: it says whether the names have been added or removed15:04
TheMuerogpeppe: and ContentWatcher in my case has to return a ConfigNode15:04
rogpeppeTheMue: it could be a type with Add and Del constants15:04
rogpeppeTheMue: why's that?15:04
rogpeppeTheMue: these are the types that the config node watcher (and all other watchers) would build on15:05
TheMuerogpeppe: because it watches data in the config node15:05
mthaddonone way to find out, I guess15:06
rogpeppeTheMue: you could implement the config node watcher something like this: http://paste.ubuntu.com/896539/15:07
rogpeppeTheMue: obviously there would have to be error checking and a tomb there too.15:08
TheMuerogpeppe: that's what i wonna provide with the Watcher type15:08
rogpeppeTheMue: or perhaps it could share a tomb with the ContentsWatcher, i'm not sure15:08
TheMuerogpeppe: i will tink about a mix of your and my ideas15:09
rogpeppeTheMue: think about a nice strongly typed, pipeline15:09
rogpeppeoops15:09
rogpeppe TheMue: think about a nice strongly typed pipeline of events being processed15:10
rogpeppeTheMue: channels work really well that way15:10
TheMuerogpeppe: yep15:10
niemeyermthaddon: It doesn't do anything about daemonization..15:11
niemeyermthaddon: So --background should be fine15:11
mthaddonk, will give it a try - thx15:11
niemeyermthaddon: As I said, though, if you need something else I can look into it15:11
mthaddonniemeyer: k, will let you know - have got it saying "2012/03/23 15:02:06 JUJU Store opened. Connecting to: 127.0.0.1:27017" in the logs so far15:12
niemeyermthaddon: What's the status quo, btw? I'll be working on the charms today as I managed to find out what was happening yesterday15:12
niemeyermthaddon: Cool, that's all that should be necessary15:12
niemeyermthaddon: It means it's happily serving requests15:12
niemeyermthaddon: Hook charmload in the other end via crond, and you should have a fully working setup15:13
mthaddonniemeyer: I think I'm getting pretty close - just need to open up some firewall rules, get DNS entries in place, and land the last few bits of the config that I've been testing with then we should be done15:13
niemeyermthaddon: Ok.. are we charming up.. are we loading that and moving on without charms.. ?15:13
niemeyermthaddon: Sorry, I'm complete uncertain of the situation given Elmo's email, sabdfl requests, etc15:14
mthaddonniemeyer: we're working on both in parallel so it gives us options (by which I mean I'm continuing to work on the DC stuff while you get started on the charm stuff)15:14
niemeyermthaddon: Sounds great then.. thanks for that. I'll just put the store online and we can delegate for someone else to decide which one goes live.15:15
niemeyermthaddon: I'm happy either way, as long as we have something serving it.15:15
fwereade_gents, popping out for a walk and a think, bbiab15:15
niemeyerfwereade_: Enjoy15:15
niemeyerI'm heading to lunch too15:15
niemeyerbiab15:15
rogpeppeniemeyer, fwereade_: enjoy15:21
hazmatfwereade_, cheers15:57
hazmatSpamapS, it looks like we'll need a patch for python-zookeeper15:57
hazmatSpamapS, there appear to memory leaks in all the async apis :-(15:57
hazmattesting the patch now15:57
niemeyermthaddon: I don't know why --background is failing for you16:01
niemeyermthaddon: I've run it locally, and it works16:01
mthaddonniemeyer: really, cos I've run it locally and it fails for me too - can you show me what you're doing locally?16:01
mthaddon(i.e. outside of the production env)16:01
niemeyermthaddon:16:01
niemeyer[niemeyer@gopher ..go/store/charmd]% start-stop-daemon --background --start --exec $PWD/charmd -- 1.2.3.4:5 6.7.8.9:116:01
niemeyer[niemeyer@gopher ..go/store/charmd]% ps auxw | grep charmd16:01
niemeyerniemeyer 28212  0.5  0.0  62292  3452 ?        Sl   12:46   0:00 /home/niemeyer/src/launchpad.net/juju/go/store/charmd/charmd 1.2.3.4:5 6.7.8.9:116:01
niemeyerniemeyer 28216  0.0  0.0   9368   912 pts/7    S+   12:46   0:00 grep charmd16:01
mthaddonok, so you're not really testing the same options as we have in the initscript - in any case, I'll try and reproduce that locally16:02
niemeyermthaddon: start-stop-daemon doesn't seem to handle the program stdout well with --background, so we may need a log file option at least16:03
niemeyermthaddon: Yeah, I'm just trying it out in isolation, and observing that it actually works16:03
mthaddonI still get that error removing the LOGFILE redirect in my local test16:05
niemeyermthaddon: Yeah, it's certainly unrelated16:08
mthaddoninteresting, and now it's saying "ERROR" locally but actually working16:08
mthaddondamn, --verbose doesn't help16:09
mthaddonI was wrong, it isn't working for me locally - process dies after a little while with no logfile16:11
mthaddonwill keep trying variations of the initscript16:13
niemeyermthaddon: I'll add an option to take the log file out of that picture16:15
niemeyermthaddon: Process dying after a little while probably reflects the address for MongoDB not being available16:16
hazmatSpamapS, the patch fwiw is http://paste.ubuntu.com/896621/16:16
mthaddonniemeyer: I wouldn't worry about it yet - I have some theories about how we can make it work (sudo to the user in question)16:16
mthaddonniemeyer: I've installed mongodb locally so it will work16:16
mthaddon(well, in my local lxc instance that I'm testing with, anyway)16:16
niemeyermthaddon: Have you considered using upstart?16:17
mthaddonniemeyer: that's another option for sure16:17
hazmatjust as another data point, i did get them working locally for me yesterday, while testing out the client integration16:19
hazmatalthough i did notice some mutual conflicts when running multiple charmloads16:19
niemeyerhazmat: Ah, nice.16:21
niemeyerhazmat: What kind of conflict did you get?16:21
hazmatniemeyer, they would both detect the other was working on a charm, and both skip it16:22
niemeyerhazmat: Hmm.. do you have the logs/16:22
niemeyer?16:22
niemeyerhazmat: It works with a lock mechanism, so the first should go on16:22
hazmatniemeyer, hmm. not anymore, but should be simple to reproduce16:22
niemeyerhazmat: They will skip each others charms, though16:22
niemeyerhazmat: But they won't both skip the same charm16:23
niemeyerhazmat: Unless something caused the process to crash/terminate midway16:23
niemeyerhazmat: In that latter case, any future executions will skip, until the lock timeout expires16:23
SpamapShazmat: huh?16:23
niemeyerhazmat: I've actually tested that case, FWIW16:24
niemeyerhazmat: Which is why I'd be interested in how to reproduce it16:24
hazmatniemeyer, i'm not seeing it at the moment, i'll let it run for a bit more to see if it comes up16:25
hazmatSpamapS, we are in dire need of a patch to go in our zk package16:26
niemeyerhazmat: Might you have seen the crash case? If you kill the process while in progress, somehow, it'll not try this charm again until the locks don't expire16:26
hazmatSpamapS, there's a significant memory leak otherwise16:26
niemeyermthaddon: upstart seems a lot smarter about those details16:27
niemeyermthaddon: Might be a trivial job to put it up with it16:27
mthaddonk, will take a look16:28
SpamapShazmat: ahh.. bug?16:28
SpamapShazmat: probably worth SRU to 11.10 then16:28
hazmatniemeyer, it looks fine to me  now, re charmload parallel16:28
* SpamapS still can't read those weird oldschool diffs... :-P16:29
niemeyerhazmat: Ok, I bet you've seen the held lock case16:29
niemeyerhazmat: If you tried again after a while (as you're doing now, actually) it'll note the expired lock and move on16:29
fwereade_hazmat, do you have a moment to chat about MachineProviders and new-style environments?16:32
fwereade_hazmat, it's not an exceptionally big deal, it's just that to create a provider we'll need data from both environment and environment/provider16:34
hazmatfwereade_, sure16:36
fwereade_hazmat, and I'm wondering whether it will still be possible/easy to perpetrate something like EnvironmentStateManager(client).get_config().get_default().get_machine_provider()16:36
hazmatfwereade_,  the api for providersettings.. should return the merged dict16:37
fwereade_hazmat, this is because a genericised instance-type will need a provider in order to construct Constraints objects16:37
fwereade_hazmat, excellent16:37
fwereade_hazmat, I don't think anything but the client and the PA will actually need provider instances so that should be fine even when we come to use ZK ACLs16:38
fwereade_hazmat, so anyway: if I go ahead and use something like the train-wreck above for now, I should be fine, because an ESM will be all I'll need to construct a provider when I come to merge with you16:40
fwereade_hazmat, right?16:40
niemeyermthaddon:16:41
niemeyermthaddon: http://paste.ubuntu.com/896649/16:41
niemeyermthaddon: upstart++16:41
hazmatfwereade_, yeah.. that should be fine.. we can just sub out to  ProviderSettings(client).get_config()16:42
fwereade_hazmat, great, tyvm16:42
hazmatfwereade_, the get_default looks odd, there's only one in the env16:42
hazmatfor the zk storage16:42
fwereade_hazmat, yeah, IMO it's kinda stupid, but ESM returns an EnvironmentsConfig with only one environment that you can then retrieve with get_default without knowing the name16:43
hazmatfwereade_, ah.. right.. gotcha16:43
mthaddonniemeyer: that's running it as root, right? but yeah, looks like a good place to start from16:44
fwereade_hazmat, btw, I'll need to stop a bit promptly today, but I'll be around on and off this evening and at the w/e -- I'd love it if I could get a couple of reviews before your eod16:44
niemeyermthaddon: setuid and setgid are options in the upstart file16:46
mthaddonyep yep16:46
niemeyermthaddon: :)16:46
hazmatSpamapS, https://bugs.launchpad.net/ubuntu/+source/zookeeper/+bug/96328017:02
hazmatfwereade_, thank you, have a good night17:02
SpamapShazmat: thanks, I'll escalate and get that pushed out ASAP17:03
SpamapShazmat: is it known upstream?17:03
fwereade_hazmat, everyone: cheers, happy weekends :)17:03
hazmatSpamapS, its not yet, i'm in progress on notifying everyone and putting the patches out17:04
hazmatSpamapS, i pinged them on irc, but no response yet17:04
SpamapShazmat: ok, I'd like to get it reported there before pushing it into our packages17:05
niemeyerhazmat: So there was a leak in pyzk indeed?  Where's the leak?17:10
SpamapShazmat: if I don't hear back from you in about 10 minutes, I'll go ahead and forward the issue myself.17:11
niemeyerSpamapS: Is there a patch somewhere?17:12
SpamapSniemeyer: hazmat has one apparently17:13
hazmatSpamapS, yeah.. i tested it against 3.3.417:14
hazmatbut the build system in 3.3.517:14
hazmat is different, just  trying to verify against a clean source17:14
SpamapSyeah precise has 3.3.517:15
hazmatSpamapS, patch attached17:16
jamespagehazmat, SpamapS: want me to pick that up? I can push it back upstream as well17:17
hazmatjamespage, i can do the upstream bit, the distro bits i'd rather leave in yours and SpamapS's capable hands17:20
* jamespage wishes LP had JIRA tracking capability17:21
SpamapSdoesn't make sense why it doesn't17:21
SpamapSother than.. nobody has finished it17:21
hazmatlooks like the guy who  reported it to me also upstreamed.. ZOOKEEPER-143117:21
jamespageSpamapS, I think that is the case - there is a feature bug for it17:21
jamespagehazmat, great17:21
SpamapSok, I'll leave this bug in jamespage's capable hands17:23
SpamapSjamespage: thanks for stepping up17:23
jamespageSpamapS, ack - on it now17:23
jamespageSpamapS, np17:23
jamespagehazmat, please could you propose that patch upstream as well17:35
jamespageif it takes some load off you I'm happy to forward17:35
jelmerjelmer17:36
jelmerwhoops, sorry :)17:36
hazmatjamespage, done already17:43
jamespagehazmat, sweet - thanks17:43
hazmatjamespage, its attached to the issue17:43
* hazmat grabs some food17:44
jamespagehazmat, SpamapS: tested and uploaded to precise - the release team will need to accept it but I don't think that will be an issue.17:52
hazmatjamespage, awesome17:52
hazmatbcsaller, jimbaker you guys got time for a quick meeting to catch up?18:03
bcsallerhazmat: sure18:09
hazmatbcsaller, jimbaker invites out18:20
SpamapShazmat: packages failing to build now18:28
SpamapSWriting /build/buildd/juju-0.5+bzr494/debian/juju/usr/lib/python2.7/dist-packages/juju-0.5.egg-info dh_install -O--buildsystem=python_distutils18:28
SpamapScp: cannot stat `debian/tmp/usr': No such file or directory18:28
hazmatSpamapS, huh18:30
hazmatSpamapS, that doesn't look familiar..18:30
hazmati wonder if its find_packages in setup.py18:30
SpamapSI believe that is known to cause issues18:31
SpamapSI'm trying locally18:31
rogpeppei'm off.18:33
rogpeppehave a great weekend everyone!18:33
rogpeppeniemeyer: bootstrap & destroy commands *almost* there - just a couple of failing tests to rectify18:34
niemeyerrogpeppe: Sweet!18:34
rogpeppeniemeyer: you might wanna have a look at https://codereview.appspot.com/5892043/ which is a prereq18:34
niemeyerrogpeppe: I do want, but I ought to push other things first18:35
rogpeppenp18:35
niemeyerhazmat, SpamapS: 2012-03-23 13:38:30-04:00 Running test ec2-wordpress... OK18:45
niemeyerI've added some timeout logic to avoid some of the issues seen, so that it unblocks itself in the future18:46
niemeyer(hopefully)18:46
jimbakerhazmat, i was eating lunch just now18:52
niemeyerhttp://wtf.labix.org/ is awaken and working. 494 has two OKs18:53
SpamapShazmat: no I think this is something else18:56
SpamapShazmat: probably a packaging issue, not upstream18:56
hazmatjimbaker, no worries, are you up for doing it now?19:07
hazmatjimbaker, invite out19:08
niemeyerfwereade_: You said that you were going to change the default to amd64 after that conversation.. has that taken place yet?19:14
niemeyerHmm.. I guess not19:15
hazmatniemeyer, there's a branch in review for that i believe19:16
* hazmat switches out to reviews19:17
niemeyerhazmat: Ah, sweet.. I'd like to deploy the store mongos on 64s19:17
hazmatyeah.. 2gb limit sucks otherwise19:17
hazmatniemeyer, its only a juju-origin away ;-)19:17
hazmatcrazy talk i know19:17
niemeyerhazmat: I'll be using it, but I'm trying to stay trunk-crazy at most :)19:18
niemeyerI'm stepping out for an appointment19:47
niemeyerBack in ~1h19:47
hazmatinteresting http://zerovm.org/motivation/20:44
SpamapShazmat: very interesting21:33
SpamapShazmat: http://outflux.net/teach-seccomp/ ... possible answer to LXC's problems21:33
hazmatSpamapS, serge has been interested in it21:33
hazmatNACL come to roost21:34
hazmatwho is kees, and why is he so awesome21:34
hazmatah.. ic21:35
SpamapShazmat: Hah, former Canonicaler and Ubuntu Security Team Lead21:36
SpamapShazmat: and TB member :)21:36
niemeyerhazmat: http://paste.ubuntu.com/897051/22:07
niemeyer/var/lib/cloud/instance/scripts/runcmd: 8: /var/lib/cloud/instance/scripts/runcmd: juju-admin: not found22:18
niemeyer/usr/bin/python: No module named juju.agents22:18
niemeyer/usr/bin/python: No module named juju.agents22:18
niemeyerrun-parts: /var/lib/cloud/instance/scripts/runcmd22:18
niemeyer:-/22:18
SpamapSI'd guess that juju wasn't fully installed given that error.22:23

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