=== mohits1 is now known as mohits | ||
fwereade_ | if anyone who knows this is around, I would very much appreciate a brief state of the union on the initial-password thing | 07:19 |
---|---|---|
fwereade_ | ISTM that as it stands we could lose passwords and thereby end up with broken agents | 07:20 |
TheMue | Howdy | 08:53 |
rogpeppe | davecheney, fwereade_, TheMue: mornin' all | 09:05 |
TheMue | rogpeppe: Hiya | 09:06 |
davecheney | rogpeppe: morning | 09:10 |
davecheney | rogpeppe: i think i got through all of your reviews | 09:11 |
rogpeppe | davecheney: thank you! | 09:11 |
rogpeppe | davecheney: there are still more branches pending, but i couldn't propose them because they depended on more than one other branch | 09:11 |
davecheney | no, thank you, it is looking good | 09:11 |
rogpeppe | davecheney: yeah, it's come together ok i think | 09:12 |
TheMue | *: anyone interested in reviewing https://codereview.appspot.com/6853075/ and https://codereview.appspot.com/6849102/? Both simple and small, the first is a prerequisite for the second. | 09:13 |
* davecheney has a look | 09:16 | |
TheMue | davecheney: Thx for the first one. ;) | 09:19 |
fwereade_ | rogpeppe, TheMue, davecheney, dimitern: hey all | 09:23 |
rogpeppe | fwereade_: yo! | 09:23 |
dimitern | fwereade_: hey | 09:23 |
dimitern | I have a question about the http module and httptest | 09:24 |
TheMue | fwereade_: Hi. | 09:24 |
fwereade_ | dimitern, oh yes? | 09:24 |
* fwereade_ tries to load state... | 09:24 | |
dimitern | there is a mentioning of "patterns" and I initially thought I could set up a Mux.Handle("/urlroot/", handler) and it'll handle also urls like /urlroot/somepath, but apparently not | 09:25 |
dimitern | it seems there has to be a separate handler for each unique url | 09:25 |
fwereade_ | dimitern, is there a HandleRegex or something? | 09:26 |
dimitern | fwereade_: not that I see - there is Handle and HandleFunc | 09:26 |
fwereade_ | dimitern, yeah, you're right, not sure where I got that from | 09:26 |
fwereade_ | dimitern, I guess it's a write-your-own situation then (but if you're doing unit testing, won't the paths be predictable anyway?) | 09:27 |
dimitern | fwereade_: so my initial understanding is correct then - I need to have a master handler and attach others as containers/objects are created on separate urls | 09:27 |
fwereade_ | dimitern, well, it doesn't have to be so complex, this looks sane: http://stackoverflow.com/questions/6564558/wildcards-in-the-pattern-for-http-handlefunc | 09:28 |
fwereade_ | dimitern, but I guess it depends on what you're actually implementing, so I'm not sure whether that will be helpful | 09:29 |
dimitern | fwereade_: 10x, I'll take a look | 09:29 |
rogpeppe | dimitern: you can do that | 09:30 |
dimitern | rogpeppe: can you give me an example? | 09:31 |
rogpeppe | dimitern: perhaps you could give me an example that fails | 09:32 |
rogpeppe | dimitern: you're right that ServeMux should let /urlroot/ handle everything under /urlroot | 09:32 |
rogpeppe | dimitern: as the documentation says at http://golang.org/pkg/net/http/#ServeMux | 09:32 |
dimitern | rogpeppe: hmm, I could not see how this works somehow - my handler is called only when the url matches exactly what was passed to Handle | 09:33 |
dimitern | rogpeppe: ah, it seems I'm wrong it does handle subpaths, but the root has to be a dir with / at the end | 09:35 |
rogpeppe | dimitern: ah, i wondered if that was the problem | 09:35 |
rogpeppe | dimitern: (i thought it probably wasn't because your snippet above *did* have the trailing slash) | 09:35 |
dimitern | rogpeppe: yeah, I though it will work in the morning :) after trying a bunch of things yesterday | 09:36 |
TheMue | So, both CLs are in for review again. | 10:05 |
mramm | TheMue: Great | 10:16 |
TheMue | mramm: So far only a package for LXC, not yet the local provider. ;) | 10:17 |
mramm | TheMue: understood | 10:23 |
TheMue | mramm: But step by step I'm coming nearer. | 10:26 |
dimitern | wallyworld, jam, mgz: https://codereview.appspot.com/6851112 - this is the swift double | 10:42 |
jam | dimitern: no mp for it? | 10:42 |
dimitern | jam: there is one in the mail - https://code.launchpad.net/~dimitern/goose/swift-testing-service/+merge/136362 | 10:43 |
dimitern | it's not perfect yet, some more testing with canonistack is needed to verify the responses/codes match every time | 10:48 |
jam | d | 10:48 |
jam | dimitern: do we actually get 501 Not Implemented when doing a GET on a container? | 10:48 |
dimitern | jam: no, but we don't have that API implemented in the client | 10:48 |
jam | dimitern: so looking a "swiftservice/service_test.go" it seems a bit confused as to whether it is testing the HTTP api or the direct function calls on the service. I would probably try to tease those apart a bit more. | 10:49 |
* mgz has a look as well | 10:49 | |
jam | You can set things up with direct calls, and then have a single HTTP request with asserts on the results, for example. | 10:49 |
dimitern | jam: I originally wanted to test them separately, but it took so much time to figure out how to do the server right, so i kinda mixed them together so I can have something to show | 10:50 |
dimitern | jam: yeah, the problem is not all of the direct calls have implemented API calls to test | 10:51 |
jam | dimitern: is there a reason to check HasSuffix before calling TrimRight? It seems like just calling TrimRight will always be correct (if it doesn't have the suffix, nothing gets trimmed) | 10:51 |
dimitern | jam: after spending a couple of hours struggling, i tend to get very picky about what to check :) but I suppose you're right - it can be simpler | 10:52 |
mgz | jam: any idea why passing -gocheck.v when running tests makes it so no tests are run? | 10:57 |
jam | mgz: because "go test" isn't very good? | 10:57 |
jam | ./... is incompatible with passing argument | 10:57 |
jam | arguments | 10:57 |
mgz | >_< | 10:57 |
jam | so '-gocheck.v' must be run in a package one-by-one | 10:57 |
jam | mgz: what you are missing is that it *is* running the 'goose' test suite, which doesn't have any actual test cases. | 10:58 |
mgz | (cd http && go test -gocheck.v) style thing? | 10:58 |
jam | mgz: correct. | 10:58 |
mgz | ta. | 10:58 |
jam | I'm very ready to add a Makefile | 10:58 |
jam | to work around this sort of thing. | 10:58 |
jam | -live has the same problem. | 10:58 |
mgz | ah, I'd not connected up that issue with this one | 10:59 |
jam | mgz: -live *also* has the problem that not every test suite supports -live, so 'go test -live ./...' is trying to pass it to every sub suite. But there are some weird things about "go test ./... -gocheck.v" not acting the same as "go test -gocheck.v ./..." etc. | 11:04 |
niemeyer | Gooood mornings/evenings | 11:14 |
fss | niemeyer: morning :-) | 11:14 |
fwereade_ | niemeyer, heyhey | 11:15 |
davecheney | morning/evening | 11:15 |
fwereade_ | niemeyer, I have a thought re Container, and our shared discomfort yesterday -- I'm getting surer and surer that the existing Container is not Container at all, but something more like Deployer (notwithstanding the confusion with the mooted worker of the same name) | 11:16 |
fwereade_ | niemeyer, the existing one deploys units onto the local system; one day there will be one that deploys units into isolated containers | 11:16 |
fwereade_ | niemeyer, either way we're interested in a <thing> with Add/Remove/List functionality | 11:17 |
niemeyer | fwereade_: Agreed on the latter.. I think the former is a red herring at this point | 11:17 |
fwereade_ | niemeyer, the name, you mean? | 11:18 |
niemeyer | fwereade_: I'd be happy to rename if it feels better to you | 11:18 |
fwereade_ | niemeyer, I'm ok with keeping it Container but only because I want to call the worker Deployer | 11:18 |
fwereade_ | niemeyer, I'd be happiest if we could come up with clear independent names | 11:18 |
niemeyer | fwereade_: Actually, no, you're right.. Container is wrong | 11:18 |
niemeyer | fwereade_: It doesn't really deploy a new container when we're deploying a subordinate | 11:19 |
fwereade_ | niemeyer, exactly | 11:19 |
fwereade_ | niemeyer, I've consider variations on Placer, Deployer, etc, nothing has really made me happy | 11:20 |
mgz | wallyworld: eg: | 11:21 |
mgz | // Ensure that it conforms to the interface | 11:21 |
mgz | var _ IdentityService = identity | 11:21 |
niemeyer | fwereade_: Installer? | 11:22 |
davecheney | i prefer deployer | 11:22 |
* davecheney isn't helping | 11:22 | |
niemeyer | mgz: Although, that's rarely really necessary, since you'll end up using the interface somewhere in the code | 11:23 |
niemeyer | mgz: An exception would be cases where you the interface is purely for the benefit of outsiders | 11:23 |
niemeyer | s/you// | 11:23 |
fwereade_ | niemeyer, yeah, I'll try that | 11:27 |
niemeyer | davecheney: https://codereview.appspot.com/6854098/ seems to have the same testing issue of the previous change | 11:41 |
niemeyer | davecheney: Maybe we should talk about this in the meeting | 11:41 |
dimitern | jam, davecheney: thanks for the review | 11:42 |
niemeyer | davecheney: I think the agenda is locked up for writing | 11:42 |
mramm | is there an agenda google doc? | 11:43 |
niemeyer | mramm: davecheney sent one to c-juju | 11:45 |
mramm | got it | 11:46 |
mramm | but yea, it's locked for me | 11:46 |
davecheney | ffs, google docs is supposed to be easy | 11:57 |
davecheney | fixed | 11:57 |
niemeyer | davecheney: Good trick to define an agenda, though.. I'll keep that on the sleeve :_0 | 11:59 |
niemeyer | :-) | 11:59 |
niemeyer | fwereade_, rogpeppe, davecheney: Meeting time | 12:01 |
niemeyer | jam: Meeting? | 12:03 |
jam | niemeyer: I didn't get the invite, I think | 12:03 |
niemeyer | jam: https://plus.google.com/hangouts/_/6bf74b0f9014d194ecf62a78f75351a1876c5490?authuser=0&hl=en | 12:04 |
davecheney | this hangout is full | 12:40 |
davecheney | niemeyer: can you kick my ghost if he is still in the chat ? | 12:40 |
niemeyer | davecheney: Can't, but it just went away | 12:41 |
davecheney | did everyone get kicket ? | 12:41 |
niemeyer | davecheney: Nope, just your connection dropped | 12:41 |
davecheney | mramm2: common back buddy | 12:46 |
mramm2 | trying | 12:46 |
mramm2 | getting hangout full message when I try to reconnect | 12:47 |
davecheney | try again | 12:47 |
mramm2 | so that answers the 15 person limit question... | 12:47 |
davecheney | your doppleganger has left | 12:47 |
jam | mramm2: do you want to give an overview of what you wanted for Juju 2.0 release plans? | 12:49 |
mramm2 | Dave, can you talk people through the document we created? | 12:50 |
mramm2 | I will keep trying to rejoin the meeting | 12:50 |
dimitern | I got kicked out as well and now it's saying hangout full | 12:55 |
davecheney | dimitern: wait a few mins | 12:55 |
davecheney | maybe 2 | 12:55 |
jam | probably it has to timeout the connection | 12:55 |
dimitern | davecheney: ok | 12:55 |
davecheney | then you're shadow leaves | 12:55 |
jam | dimitern: try now | 12:55 |
jam | it just dinged you leaving | 12:55 |
davecheney | dimitern: that is what happened to me | 12:55 |
rogpeppe | mramm2: you're frozen | 12:58 |
davecheney | mramm2: you can now get back in | 12:59 |
davecheney | your guy has left | 12:59 |
niemeyer_ | My connection died.. | 13:01 |
niemeyer_ | Perfect timing | 13:01 |
niemeyer_ | davecheney: ping | 13:02 |
mramm | We can pick up that discussion next week | 13:02 |
fwereade_ | lunch, bbiab | 13:02 |
mramm | nothing particularly urgent about it | 13:02 |
mramm | 0:01 mramm: flipping wifi | 13:02 |
mramm | 20:02 mramm: sorry, the wifi dropped | 13:02 |
mramm | 20:02 mramm: We can pick up that discussion next week | 13:02 |
mramm | I tried switching over to my cell phone and 3g | 13:03 |
mramm | but that took forever, and didn't work very well anyway | 13:03 |
mramm | so sorry about all that | 13:03 |
dimitern | mramm: you're still in thailand? | 13:03 |
mramm | yea | 13:04 |
mramm | for another week | 13:04 |
mramm | I will be on vacation tomorrow through friday again | 13:04 |
* dimitern lunch as well | 13:04 | |
=== niemeyer_ is now known as niemeyer | ||
niemeyer | Mr. Ramm³ | 13:10 |
mramm | and now my wifi signal is back to zero packet loss | 13:35 |
mramm | (spoke too soon, now back to loosing packets like mad) :( | 13:35 |
rogpeppe | mramm: G+ scorched the airwaves | 13:35 |
mramm | yea | 13:36 |
mramm | anyway, thanks everybody | 13:36 |
fss | niemeyer: ping | 13:39 |
fss | niemeyer: I've sent two news CLs for goamz regarding iam support | 13:42 |
fss | niemeyer: https://codereview.appspot.com/6858081/ | 13:42 |
fss | niemeyer: and https://codereview.appspot.com/6855104/ | 13:42 |
fss | niemeyer: have fun :-P | 13:42 |
niemeyer | fss: Brilliant, thanks :) | 13:47 |
hazmat | niemeyer, got time to meetup today re charm collection? i had scheduled a meeting for a few minutes from now, but happy to relocate if you'd prefer | 13:52 |
niemeyer | hazmat: It's about noon local time | 13:53 |
hazmat | niemeyer, meaning lunch time? would +1 hr work better? | 13:55 |
niemeyer | hazmat: We can do it at 16UTC if that works for you | 13:57 |
hazmat | niemeyer, sounds good, thanks | 13:59 |
niemeyer | hazmat: np | 13:59 |
rogpeppe | niemeyer: --ca-cert flag branch might be ready to roll now: https://codereview.appspot.com/6842088/ | 14:20 |
niemeyer | rogpeppe: "the branch that adds that field has only just landed, and i've been trying to minimise prereqs." | 14:21 |
niemeyer | rogpeppe: Ah, nevermind | 14:21 |
rogpeppe | niemeyer: it seemed a reasonable compromise because that was the only dependency. | 14:22 |
niemeyer | rogpeppe: What about cmd/filevar.go? | 14:23 |
rogpeppe | niemeyer: i replied about that | 14:23 |
rogpeppe | niemeyer: it actually makes things harder | 14:23 |
niemeyer | rogpeppe: Sorry, I've missed the comment when going through the review | 14:23 |
niemeyer | rogpeppe: I see it now.. just a sec | 14:23 |
niemeyer | rogpeppe: LGTM, thanks for the changes | 14:24 |
rogpeppe | niemeyer: cool, thanks. my only blocker to proposing the rest of the changes is now https://codereview.appspot.com/6782119/ | 14:24 |
niemeyer | rogpeppe: Woot | 14:24 |
niemeyer | rogpeppe: I'll get to that after lunch | 14:24 |
rogpeppe | niemeyer: that would be ace, thanks | 14:25 |
niemeyer | Lunch, biab | 14:36 |
fwereade_ | rogpeppe, btw, I was meaning to ask | 15:22 |
fwereade_ | rogpeppe, what's the roadmap wrt --initial-password? | 15:22 |
rogpeppe | fwereade_: how do you mean? | 15:23 |
fwereade_ | rogpeppe, I can't see anywhere that the new password is stored -- how do we reconnect after we bounce? | 15:23 |
rogpeppe | fwereade_: ISTR it is stored, let me check. | 15:23 |
fwereade_ | rogpeppe, I'm probably just being dense then | 15:24 |
rogpeppe | fwereade_: oh i remember | 15:24 |
rogpeppe | fwereade_: it is stored, but not explcitly | 15:24 |
fwereade_ | rogpeppe, it is stored in the state, it is true, but AIUI one needs the password to access the state to read the password, IYSWIM | 15:24 |
fwereade_ | rogpeppe, ah go on | 15:24 |
rogpeppe | fwereade_: it's in the command line arguments stored in the upstart file | 15:25 |
rogpeppe | maybe | 15:25 |
fwereade_ | rogpeppe, I'm not sure I approve of agents rewriting their own upstart files | 15:25 |
rogpeppe | fwereade_: they don't need to | 15:25 |
fwereade_ | rogpeppe, I think that's their installer's responsibility alone | 15:25 |
rogpeppe | fwereade_: the initial password is just that - the initial password | 15:25 |
rogpeppe | fwereade_: when they start up, the agents create a new random password and save that | 15:26 |
fwereade_ | rogpeppe, where is it saved? | 15:26 |
rogpeppe | fwereade_: (check out openState in jujud/agent.go) | 15:26 |
fwereade_ | rogpeppe, GAH thank you | 15:27 |
* fwereade_ is unsure how he missed that | 15:27 | |
rogpeppe | fwereade_: a quick grep for WriteFile reminded me | 15:27 |
fwereade_ | rogpeppe, that file totally addresses all the things I've been confused about | 15:28 |
fwereade_ | rogpeppe, tyvm | 15:28 |
rogpeppe | fwereade_: np | 15:28 |
rogpeppe | fwereade_: i'd like a chat about some aspects of the transition to the API at some point | 15:28 |
rogpeppe | fwereade_: if you've a moment, perhaps we could do a G+ | 15:29 |
fwereade_ | rogpeppe, sure, just a mo | 15:29 |
fwereade_ | rogpeppe, invite away, I won't be more than a couple of mins | 15:30 |
rogpeppe | fwereade_: done | 15:31 |
niemeyer | hazmat: ping | 16:04 |
hazmat | niemeyer, pong | 16:09 |
hazmat | niemeyer, need 5m.. in team meeting | 16:10 |
niemeyer | hazmat: 'k | 16:10 |
hazmat | niemeyer, https://plus.google.com/hangouts/_/db47985b7be28b5f158ccd0912e0df10e7aa029f | 16:15 |
niemeyer | hazmat: Just finishing a review | 16:16 |
niemeyer | rogpeppe: Review mostly done | 16:21 |
niemeyer | rogpeppe: Sent a few comments that need action | 16:21 |
niemeyer | rogpeppe: Skimmed through the rest as hazmat wants to talk | 16:21 |
niemeyer | rogpeppe: Will re-review once you repush | 16:22 |
niemeyer | hazmat? | 16:22 |
rogpeppe | niemeyer: thanks! | 16:23 |
hazmat | niemeyer, ready.. at hangout url above | 16:24 |
hazmat | oh.. | 16:24 |
niemeyer | hazmat: That's where I am | 16:24 |
hazmat | i guess i killed it | 16:24 |
rogpeppe | niemeyer: all done, i think. https://codereview.appspot.com/6782119 | 16:50 |
niemeyer | rogpeppe: Checking | 16:51 |
niemeyer | rogpeppe: That's done | 17:01 |
niemeyer | rogpeppe: Very nice | 17:01 |
rogpeppe | niemeyer: cool! | 17:01 |
rogpeppe | niemeyer: thanks a lot. prepare for a few more CLs... | 17:02 |
rogpeppe | niemeyer: BTW the zero-case in your suggestion could never happen, because X509KeyPair would return an error in that case. | 17:03 |
rogpeppe | niemeyer: perhaps i should just change the check to >1 | 17:03 |
rogpeppe | niemeyer: because that case can actually happen, potentially. | 17:03 |
rogpeppe | niemeyer: although... your suggested error message is fine too. i'll just use that. | 17:04 |
* TheMue also has the two CLs https://codereview.appspot.com/6853075/ and https://codereview.appspot.com/6849102/ open for further reviews, first feedback has been entered. | 17:19 | |
TheMue | And tomorrow I'll start outlining the local provider. But until then have a nice evening. | 17:21 |
rogpeppe | 1 conflict resolved, 15 remaining | 17:47 |
rogpeppe | i just love it when a file looks like this: http://paste.ubuntu.com/1392259/ | 17:49 |
rogpeppe | and i need to choose bits from both source and tree | 17:50 |
fwereade_ | rogpeppe, oh, fun | 17:54 |
rogpeppe | fwereade_: i'm getting through it. "tree for this, source for that, ooh, a bit of source needed in that tree, ah, a bit of tree needed in that source." it's not too bad really, just a pain | 17:55 |
dimitern | I'm getting &http.badStringError{what:"malformed HTTP response", str:"0"} ("malformed HTTP response \"0\"") from the client, when the test server sends a perfectly valid HTTP 204 No Content response with no body | 17:57 |
dimitern | the "0" str is the end of the body (0\r\n delimiter, as per the transfer-encoding - chunked) | 17:58 |
dimitern | rogpeppe, niemeyer: any idea what I'm doing wrong? ^^ | 17:59 |
rogpeppe | dimitern: can you narrow the code down to a small test case? | 18:00 |
dimitern | there are no errors on the server part - did logging, sniffing with wireshark - all looks fine, just the client part is not liking what it's own server module serialized.. | 18:00 |
dimitern | rogpeppe: well, I'll try and post a paste | 18:01 |
dimitern | rogpeppe: I got it! | 18:13 |
rogpeppe | dimitern: often happens that way :-) | 18:13 |
rogpeppe | dimitern: what was the problem? | 18:13 |
dimitern | rogpeppe: http://paste.ubuntu.com/1392332/ | 18:13 |
dimitern | rogpeppe: don't know yet, but managed to isolate it - it happens every odd request | 18:13 |
rogpeppe | dimitern: cool | 18:14 |
rogpeppe | dimitern: i have a call to go down to eat - will take a look after food | 18:14 |
dimitern | rogpeppe: cool, 10x | 18:15 |
dimitern | niemeyer: ping | 18:21 |
niemeyer | dimitern: Yo | 18:21 |
dimitern | niemeyer: hey, are you aware of some weird issues with sending responses with no body multiple times in a row ? see the paste ^^ and run it, if you have 5 mins | 18:22 |
niemeyer | dimitern: Hmm | 18:23 |
niemeyer | dimitern: I'm not aware, looking | 18:23 |
dimitern | niemeyer: that's an example of the error i'm getting in my module, stripped down | 18:23 |
=== cmagina_ is now known as cmagina | ||
dimitern | niemeyer: if you run it, every odd request ends in an error, but the even ones pass - wierd | 18:23 |
niemeyer | dimitern: Interesting, let me understand what this is doing | 18:24 |
dimitern | niemeyer: not much, it seems sending no body in the handler is enough to trigger this on the client side | 18:25 |
dimitern | niemeyer: it seems related to the fix proposed here: http://code.google.com/p/go/issues/detail?id=1388 - I get the error exactly on the line "if len(f) < 2" | 18:27 |
niemeyer | dimitern: Interesting | 18:30 |
dimitern | niemeyer: it also happens with go-tip, just checked | 18:31 |
niemeyer | dimitern: This is what goes in the wire, and why you see the odd/even behavior: http://pastebin.ubuntu.com/1392393/ | 18:31 |
niemeyer | dimitern: That "0" shouldn't be there | 18:32 |
dimitern | niemeyer: yes, that 0 looked weird to me, until I checked the HTTP Transfer-Encoding header: http://en.wikipedia.org/wiki/Chunked_transfer_encoding | 18:32 |
dimitern | niemeyer: and it seems 0\r\n should be there when no body exists, in addition no Content-Length header is present - HTTP/1.1 stuff | 18:33 |
dimitern | niemeyer: what puzzles me is why it happens only every other request, if it's malformed - it should either pass or fail always | 18:34 |
niemeyer | dimitern: Due to the 0 | 18:34 |
dimitern | niemeyer: maybe if I somehow force HTTP/1.0 with Content-Length - that's a possible workaround | 18:35 |
dimitern | niemeyer: yeah, the 0 borks it, but you see my point, right? | 18:35 |
niemeyer | dimitern: Which of them? | 18:36 |
dimitern | niemeyer: the inconsistent result - it fails every second request, when the code is doing the same | 18:37 |
niemeyer | dimitern: Because of the ero | 18:37 |
niemeyer | zero | 18:37 |
niemeyer | dimitern: it's being observed as a response | 18:37 |
dimitern | niemeyer: this looks like a bug in net/http for me | 18:37 |
niemeyer | dimitern: It definitely is | 18:38 |
niemeyer | dimitern: The example is trivial | 18:38 |
rogpeppe | dimitern: yeah, definitely looks like a bug | 18:39 |
rogpeppe | dimitern: you should raise an issue | 18:39 |
rogpeppe | dimitern: in the meantime, i guess the fix is just don't use that http status... | 18:40 |
dimitern | rogpeppe: or maybe using HTTP/1.0 instead? | 18:41 |
niemeyer | dimitern: Just send a 200 status without content | 18:41 |
niemeyer | dimitern: I'm pretty sure the bug is related to the 204 result | 18:42 |
niemeyer | dimitern: Or do you need the 204 for some reason? | 18:42 |
dimitern | niemeyer: well, yes I need it - i'm trying to mimic Swift as much as possible, including response codes | 18:42 |
niemeyer | dimitern: Cool, give me a moment then | 18:42 |
niemeyer | dimitern: Write this before the WriteHeader line: | 18:43 |
niemeyer | w.Header()["Content-Length"] = []string{"0"} | 18:43 |
dimitern | niemeyer: ok, I'll try that | 18:44 |
dimitern | niemeyer: works | 18:45 |
niemeyer | dimitern: Super | 18:45 |
dimitern | niemeyer: so I'll file a bug in go then | 18:45 |
niemeyer | dimitern: Thanks | 18:45 |
niemeyer | dimitern: That disables chunked encoding, avoiding the code path | 18:46 |
niemeyer | dimitern: It feels like the bug is in the reading side | 18:46 |
niemeyer | dimitern: And it's not entirely surprising.. using chunked encoding with a zero length content is a bit weird | 18:46 |
dimitern | niemeyer: yeah, exactly my point | 18:46 |
niemeyer | dimitern: So I honestly can't tell whose fault it is without diving in the spec.. | 18:47 |
niemeyer | dimitern: Either way, the http package should be resilient to such mistreating | 18:47 |
dimitern | niemeyer: I expected so yeah, anyway - I'll do my good deed for the day filing the issue | 18:48 |
rogpeppe | niemeyer, dimitern: presumably: w.Header().Set("Content-Length", "0") would be an equivalent (and slightly nicer looking) workaround? | 18:52 |
dimitern | rogpeppe: indeed - works like that and looks better | 18:54 |
dimitern | niemeyer, rogpeppe: thanks for your help, I'm off | 18:57 |
rogpeppe | dimitern: np. have fun. | 18:57 |
rogpeppe | niemeyer: fairly trivial: https://codereview.appspot.com/6847114/ | 19:22 |
niemeyer | rogpeppe: Looking | 19:27 |
rogpeppe | niemeyer: and this is the last significant step before actually enabling TLS: https://codereview.appspot.com/6854107/ | 19:29 |
niemeyer | rogpeppe: Done | 19:35 |
rogpeppe | niemeyer: thanks | 19:35 |
niemeyer | I'll step out for a while.. will be back later to tame the review queue a bit further | 19:42 |
rogpeppe | niemeyer: the final step: https://codereview.appspot.com/6856105/ | 20:04 |
rogpeppe | niemeyer: one issue that occurs to me: perhaps we should bump the major version number with this CL, because it's incompatible with the previous version. | 20:05 |
rogpeppe | niemeyer: it would give us a chance to see what it's like to bump the major version too | 20:06 |
rogpeppe | right, that's me for the night, a good place to stop i think | 20:06 |
fwereade_ | yay! the Installer does the Right Thing, and the machine can now clean up after its units | 22:10 |
fwereade_ | on a sour note, I suspect the mysql charm of pooing a "mysql.passwd" file into /var/lib/juju | 22:11 |
fwereade_ | hey ho | 22:11 |
niemeyer | fwereade_: Woohay! | 22:43 |
fwereade_ | niemeyer, I have noticed a couple of minor stupidities in the branches still in the queue, but I think nothing unfixable; I'll updat ethem tomorrow | 22:44 |
niemeyer | fwereade_: Sounds good | 22:44 |
fwereade_ | niemeyer, and will be able to propose this as well; assuming you feel the series is sane enough, I can start merging through from machine-string-ids onwards | 22:45 |
niemeyer | fwereade_: Superb | 22:46 |
niemeyer | fwereade_: What are the details you'd like to fix about? | 22:52 |
niemeyer | fwereade_: Just so I know once I go over them | 22:52 |
niemeyer | fwereade_: You've got a review.. | 23:40 |
niemeyer | fwereade_: Great stuff | 23:40 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!