/srv/irclogs.ubuntu.com/2014/01/24/#juju-dev.txt

=== gary_poster is now known as gary_poster|away
=== tim___ is now known as thumper
hazmatthumper, how's the proxy support coming? was specifically curious if the charm store downloads (addcharm via api) were using it yet01:58
thumperhazmat: hey01:58
thumperah... wat?01:59
thumperhow would the charm store stuff use proxies?01:59
hazmatthumper, that's the env downloading charms from the store via proxy01:59
thumperah...01:59
thumpernot tested that01:59
hazmatk02:00
thumperyou know what... not even considered that :-)02:00
thumpersupport has been to set the environment for all the charm hooks02:00
thumperand for juju-run02:01
thumperbut not for juju itself...02:01
thumperhazmat: ETA would be early next week02:03
hazmatthumper, cool02:09
waiganiwallyworld: www.youtube.com/watch?v=KTc3PsW5ghQ02:51
davecheneyshit, status is fast!04:45
jamespagedavecheney, still awake?08:23
rogpeppeTheMue, fwereade: did you see https://codereview.appspot.com/56100043/ ?08:30
TheMuerogpeppe: just going through your branch08:38
rogpeppeTheMue: ok08:38
TheMuerogpeppe: btw, the removed logger package hasn't been by my, it's for watching the logging configuration. I used it first don't knowing the intention, but then moved my stuff into the debugger package.08:46
rogpeppeTheMue: oh, sorry - they seemed to be related08:46
TheMuerogpeppe: yeah, had the same wrong thought08:47
TheMuerogpeppe: fwereade told me then about its intention08:47
rogpeppeTheMue: so why was logTailer in the debugger package?08:48
TheMuerogpeppe: because it only is a private helper type for the debugger API08:48
rogpeppeTheMue: ah, it's kind of weird that "debugger" was separate from "logger", but anyway, i see now08:50
TheMuerogpeppe: thought so too08:51
TheMuerogpeppe: some of the changes don't really belong to the logging, don't they?08:55
rogpeppeTheMue: a couple of changes were forced on me because i couldn't propose without govet passing cleanly08:56
TheMuerogpeppe: and the code in api/client.go isn't needed anymore08:57
rogpeppeTheMue: right08:58
TheMuerogpeppe: so how would a client call that? never worked with with websockets, only implemented direct on IP so far09:01
rogpeppeTheMue: the same way a client gets a websocket connection to the regular API09:01
rogpeppeTheMue: (except with a different URL path)09:01
TheMuerogpeppe: sorry, a bit more practical would be nice, so that I directly can remove my lack of knowledge with you09:03
TheMuerogpeppe: for the API usage I simply used already existing functionality09:04
rogpeppeTheMue: ok, so... look at state/api/apiclient.go09:04
TheMuerogpeppe: yep09:05
rogpeppeTheMue: the Open function in there makes a new websocket by dialling the API server09:05
TheMuerogpeppe: ic, ok09:06
rogpeppeTheMue: the Client.AddLocalCharm method is an example that makes its own http request09:07
rogpeppeTheMue: so to do the logging stuff, i would factor out some of the logic from Open so it can be reused in another request09:08
TheMuerogpeppe: hehe, just had the same idea09:08
rogpeppeTheMue: i wouldn't include any of the retry logic in that09:09
TheMuerogpeppe: so while the server site gets more simple the client side gets more complex (in the sense of that I've been able to simply reuse API and watcher mechanisms so far)09:10
rogpeppeTheMue: it shouldn't be much more code at all - most of it just code movement09:11
TheMuerogpeppe: as long as your sure what to do and this is no new area for you. don't underestimate the learning curve. you're doing all this API and websockets stuff since a longer time.09:12
TheMuerogpeppe: but gives me the chance to take a deeper look into it too. ;)09:13
rogpeppeTheMue: i'll sketch out a little more of the client side if you like09:13
TheMuerogpeppe: only if you've got the room for it, a quick outline. the first hints here already helped a lot09:14
TheMuerogpeppe: and I need the ok by fwereade09:15
TheMuerogpeppe: but I like the approach. I only would liked the API able to handle streams of data also by default more09:17
rogpeppeTheMue: most of our API stuff doesn't work with streams of data, but streams of changing state, which is a different thing09:18
rogpeppeTheMue: with the latter it's fine to drop intermediate state09:18
TheMuerogpeppe: I know, but the current way is that every new requirement of streamed data get's an extra way09:18
TheMuerogpeppe: a more generic implementation once, integrated in the api but different from the watchers today, yes, could then better be reused09:19
rogpeppeTheMue: you mean another watcher type?09:19
TheMuerogpeppe: maybe, would have to make more thoughts about it09:19
rogpeppe1TheMue: something like this for the client side: http://paste.ubuntu.com/6807442/09:23
TheMuerogpeppe1: is authentication handled with it?09:29
rogpeppe1TheMue: ah, no, you'll need to set the basic-auth info in the config headers09:30
TheMuerogpeppe1: could you add it to your branch above, so we can discuss it with fwereade09:31
TheMue?09:31
rogpeppe1TheMue: unfortunately i think that means you'll have to copy the basicAuth function from net/http because it works on a Request not a Header09:32
rogpeppe1TheMue: ok, will do09:32
TheMuerogpeppe1: thx09:35
rogpeppe1TheMue: https://codereview.appspot.com/56100043/diff/40001/state/api/client.go10:11
TheMuerogpeppe1: already looking10:12
TheMuerogpeppe1: you know when fwereade is here again?10:14
rogpeppe1TheMue: no, sorry10:14
fwereadeTheMue, sorry, I have been around, just trying to catch up on some other bits10:16
TheMuefwereade: ah, ok10:18
TheMuefwereade: rogers solution looks nice, quite different, but nice10:18
TheMuefwereade: you should take a look at it10:19
benonsoftwareHiya, I'm wondering if there's anyway to make juju launch spot instances?11:32
hazmatbenonsoftware, nutshell no. its possible though to use external provisioning with the manual provider and just have juju manage the workload12:15
benonsoftwarehazmat: Ah, okay then. Thanks.12:26
rogpeppe1would anyone be able to review this, please? https://codereview.appspot.com/54230044/12:40
TheMuerogpeppe1: taking a look12:45
=== rogpeppe1 is now known as rogpeppe
rogpeppeTheMue: thanks12:45
rogpeppeTheMue: we had a discussion about the debug-log stuff, BTW. we're going to talk about it a bit more this afternoon.12:46
TheMuerogpeppe: great12:46
=== gary_poster|away is now known as gary_poster
TheMuerogpeppe: reviewed13:06
rogpeppeTheMue: thanks13:06
TheMuerogpeppe: yw13:06
rogpeppedimitern: any chance of a second look at https://codereview.appspot.com/54230044/ please?13:20
dimiternrogpeppe, looking13:20
rogpeppedimitern: ta!13:20
dimiternrogpeppe, reviewed13:31
rogpeppedimitern: ta!13:31
dimiternniemeyer, hey13:34
niemeyerdimitern: Yo13:34
dimiternniemeyer, when you have time, can you please review and possibly comment on the proposed changes we need in goamz (see the mail I've just sent for a link to the document)13:35
niemeyerdimitern: Definitely13:37
niemeyerdimitern: Should we have a call next week about it?13:37
fwereadeniemeyer, dimitern, +1, invite me please13:37
* fwereade forgot he has to collect laura, bbl13:37
niemeyerdimitern: Can you please book it and invite us?13:37
niemeyerfwereade: Uh oh :)13:37
=== wedgwood is now known as Guest12754
dimiternniemeyer, sure and preference for day/time?13:54
niemeyerdimitern: Wednesday is probably a good day, as it's already filled with meetings13:55
niemeyerdimitern: 12:30 UTC?13:55
dimiternniemeyer, will do13:55
dimiternniemeyer, done - you should receive and invite13:58
niemeyerdimitern: Thanks13:58
dimiternfwereade, next wednesday, 12:30 utc13:59
rogpeppeanyone else see this error occasionally? (this is second time i've seen it today) ... value *net.OpError = &net.OpError{Op:"local error", Net:"", Addr:net.Addr(nil), Err:0x14} ("local error: bad record MAC")14:07
dimiternrogpeppe, nope14:09
mgzokay, I'm at the "hey, this should all work, but man I lack tests" stage with the network stuff14:31
rogpeppenatefinch: i see the replicaset tests fail reasonable often, usually in TestAddRemoveSet14:42
rogpeppenatefinch: usually with "panic: no reachable servers" (and a very long run time - 167s in this case)14:42
natefinchrogpeppe: hmm14:44
natefinchrogpeppe: I think this is just mongo taking forever to come up for some reason14:44
rogpeppenatefinch: probably14:44
rogpeppenatefinch: it's a bit worrying though, because maybe it's *never* coming up and perhaps this might make juju HA flaky for real14:45
natefinchrogpeppe: yeah :(14:45
rogpeppenatefinch, fwereade: https://plus.google.com/hangouts/_/calendar/am9obi5tZWluZWxAY2Fub25pY2FsLmNvbQ.mf0d8r5pfb44m16v9b2n5i29ig?authuser=115:02
sinzuimgz, fwereade, which bug should I be watching to know the rev we want to release as 1.17.1?15:48
mgzsinzui: sec, I'll attach a couple to the milestone15:53
mgzbug 1241674 is mine15:53
_mup_Bug #1241674: juju-core broken with OpenStack Havana for tenants with multiple networks <cts-cloud-review> <openstack-provider> <juju-core:In Progress by gz> <https://launchpad.net/bugs/1241674>15:53
frankbancore devs: using trunk (revno 2253) I am not able to deploy a local charm in a lxc env. unit logs: http://pastebin.ubuntu.com/6808945/, machine logs include permission denied error responses to CharmArchiveURL requests15:54
sinzuimgz, oh I didn't realise the issue was that specific bug. I thought the issue was something in a recent change to openstack15:55
sinzuithank you mgz15:55
fwereadesinzui, mgz's one is the only really important one, I think16:03
mgzI'm currently done... apart from I've got some tests losing my new config value and can't work out why16:04
rogpeppeanyone reasonably familiar with worker/provisioner?16:06
rogpeppei'm seen a sporadic test failure, and i can't work out quite what a particular test is supposed to be testing16:06
rogpeppes/i'm/i've/16:06
fwereaderogpeppe, which test?16:09
rogpeppefwereade: TestProvisioningSafeModeChange16:09
rogpeppefwereade: at the end of it, it ensuredead+removes a machine, and expects the provisioner not to remove the instance16:09
rogpeppefwereade: that seems kind of odd to me16:09
rogpeppefwereade: it seems like it's relying on the fact that the provisioner hasn't seen the new machine16:10
fwereaderogpeppe, so, the deal is that because the instance got *removed* the provisioner has no basis for taking down the instance16:10
fwereaderogpeppe, but ISTM that that's a bad tes16:10
fwereaderogpeppe, the provisioner should be stopped for those terminal actions on m3, m4, else it could plausibly see m4 when dead, and legitimately remove it16:11
rogpeppeaw, frick, *another* sporadic failure16:11
rogpeppefwereade: exactly16:11
rogpeppefwereade: and that's how the test failed16:11
fwereaderogpeppe, if that's what you see too, though, at least it's one we've found and can fix, I think16:12
rogpeppefwereade: but if we stop the provisioner, then what are we testing?16:12
fwereaderogpeppe, ha16:12
fwereaderogpeppe, that just reduces to TestProvisionerSafeMode, doesn't it?16:12
fwereaderogpeppe, and there's the advantage of mocking out the api server16:14
rogpeppefwereade: ISTM that a better test would actually add an instance behind the scenes16:14
fwereaderogpeppe, that sounds good to me16:14
fwereaderogpeppe, I think that's equivalent16:14
mgzwell, I hate our testing infrastructure16:15
rogpeppemgz: it could be better :-)16:15
mgzI have no clue where it's losing the config value, or how I should actually just write a damn test with a different config value16:15
mgzokay, finally16:17
mgzrandomly try things till it works joy16:17
rogpeppemgz: sorry, i would help but i'm up to my eyeballs currently16:29
mgzokay, I'm done16:29
mgzproposing now16:30
mgzmeh, need another goose bump but hey16:30
rogpeppeoh balls, another sporadic failure. that's four in a row16:31
mgzgoose bump... I just realise that was a pun16:36
mgzpart #1: https://codereview.appspot.com/5667004316:41
mgzI need that one sort of right now, to land so I can bump dependencies.tsv16:41
natefinchmgz: I can review16:42
mgzta! it's a bit of a cop-out proposal for now16:42
mgzIll put the main bit up sans the bump too for reference16:42
rogpeppehmm, i think it's wrong that the local provider should have added an authorized key to my ~/.ssh/authorized_keys16:44
rogpeppefwereade: would you agree ?16:44
fwereaderogpeppe, ha! definitely16:44
fwereaderogpeppe, well spotted16:44
rogpeppefwereade: also, trunk is currently producing zillions of errors when you've got a badly formatted key (for instance the FakeConfig auth keys)16:45
fwereaderogpeppe, and that's causing sporadic failures in jujud tests16:45
rogpeppefwereade: (try running "go test -gocheck.f ManageEnviron'$' -gocheck.vv)16:45
rogpeppefwereade: yes16:45
fwereaderogpeppe, thumper came across that last night16:45
rogpeppefwereade: i'm just fixing the fake config to have a valid key16:46
fwereaderogpeppe, <316:46
rogpeppefwereade: but really the authorized keys worker should not be barfing16:46
rogpeppefwereade: in fact, i'll just fix that16:46
fwereaderogpeppe, mmmm I'mmore inclined to say we should be refusing bad input16:46
rogpeppefwereade: mebbe16:46
rogpeppefwereade: we should probably parse authorized keys on config.New16:47
mgzpart #2: https://codereview.appspot.com/5271004816:47
mgzfwereade: ^you probably care about this one16:47
rogpeppeone more barrier, sigh16:48
rogpeppeha, not only did it change my authorized_keys, it replaced it with a file owned by root and globally readable16:52
fwereademgz, quickly pre-reviewed, trying to finish rog's16:54
mgzfwereade: ta16:55
fwereaderogpeppe, reviewed, almost there, I think there may be a commentor two you missed from the earlier one?16:56
fwereaderogpeppe, maybe actually there16:57
fwereaderogpeppe, let me know :)16:57
rogpeppefwereade: entirely possible16:57
rogpeppefwereade: ok16:57
rogpeppefwereade: thanks16:57
rogpeppefwereade: it's going to take at least another 30 minutes before i can re-propose though, because now i have two prereqs16:57
rogpeppefwereade: ah, i hadn't published my reply16:58
rogpeppefwereade: my reply was "16:58
rogpeppeyou're right - i was surprised when this worked.16:58
rogpeppeit's a bug in Machine.Destroy - it doesn't fail16:58
rogpeppewhen the machine only has JobManageState.16:59
rogpeppe"16:59
rogpeppefwereade: and it's the fallout from fixing that that's taken me two days to get over16:59
rogpeppefwereade: so you will see that i've fixed that in the latest version, when i can actually propose it :-\16:59
fwereaderogpeppe, ha, ok, cool17:00
fwereaderogpeppe, I'm kinda eoding but I'll be in and out17:00
fwereaderogpeppe, will be interviewing someone this evening so I'll pick it up then if not before17:00
mgzfwereade: I dont' follow the config omit/,ok comments, is that a new config thing?17:00
mgzin the providers, we've always just used blanks and defaults17:01
rogpeppefwereade: i *think* i've addressed all the issues, (although i kept the bool in effectiveMachineTemplate for reasons i outlined in the comments i've just published)17:01
mgzokay, goose bits landed, juju-core fix ready to go17:02
fwereademgz, I don't think we always have, but I'm pretty unsure about those suggestions17:02
fwereademgz, not gonna fight them, just tabling the option in case you feel it fits better17:03
mgzit may well make sense tweaking some of these things after 1.17.1 - but that should be safe17:03
mgzI'd not be surprised if something's borked and needs fixing once I've had some people test this better anyway17:03
mgzif I have a ltm I'll land and crtis can get started17:05
fwereademgz, for reasons too complicated to explain quickly I can't do this right now, but I'd LGTM it with a more explicit test for that one with .*s in the error message17:07
rogpeppeha, these two strings are different... where? http://paste.ubuntu.com/6809355/17:07
mgzfwereade: okay, I'll tweak that one a bit17:08
rogpeppeha, got it17:08
mgzokay, I need to go out till later on, feel free to flip that branch to approved in my absence17:12
rogpeppeha, some of the tests actually rely on the fact that the authorized_keys used in testing are invalid17:17
rogpeppesigh17:17
rogpeppefwereade, mgz, natefinch: this fixes the testing auth keys issue: https://codereview.appspot.com/5668004317:47
rogpeppei'd very much appreciate a review17:48
rogpeppeoh well, guess it's not gonna happen17:56
natefinchrogpeppe: I can do it, was just having lunch17:59
rogpeppenatefinch: that would be great, thanks - i have to stop now, but if that's approved, i should be able to able to get other branches in18:00
natefinchrogpeppe: cool18:00
rogpeppeg'night all18:02
natefinchg'night rog18:02
hazmatno upper case chars in services names?18:55
hazmatseems strange18:55
natefinchhazmat: keeping them all lowercase does simplify things somewhat, so you don't have to type out people's wEiRd nAMes... though you'd think that just making them case insensitive would work as ewll19:00
hazmattrue.. though theres some other oddity to the naming.. ie. no wierd-1, but okay on wierd-1s19:03
hazmatnot a big deal.. i'm autogenerating service names at the moment was just a surprise19:03
natefinchhazmat: yeah, I remember seeing that they need to start and end with a letter... don't know offhand why19:04
mgzsinzui: where are we at?19:50
sinzuimgz, cursing cannonistack because we have run out of resources to test19:53
mgzurg19:54
sinzuimgz, once your work lands, CI will start the tests. I may need to run some manually to cleanup secgroups. If all pass, I will do the release. I can do it ina  few hours. I can do the release in the mornings of the weekend too19:57
mgznatefinch: can I have a lgtm on my second part if you have a moment?19:58
natefinchmgz: oh yeah, I thought someone else was looking, but I'll look now20:00
mgzthanks!20:01
natefinchmgz: done20:12
mgznatefinch: thanks!20:12
mgzsinzui: sending to land now, you should get a notification when it's in20:44
sinzuimgz: thank you.20:44
sinzuimgz, I think gobot hates you21:06
mgzlooking21:07
mgzhave tried resubing a couple of times, it may need more unsticking somehow22:00
mgzsinzui: landed!22:16
sinzuithank you!22:16
=== gary_poster is now known as gary_poster|away

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