=== thumper-gym is now known as thumper | ||
axw | thumper: I have a couple more small sshstorage MPs, if you have time to look | 01:34 |
---|---|---|
axw | also, good morning | 01:34 |
thumper | axw: sure, line them up | 01:40 |
* davecheney waves | 01:40 | |
davecheney | % env LD_LIBRARY_PATH=/opt/gccgo/lib64 ./juju version | 01:44 |
davecheney | 1.15.0-raring-amd64 | 01:44 |
axw | thumper: https://code.launchpad.net/~axwalk/juju-core/sshstorage-put-stdin/+merge/186936 | 01:46 |
axw | then https://code.launchpad.net/~axwalk/juju-core/sshstorage-tmpdir-default/+merge/186939 | 01:46 |
axw | thanks | 01:46 |
axw | davecheney: cool :) | 01:47 |
davecheney | axw: lots of little edge cases | 01:48 |
davecheney | but they are around building gccgo | 01:49 |
davecheney | nothing to do with juju-core | 01:49 |
davecheney | wallyworld_: juju _STILL_ waits too long before telling you that your environment is already bootstrapped | 01:50 |
davecheney | http://paste.ubuntu.com/6143764/ | 01:50 |
davecheney | worse, it happily overwrites tools, then notices your env is bootstrapped | 01:50 |
* axw wonders how much of juju llgo can build | 01:50 | |
wallyworld_ | davecheney: i never did any work on the "waits too long" bug | 01:51 |
wallyworld_ | i was doing work on simplestreams | 01:51 |
davecheney | ok | 01:51 |
davecheney | should I raise an issue | 01:51 |
wallyworld_ | but fwiw i agree with you | 01:51 |
wallyworld_ | yes | 01:51 |
wallyworld_ | mark it high i reckin | 01:51 |
davecheney | ok, will do | 01:51 |
wallyworld_ | maybe i can get to it this week | 01:52 |
wallyworld_ | still have simplestreams mirrors and checksum support to finish | 01:52 |
davecheney | done | 01:53 |
davecheney | kk | 01:53 |
thumper | axw: can we talk about this change? | 02:04 |
thumper | I have a few questions | 02:04 |
thumper | probably faster in a hangout | 02:04 |
axw | yes, just a sec | 02:04 |
* thumper waits | 02:04 | |
axw | thumper: https://plus.google.com/hangouts/_/d485a58f42c7e12792ce53c161e010a0775851a8?authuser=1&hl=en | 02:05 |
axw | wallyworld_: your MP from the other day fixes this, right? https://bugs.launchpad.net/juju-core/+bug/1223224 | 02:52 |
wallyworld_ | looking | 02:53 |
wallyworld_ | yes indeed | 02:53 |
wallyworld_ | and errors | 02:53 |
wallyworld_ | thumper did the work, i just added a test and landed | 02:53 |
wallyworld_ | i'll link the branch | 02:54 |
axw | yeah, we had a chat, I was a bit confused when I saw it come from you :) | 02:54 |
axw | cool thanks | 02:54 |
axw | I'll assign the card in LeanKit to you and move it to merged if that's ok | 02:55 |
axw | or thumper | 02:55 |
axw | rather | 02:55 |
wallyworld_ | sure, doesn't really matter | 02:56 |
thumper | nah, it's done now | 02:56 |
thumper | :) | 02:56 |
wallyworld_ | so long as it's in merged | 02:56 |
wallyworld_ | if it is in merged, it will be added to the release notes | 02:56 |
wallyworld_ | s/will be/should be perhaps | 02:57 |
axw | yup | 02:57 |
axw | done | 02:57 |
thumper | school run, back shortly | 02:58 |
* thumper disconnects to head to ice-skating | 04:41 | |
thumper | caitlin is skating | 04:41 |
thumper | I'm going to be working in the cold | 04:41 |
* thumper just proposes a fix to a fix | 04:42 | |
thumper | tests still passed, but wasn't as clean as it should be | 04:42 |
=== tasdomas_afk is now known as tasdomas | ||
rogpeppe | mornin' all | 06:41 |
rogpeppe | axw: hiya | 06:42 |
axw | rogpeppe: howdy | 06:42 |
rogpeppe | axw: i'm looking for a review on this. i reckon you might like it. https://codereview.appspot.com/13249054/ | 06:43 |
axw | okey dokey, looking | 06:43 |
jam | morning rogpeppe and axw | 06:46 |
rogpeppe | jam: hiya | 06:46 |
axw | heya jam | 06:46 |
rogpeppe | jam: you might want to take a look too. i had some spare time over the weekend and thought it was worth doing. | 06:48 |
jam | rogpeppe: from the overview, I'm happy to not have the "Discarded" stuff going into the log. Having it at Trace level might be ok | 06:49 |
rogpeppe | jam: i'm happy for it to be silent, tbh | 06:49 |
rogpeppe | jam: this now means that the decision can be made externally | 06:50 |
jam | rogpeppe: I would be ok with a flag to somehow enable it, just because of the "why isn't this method being detected" it could be helpful for developement. But it serves no purpose in production. | 06:50 |
rogpeppe | jam: see https://codereview.appspot.com/13827043/ | 06:50 |
rogpeppe | jam: with that, you'll get a test failure if you add a method that's not detected | 06:51 |
rogpeppe | jam, axw: here's an exploration of a potentially interesting idea that this enables. it only took an hour or so after i thought of the idea: http://paste.ubuntu.com/6143236/ | 06:52 |
rogpeppe | jam, axw: it generates API client code for the whole API | 06:53 |
=== mthaddon` is now known as mthaddon | ||
rogpeppe | jam, axw: (the output looks like this: http://paste.ubuntu.com/6143244/ ) | 06:53 |
axw | rogpeppe: nice | 06:54 |
rogpeppe | axw: text/template was a perfect match for the problem - i only made a single tweak to the rpcreflect API to make it easier to use (make a method return (Method, error) rather than (Method, bool) | 06:55 |
rogpeppe | ) | 06:56 |
rogpeppe | TheMue: mornin' | 07:38 |
TheMue | rogpeppe: good morning | 07:38 |
TheMue | rogpeppe: just scanning the mail from friday till today | 07:39 |
TheMue | rogpeppe: what's weird, i've got a pre-filtering to sort it a bit. it mostly works, but sometimes mail still lands in the inbox | 07:40 |
davecheney | TheMue: from the driver guys ? | 07:40 |
TheMue | davecheney: this, but also other mails. i think it depends on replys and the threading. while the first mail is sorted correctly a reply lands in the inbox and so the whole thread | 07:41 |
fwereade | mgz, ping | 08:25 |
jam | fwereade: I often don't see him around yet, anything I can help with? | 08:30 |
jam | good morning, btw | 08:30 |
jam | rogpeppe: so to come back to your "auto-generate the client side of the API", one caveat with what you've written is that everything is exposed as a Params object, but if you actually look at state/api/client.go we expose functions that have variables that hide the internal Params object. | 08:33 |
jam | For example, your auto-generated one does: DestroyRelation(p params.DestroyRelation) | 08:33 |
jam | while the existing one is: DestroyRelation(endpoints ...string) | 08:33 |
rogpeppe | jam: yes, that is of course an issue. | 08:34 |
jam | I'm pretty sure we wanted API clients to generally think in terms of "just a function call" rather than dealing with the params struts. | 08:34 |
jam | structs. | 08:34 |
rogpeppe | jam: but i don't really know how much of an issue it is in practice. most API calls are used in just one or two places. | 08:34 |
jam | rogpeppe: well, I think it made it easy to transition from state.State access to api.State access | 08:35 |
jam | since the func args are relatively the same. | 08:35 |
rogpeppe | jam: yes, it did. | 08:35 |
rogpeppe | jam: there's no question that the current api state client adds some value. | 08:35 |
rogpeppe | jam: one possibility is to make the current api state clients call the auto-generated code | 08:36 |
rogpeppe | jam: which actually has a few advantages, i think - for one it's type safe | 08:36 |
jam | rogpeppe: given the sum total of current API client code is "wrap the args into a Params and pass it to Call" it doesn't seem to gain us much | 08:36 |
rogpeppe | jam: and for another, we get an interface type that we can mock | 08:37 |
jam | rogpeppe: well we can mock the "State" object today, because it is just a "common.Caller" | 08:37 |
rogpeppe | jam: you're maybe right that it isn't worth doing, but i think it's worth considering - i'm not really sure that the current API client code pulls its weight - it's a thin shim with a tiny bit of local state. | 08:42 |
rogpeppe | jam: my motivation for thinking about this was: why is our api code so big (> 17000 lines including tests) when all it is is a relatively thin layer on top of the existing mongo state code? | 08:45 |
jam | rogpeppe: so searching for mongo error codes (another patch of yours) I did find: https://github.com/mongodb/mongo/blob/master/docs/errors.md | 08:46 |
jam | i | 08:46 |
jam | interestingly, 10057 is remarked as a Code, but no comment as to what it means :) | 08:46 |
jam | and the link takes you to a code page that isn't that code | 08:46 |
rogpeppe | awesome! | 08:47 |
jam | so it does seem to list and describe them, but the doc itself is pretty out of date for the "code" links :) | 08:47 |
rogpeppe | jam: from one point of view, all our agent API calls are internal. | 08:48 |
rogpeppe | jam: and your example is actually a interesting one - there is exactly *one* call to DestroyRelation in the non-test code. is it *really* worth the extra layer for the convenience of the variadic arguments? | 08:50 |
rogpeppe | jam: anyway, i'm not suggesting that we do this right away, just that it's something worth thinking about | 08:52 |
rogpeppe | fwereade: it would be nice if you could take a look at this too, please: https://codereview.appspot.com/13249054/ | 08:58 |
fwereade | rogpeppe, sure, cheers | 08:58 |
rogpeppe | fwereade: (my spare time became slightly more copious in the weekend :-]) | 08:59 |
fwereade | rogpeppe, ha, that's always nice :) | 08:59 |
fwereade | rogpeppe, LGTM, that's really nice | 09:10 |
rogpeppe | fwereade: cool, thanks | 09:10 |
fwereade | rogpeppe, I think it made things more readable too | 09:10 |
fwereade | rogpeppe, but I think we should include the name in the error ;p | 09:10 |
rogpeppe | fwereade: yeah, i think it made the structure better. there's actually another branch in waiting adds rpcreflect.Value that implements Call | 09:11 |
fwereade | rogpeppe, stuttery messages are bad, but less bad than useless messages | 09:11 |
fwereade | rogpeppe, I'd rather risk the former when we don't control the clients in-package | 09:12 |
rogpeppe | fwereade: originally it returned bool | 09:12 |
rogpeppe | fwereade: i don't think the current error is worse than that | 09:12 |
rogpeppe | fwereade: but, fair enough, i'll make it return a NotFoundError | 09:13 |
fwereade | rogpeppe, heh, I find a bool less bothersome than a half-specified error | 09:13 |
rogpeppe | fwereade: it's not half-specified! | 09:13 |
fwereade | rogpeppe, with a bool it's totally clear that interpretation of the result is on the client | 09:13 |
rogpeppe | fwereade: i suppose so. but the docs do make that clear. | 09:14 |
rogpeppe | fwereade: and there are lots of other precedents for static error values which work ok | 09:14 |
rogpeppe | fwereade: e.g. io.EOF | 09:14 |
fwereade | rogpeppe, I *think* that the possibility of other errors is what makes the static error value a cromulent choice | 09:15 |
rogpeppe | fwereade: in this case there's no possibility of other errors, as documented | 09:16 |
fwereade | rogpeppe, in such cases, I think I like bools myself... | 09:16 |
fwereade | rogpeppe, but, eh -- it' somewhat academic anyway, because we certainly do control the client at the moment | 09:16 |
rogpeppe | fwereade: i only made the change so that i could do this more easily: http://paste.ubuntu.com/6143236/ | 09:17 |
rogpeppe | fwereade: which was a little experiment | 09:17 |
rogpeppe | fwereade: to see how easy it might be to generate the client API code automatically | 09:18 |
fwereade | rogpeppe, that's interesting, indeed | 09:18 |
rogpeppe | fwereade: this is what the output looks like: http://paste.ubuntu.com/6143244/ ) | 09:18 |
rogpeppe | fwereade: it compiles but i haven't tried using it | 09:19 |
fwereade | rogpeppe, cool | 09:19 |
fwereade | rogpeppe, anyway I do not think I am adding value by quibbling over the perfect return for the method :) | 09:20 |
fwereade | rogpeppe, follow your heart | 09:20 |
rogpeppe | fwereade: thanks. i did originally consider both possibilities - this is what my heart said :-) | 09:20 |
* fwereade had maybe better go buy tobacco,I have a feeling shops close at 12 here | 09:21 | |
rogpeppe | fwereade: where are you? | 09:21 |
fwereade | rogpeppe, we moved to st pauls bay | 09:22 |
fwereade | rogpeppe, less city, more towny | 09:22 |
rogpeppe | fwereade: ah | 09:22 |
rogpeppe | " | 09:33 |
rogpeppe | I'm ok with a blacklist, but we might just want a whitelist test. (both?) and | 09:33 |
rogpeppe | then when you add something you update the lists. | 09:33 |
rogpeppe | " | 09:33 |
rogpeppe | jam: i'm not quite sure what you mean there | 09:33 |
rogpeppe | jam: it isn't a blacklist, by my understanding of the word | 09:33 |
rogpeppe | jam: although are you suggesting that i do what i mentioned in the CL description? | 09:34 |
jam | rogpeppe: it is a list of the entries that shouldn't be exposed, vs a list of entries that *should* be exposed | 09:44 |
rogpeppe | jam: well, really it's a whitelist of entries that we allow to be ignored | 09:45 |
jam | interestingly, one could argue that you should test that all of them *are* ignored, so the list doesn't grow stale. | 09:45 |
rogpeppe | we do that | 09:45 |
rogpeppe | jam: if you add another method that is ignored, the test will fail | 09:46 |
jam | rogpeppe: sure, I'm actually saying the inverse, if you remove a method that was previously ignored, but you're doing an exact match | 09:46 |
rogpeppe | jam: (that's why i don't think of it as a blacklist) | 09:46 |
jam | not iterating over them and looking them up as a set | 09:46 |
jam | rogpeppe: one could argue that we could do both sides as exact matches | 09:47 |
rogpeppe | jam: i agree with that | 09:47 |
rogpeppe | jam: it's a little bit more work when adding API calls, but probably worth it | 09:47 |
jam | it does add slightly more to the effort to expose a new name | 09:47 |
jam | were I doing it today, I probably would, but I don' think we have to worry too much | 09:48 |
rogpeppe | jam: we could easily have a trivial program that auto-generated the list | 09:48 |
jam | mgz: poke? | 10:04 |
mgz | jam: ey | 10:07 |
mgz | fwereade: what were you after earlier? | 10:09 |
rogpeppe | fwereade, jam: this factors out a little more logic from rpc to rpcreflect: https://codereview.appspot.com/13778046/ | 10:14 |
fwereade | mgz, hey, I was wondering about how the get-a-new-address thing ties into the environs interface | 10:26 |
fwereade | mgz, a method on Instance? | 10:26 |
fwereade | mgz, actually, can we chat after the standup please? I have food to eat quickly | 10:27 |
mgz | fwereade: sure | 10:27 |
mgz | I was thinking an environ operation still | 10:28 |
fwereade | mgz, at the moment, maas does it by magic hackery, right? | 10:43 |
jam | standup time https://plus.google.com/hangouts/_/6f82d7382f19fc7b18493254974fb66ed1b99244 | 10:46 |
jam | mgz: ^^ | 10:47 |
jam | dimitern: ^^ | 10:47 |
rogpeppe | dimitern: ^ | 10:47 |
natefinch | mgz, and whoever else: https://pastebin.canonical.com/97850/ | 11:22 |
mgz | ta | 11:22 |
* TheMue => lunch | 11:23 | |
mgz | missing a number natefinch? | 11:23 |
mgz | doh, canonical | 11:23 |
mgz | "state or API addresses not found in configuration" | 11:24 |
natefinch | yeah, saw that... but I don't know what it means or how to fix it | 11:25 |
natefinch | I tried looking for that string in the sourcecode, but it only seems to appear in tests | 11:26 |
mgz | natefinch: comes from l326 agent/agent.go | 11:33 |
natefinch | mgz: oh, I see, that's why I couldn't find it | 11:34 |
natefinch | mgz: doesn't really tell me how it got in the bad state or how to fix it though. What configuration is it talking about? | 11:35 |
mgz | something odd has happened with the agent config, it seems to not producing the format it claims | 11:36 |
mgz | or, actually, it seems okay... fun fun | 11:37 |
mgz | rog is trying some debugging | 11:38 |
mgz | natefinch: are you trying with trunk, or a slightly older version? | 11:38 |
natefinch | mgz: it's a branch from last week that hasn't been updated from trunk. I could update from trunk if you think that'll help | 11:39 |
mgz | it would make reasoning about it a little less fraught, but only if it doesn't take you too long to do | 11:40 |
natefinch | mgz: easy enough | 11:40 |
natefinch | mgz: done, bootstrapping a new environment | 11:45 |
mgz | natefinch: when it's up, if you have the same error, can you check the contents of /var/lib/juju/agents/bootstrap/agents.conf | 11:46 |
natefinch | mgz: will do | 11:46 |
rogpeppe | natefinch: actually, please check the entire contents of that directory | 11:55 |
rogpeppe | natefinch: /var/lib/juju/agents/bootstrap, that is | 11:55 |
rogpeppe | natefinch: i suspect that there might not be a "format" file there | 11:55 |
rogpeppe | natefinch: but if there is, it'll blow that theory out of the water | 11:56 |
natefinch | mgz, rogpeppe: finally was able to log in... there's a format file there | 11:56 |
rogpeppe | natefinch: bugger | 11:56 |
natefinch | mgz, rogpeppe: agent.conf - http://pastebin.ubuntu.com/6145223/ | 11:57 |
rogpeppe | natefinch: could you try executing the command line on line 414 | 11:57 |
natefinch | (and yes, it got the same error) | 11:58 |
rogpeppe | natefinch: (you'll need to re-quote it) | 11:58 |
natefinch | rogpeppe: line 414 of what? | 11:58 |
rogpeppe | natefinch: one mo | 11:59 |
rogpeppe | natefinch: this command: http://paste.ubuntu.com/6145226/ | 11:59 |
mgz | natefinch: I think you'll need to elevate to do that | 12:00 |
rogpeppe | +1 | 12:00 |
natefinch | mgz: yeah, it told me so :) I get the same error | 12:00 |
natefinch | state or API addresses not found in configuration | 12:00 |
mgz | good good | 12:01 |
rogpeppe | natefinch: yay! | 12:01 |
rogpeppe | natefinch: (kinda) | 12:01 |
natefinch | heh | 12:01 |
natefinch | reproducibility is good, even if you don't yet know how to fix it | 12:01 |
rogpeppe | natefinch: is this machine accessible from outside? | 12:01 |
rogpeppe | natefinch: i.e. can i ssh into it? | 12:01 |
natefinch | I think you have to ssh into garage maas (maas.mallards) first and then you can ssh into the node that is running the virtual maas, maas-1-01 | 12:04 |
rogpeppe | natefinch: ok, different approach: can you compile this program, scp it to the node and try running it? http://paste.ubuntu.com/6145248/< | 12:05 |
frankban | juju devs: maybe I have something wrong with my local configuration, but it seems that juju-core trunk does not execute the config-changed hook when using "juju set" to change charm options. "juju debug-log" also seems to no longer show hooks output. Reverting to an older revision of core (e.g. 1790) everything restarted to work as usual... thoughts? | 12:05 |
rogpeppe | frankban: hmm, sounds bad | 12:06 |
rogpeppe | fwereade: any idea? | 12:06 |
frankban | rogpeppe: yeah, but it is possible that it is some configuration problem on my side, could you please try to reproduce? | 12:07 |
mgz | frankban: what are you doing to run into this exactly? | 12:08 |
rogpeppe | frankban: will do. what charm were you seeing the problem with? | 12:08 |
=== gary_poster is now known as gary_poster|away | ||
frankban | rogpeppe: juju-gui. mgz: deploy juju-gui, start debug-log, then change an option (e.g. juju set builtin-server=true). | 12:09 |
natefinch | rogpeppe: I get a nil error as long as I run elevated (otherwise permission denied opening agent.conf) | 12:09 |
rogpeppe | natefinch: did you upload-tools ? | 12:10 |
frankban | rogpeppe: the GUI correctly shows the option changed (so I guess the new value is correctly sent by the megawatcher). but ISTM that the hook is never called | 12:10 |
* frankban lunches | 12:11 | |
natefinch | rogpeppe: yeah. Let me make sure my process is correct. I don't have a build environment on the maas virtual server, so I'm just building juju and jujud locally and copying them up to the server, then running bootstrap --upload-tools, which finds the jujud I copied up there | 12:12 |
rogpeppe | natefinch: what does jujud version print? | 12:12 |
natefinch | rogpeppe: oh hmm... interesting... 1.15.0-raring-amd64 | 12:13 |
natefinch | raring I'm guessing is the problem | 12:13 |
natefinch | (my dev environment is raring) | 12:13 |
natefinch | and the nodes are precise | 12:14 |
rogpeppe | natefinch: what's in /etc/lsb-release ? | 12:15 |
rogpeppe | natefinch: i think your node must be raring actually | 12:15 |
natefinch | rogpeppe: the nodes are definitely precise, just double checked lsb-release | 12:16 |
rogpeppe | natefinch: could you paste the output of "du -a /var/lib/juju" please | 12:16 |
natefinch | rogpeppe: the maas host where juju is running is raring though | 12:16 |
rogpeppe | natefinch: ah, sorry, i thought that's what you were talking about | 12:17 |
natefinch | rogpeppe: sorry, my terminology may not be great. Yes, the host is raring, the nodes inside maas are precise | 12:17 |
natefinch | rogpeppe: du returns this on the bootstrap node: http://pastebin.ubuntu.com/6145289/ | 12:19 |
rogpeppe | natefinch: what's in /var/lib/juju/tools/1.15.0.1-precise-amd64/FORCE-VERSION ? | 12:19 |
natefinch | rogpeppe: 1.15.0.1 | 12:20 |
rogpeppe | natefinch: where is your shell finding jujud? | 12:21 |
rogpeppe | natefinch: i.e. what does "which jujud" print? | 12:21 |
natefinch | rogpeppe: which jujud on the bootstrap node doesn't find anything | 12:22 |
rogpeppe | natefinch: so how did you run it? | 12:22 |
natefinch | rogpeppe: oh sorry, I was running that previously on the maas host... | 12:22 |
natefinch | rogpeppe: thought you just wanted the version of what was getting uploaded | 12:23 |
rogpeppe | natefinch: that's fine, np | 12:24 |
rogpeppe | natefinch: that tiny source file i just pasted you: did you compile that against exactly the same juju source as the one you uploaded with --upload-tools ? | 12:24 |
natefinch | yep | 12:25 |
rogpeppe | weirdness | 12:25 |
natefinch | rogpeppe: I have to make a phone call, can we pick this up in a bit? Sorry... it's time sensitive | 12:26 |
rogpeppe | natefinch: np | 12:26 |
=== gary_poster|away is now known as gary_poster | ||
rogpeppe | natefinch: ok, when you're back, could you try this: cd $GOPATH/cmd/jujud; go build; scp jujud $MY_MAAS_NODE | 12:28 |
rogpeppe | natefinch: then on the maas node, try running that just-uploaded jujud binary with the same args as in this paste: http://paste.ubuntu.com/6145226/ | 12:29 |
rogpeppe | natefinch: (just to sanity check that we can reproduce the problem directly) | 12:29 |
rogpeppe | mgz: for(i in `{go list -f '{{.Dir}}' ./...}){src=$i/*.go; if(grep -l 'launchpad.net/gocheck' $src > /dev/null&& ! grep -l 'gc\.TestingT' $src> /dev/null){echo $i}} | 12:45 |
rogpeppe | :-) | 12:45 |
mgz | chaos! | 12:46 |
rogpeppe | mgz: this works better. more chaos; love them one-liners :-) for(i in `{go list -f '{{.Dir}}' ./...}){if(! ~ $i *testing){src=$i/*.go; if(grep -q -l 'launchpad.net/gocheck' $src && ! egrep -l -q 'gc\.TestingT|testing\.MgoTestPackage' $src){echo foo $i}}} | 13:02 |
sinzui | rock! Next time someone says my sed lines are impossible, I'll point them the rogpeppe's bash | 13:04 |
rogpeppe | sinzui: it's not bash | 13:04 |
sinzui | Even better go emulating bash | 13:05 |
rogpeppe | sinzui: not quite | 13:08 |
rogpeppe | sinzui: it's rc actually | 13:09 |
rogpeppe | sinzui: which is considerably simpler than bash though you wouldn't guess it from that snippet :-) | 13:09 |
sinzui | :) | 13:09 |
natefinch | rogpeppe: that ran without error. maybe I accidentally uploaded an old jujud? I can retry bootstrap with the new jujud | 13:18 |
mgz | natefinch: I think upload-tools can sometimes surprisingly pick something other than what you intended | 13:19 |
rogpeppe | natefinch: do you still have the executable that you wanted upload-tools to upload? | 13:19 |
natefinch | rogpeppe: I just overewrote it :/ | 13:20 |
rogpeppe | mgz: https://codereview.appspot.com/13321052 | 13:21 |
rogpeppe | natefinch: ok, so... | 13:21 |
rogpeppe | natefinch: i think you need to try again | 13:22 |
rogpeppe | natefinch: so bootstrap with an executable that you've built against trunk, verify that the problem happens. | 13:23 |
rogpeppe | natefinch: then md5sum the binary at both sides and see if it matches | 13:23 |
rogpeppe | natefinch: oh yes | 13:24 |
rogpeppe | natefinch: please bootstrap with --debug | 13:24 |
natefinch | yep | 13:24 |
rogpeppe | natefinch: because --upload-tools *might* print the path of the binary it's found, which might not be what you're expecting | 13:24 |
natefinch | rogpeppe: it does. it's getting the right one (it checks $HOME, looks like) | 13:25 |
natefinch | rogpeppe, mgz: and now it works fine. Feh. I swear I did the exact same thing last time... but evidently something was out of sync. | 13:39 |
mgz | natefinch: best guess is you maybe didn't run go install .... the upload-tools logic here is frustratingly tricky | 13:46 |
natefinch | mgz: shouldn't have been the problem, since I wasn't running upload-tools in my dev environment... anyway, it was obviously a problem of jujud being out of sync. | 13:47 |
natefinch | fwereade: FWIW in initial testing, maas-tags are working great. I want to do some more testing around edge cases and stuff, but so far so good | 13:55 |
sinzui | mgz, ping | 14:08 |
natefinch | rogpeppe, mgz, jam: what's the expected behavior if you specify constraints that can't be met? | 14:08 |
mgz | expected, or desired? | 14:08 |
mgz | you get no machine :) | 14:08 |
rogpeppe | you should see something in the status | 14:08 |
natefinch | mgz: what is juju right now coded to do? Trying to make sure there's no bugs when you fail to match tags | 14:09 |
natefinch | rogpeppe: ok | 14:09 |
frankban | rogpeppe: any news on the error I reported? | 14:35 |
rogpeppe | frankban: sorry, i haven't had a look | 14:36 |
frankban | rogpeppe: np | 14:36 |
rogpeppe | frankban: please file a bug! | 14:36 |
rogpeppe | frankban: and i'll try to make time to have an investigate | 14:36 |
frankban | rogpeppe: ok, I'll try again, removing binaries, and then file a bug | 14:37 |
fwereade | natefinch, sorry, missed you | 14:37 |
rogpeppe | fwereade: did you see about frankban's problem above? | 14:37 |
frankban | rogpeppe: is " godeps -u dependencies.tsv" the right thing to do to set up the deps? | 14:38 |
fwereade | natefinch, jam, rogpeppe: btw you all seem to have positively reviewed branches not landed | 14:38 |
fwereade | rogpeppe, frankban, I did not, I shall scroll back | 14:38 |
rogpeppe | fwereade: i'm waiting for at least one branch to land | 14:38 |
fwereade | natefinch, that is awesome news | 14:38 |
fwereade | natefinch, thank you very much | 14:38 |
fwereade | rogpeppe, sweet | 14:38 |
fwereade | rogpeppe, frankban: I have no immediate input on the problem -- did someone repro, or not? | 14:40 |
rogpeppe | fwereade: i haven't tried yet | 14:41 |
frankban | fwereade: not yet, retrying and then filing a bug | 14:41 |
=== tasdomas is now known as tasdomas_afk | ||
=== tasdomas_afk is now known as tasdomas | ||
=== tasdomas is now known as tasdomas_afk | ||
natefinch | this makes me sad: $ juju help constraints ERROR unknown command or topic for constraints | 15:28 |
rogpeppe | natefinch: file a bug | 15:43 |
natefinch | rogpeppe: I will. | 15:56 |
=== natefinch is now known as natefinch-afk | ||
fwereade | is anyone au fait with the latest state of upload-tools wrt simplestreams? | 16:14 |
rogpeppe | fwereade: i'm not, sorry | 16:15 |
frankban | fwereade, rogpeppe: filed bug 1229286 | 16:35 |
_mup_ | Bug #1229286: debug-log and boolean options are broken in trunk <juju-core:New> <https://launchpad.net/bugs/1229286> | 16:35 |
rogpeppe | frankban: is it just boolean options? | 16:35 |
frankban | rogpeppe: it seems so | 16:35 |
frankban | it seems they are always false | 16:35 |
rogpeppe | frankban: TheMue has been dealing with setting issues recently and might know more about this | 16:36 |
frankban | rogpeppe: I was trying to set a boolean option to true and it was not working and, since no output was printed in debug-log, I suspected the hook was not executed. But then I was able to successfully change a string option. As I wrote in the bug description, those are likely to be two different problems. | 16:39 |
frankban | or maybe a problem in my local devenv | 16:39 |
rogpeppe | frankban: i think it's probably all related to a single problem around boolean flags | 16:39 |
frankban | rogpeppe: cool | 16:40 |
rogpeppe | frankban: that logic has changed recently, i believe | 16:40 |
frankban | rogpeppe: as I mentioned in the bug revno 1750 works well | 16:40 |
rogpeppe | frankban: have you bisected between then and now? | 16:41 |
frankban | rogpeppe: no I don't, just taken a revision near the latest stable release | 16:41 |
rogpeppe | frankban: ok, thanks | 16:41 |
mgz | sinzui: the 1.14.1 release anouncement seems a little wonky | 16:55 |
sinzui | yeah 1.14.1 is replacing 1.14.0 | 16:56 |
mgz | says it replaces 1.14.1, and the resolved issues list looks wrong | 16:56 |
* sinzui repllies | 16:56 | |
sinzui | mgz. I was told/interpreted the instructions for a replacement release to re-list the issues | 16:59 |
mgz | fair enough, seems a little odd not to mention the openstack security group fix though | 16:59 |
utlemming | is there a way to bootstrap juju with out a tty? | 17:19 |
mgz | sure, write "juju bootstrap" in a text file, make it excutable, then double click it in your shell | 17:24 |
mgz | or did you want a less silly answer? the juju-gui can do a lot of management, I'm not sure what their easy setup plans are. | 17:25 |
=== natefinch-afk is now known as natefinch | ||
rogpeppe | natefinch, fwereade, jam, dimitern, mgz: some provider/dummy updates. https://codereview.appspot.com/13594044 | 18:02 |
rogpeppe | and that's me for the day | 18:02 |
rogpeppe | g'night all | 18:03 |
natefinch | rogpeppe: g'night. I'll take a look | 18:03 |
fwereade | utlemming, the only other option is to write your own go code to invoke juju | 18:25 |
natefinch | smoser: any reason you can think of that I might not be able to ssh into the nodes in my maas environment after the host rebooted? I double checked, and resolv.conf is still set up correctly. ssh just hangs forever not being able to connect | 18:31 |
sinzui | natefinch, do you know what runs the juju-core test suite for merges? What machine? | 19:20 |
natefinch | sinzui: no idea, sorry | 19:20 |
sinzui | okay | 19:20 |
smoser | natefinch, hold on | 19:39 |
thumper | mramm: ping | 21:04 |
mramm | thumper: pong | 21:24 |
mramm | sorry, got caught in another meeting | 21:24 |
thumper | mramm: still want to chat | 21:25 |
mramm | sure, yea | 21:25 |
wallyworld_ | sinzui: i just read the backscroll, the juju-core landing bot is 10.55.32.52 | 23:24 |
wallyworld_ | it's an instance on canonistack | 23:24 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!