bigjools | yo thumper | 01:00 |
---|---|---|
thumper | hi bigjools | 01:11 |
bigjools | you wanted me earlier? | 01:11 |
thumper | yeah, perhaps chat about maas | 01:12 |
thumper | but I need to shower first | 01:12 |
thumper | hmm... my magic change hasn't worked | 01:14 |
thumper | I think I know why it failed... | 01:14 |
thumper | but need more investigation | 01:14 |
wallyworld_ | thumper: i'd like a catch up too | 01:22 |
thumper | wallyworld_: give me 5 minutes to grab these log files. | 01:34 |
wallyworld_ | ok | 01:35 |
thumper | ok, ready | 01:46 |
thumper | but confused | 01:46 |
thumper | wallyworld_: shall I start a hangout? | 01:46 |
wallyworld_ | ok | 01:46 |
thumper | https://plus.google.com/hangouts/_/98238f3ad80fb6e5ea1e7c6e53442bef8dd68df6?hl=en | 01:46 |
bigjools | davecheney: "i can tell that you and I are going to get on like a house on fire in BNE" - is it ok if I laugh a lot? | 02:00 |
davecheney | yes | 02:01 |
davecheney | that would break the ice | 02:01 |
bigjools | :) | 02:01 |
davecheney | opp | 02:01 |
davecheney | changing host | 02:01 |
davecheney | two secs | 02:01 |
davecheney | aaaand, back | 02:03 |
davecheney | wifi, how does it even work / | 02:03 |
davecheney | ? | 02:03 |
bigjools | it uses the tears of developers | 02:03 |
davecheney | apparently not enough tears in my house today | 02:04 |
bigjools | also pixie dust | 02:04 |
davecheney | and unicorn vomit | 02:04 |
davecheney | -- that is what someone described the plague of frozen yoghut stores that are springing up in Sydney | 02:04 |
* bigjools lives in the boonies so doesn't see that kind of nonsense | 02:05 | |
bigjools | everyone here complained when McDonalds got planning permission | 02:05 |
davecheney | isn't that just what australian's do ? | 02:06 |
bigjools | whinge? oh yes | 02:06 |
davecheney | we don't want airports, freeways, desalination plants, or mcdonalds' in our backyards | 02:07 |
bigjools | hey wallyworld_, I found out that the big empty space next to Coles here is going to get a huge department store and a Woolies! | 02:08 |
bigjools | the locals will go nuts :) | 02:08 |
wallyworld_ | great | 02:09 |
bigjools | wallyworld_: and the phuqers put speed humps on that incline so I can't take you over it in the air any more | 02:09 |
wallyworld_ | :-( | 02:10 |
* bigjools considers going monster truck stylee | 02:10 | |
davecheney | oh you kids, with your monster trucks and airborne shenanigans | 02:11 |
bigjools | davecheney: you made a series called 1.12 from a tag called 1.11.4? | 02:13 |
davecheney | yessir i did | 02:14 |
bigjools | how do you plan to work now, are you pushing revisions from trunk back to 1.12 or something else? | 02:14 |
davecheney | select revisions | 02:14 |
davecheney | possibly none | 02:14 |
bigjools | you plan on branching a new series from trunk at some point? | 02:15 |
davecheney | the reason for a stable tag is to give something to james page so that we can try to push that into backports for all series | 02:15 |
bigjools | ok | 02:15 |
davecheney | at the moment the devel versions are only going into aucys | 02:15 |
davecheney | saucy | 02:15 |
davecheney | ffs lag | 02:15 |
davecheney | the next stable will be 1.14, and I understand that a better local provider is the headline feature for that release | 02:16 |
bigjools | and azure | 02:16 |
davecheney | bigjools: yeah, i didn't want to overstep in my email | 02:16 |
bigjools | it's in our best interests to get Azure done ASAP | 02:17 |
davecheney | as I wasn't sure of the plan, but azure in 1.14 sounds good to me | 02:17 |
davecheney | right-o | 02:17 |
bigjools | and I'll be doing a handover when you're all in BNE | 02:17 |
davecheney | bigjools: so you know something about this sprint ? | 02:17 |
bigjools | since Red are moving to maas pastures | 02:17 |
bigjools | davecheney: I know that it's planned, and that's about it :) Trying to get mramm to get it organised etc etc | 02:18 |
davecheney | ok, things are going about as smoothly as usual then | 02:18 |
davecheney | anyone know what date ? | 02:18 |
bigjools | I heard same week as IoM sprint | 02:19 |
bigjools | but I don't recall from whom that came | 02:19 |
davecheney | bigjools: that's arse backwards | 02:20 |
davecheney | thumper: must be there | 02:20 |
davecheney | otherwise itt's a waste of time | 02:20 |
thumper | I don't entirely agree with that | 02:20 |
* bigjools shrugs | 02:20 | |
bigjools | as much as I'd like to spend time with thumper | 02:21 |
* thumper deputises wallyworld_ | 02:21 | |
davecheney | thumper: axw is your boss | 02:22 |
davecheney | he should get to meet you in person sometime this year :) | 02:22 |
bigjools | guffaw | 02:22 |
axw | wat | 02:22 |
thumper | davecheney: you get that the right way round? | 02:22 |
axw | :) | 02:22 |
thumper | davecheney: and I thought that it was mramm, not me | 02:22 |
thumper | anyway... | 02:22 |
davecheney | on noes, not the not double negative | 02:22 |
davecheney | thumper: you need to study the org chart more closely | 02:22 |
bigjools | trololol | 02:23 |
thumper | bigjools: https://plus.google.com/hangouts/_/98238f3ad80fb6e5ea1e7c6e53442bef8dd68df6?hl=en plz join | 02:23 |
* thumper pokes the directory | 02:23 | |
bigjools | thumper: eek, hang on | 02:23 |
bigjools | 2 mins | 02:23 |
thumper | davecheney: look at axw in the directory, manager mramm | 02:24 |
davecheney | thumper: who do I report to ? | 02:25 |
davecheney | if it says mramm | 02:25 |
davecheney | it's wront | 02:25 |
davecheney | it's wrong | 02:25 |
thumper | davecheney: arosales | 02:25 |
davecheney | ok, i guess it's correct | 02:25 |
thumper | :) | 02:25 |
thumper | this is what I expected anyway | 02:25 |
* axw is not sure where he's meant to be placed | 02:26 | |
axw | davecheney: did you see my comment on the warning log change, regarding transient errors? | 02:27 |
davecheney | axw: i sort of did | 02:28 |
davecheney | i threw some code at you | 02:28 |
davecheney | i tried to fix the problem from the other end | 02:28 |
davecheney | i hoped that there would be a middle group | 02:28 |
davecheney | ground | 02:28 |
axw | *looks* | 02:28 |
axw | same sort of thing | 02:30 |
axw | the problem I realised later is that there may be ERROR logs that don't result in a command failure | 02:31 |
axw | I was playing with the local provider yesterday, and got a bunch of ERROR logs about not being able to connect to port... then after a while it connects and succeeds | 02:31 |
axw | I suppose those could be changed to be not-errors though, except for the final one if it gives up retrying. | 02:33 |
davecheney | meeting agenda for tonight, https://docs.google.com/a/canonical.com/document/d/1eeHzbtyt_4dlKQMof-vRfplMWMrClBx32k6BFI-77MI/edit# | 03:19 |
jtv | wallyworld_: now, about simplestreams... | 03:21 |
wallyworld_ | jtv: otp to bigjools, give me a sec | 03:23 |
wallyworld_ | jtv: you rang? | 03:40 |
jtv | wallyworld_: otp to bigjools, give me aq sec | 03:43 |
bigjools | heh | 03:43 |
wallyworld_ | lol | 03:43 |
jtv | wallyworld_: off the phone now. I don't know who this bigjools thinks he is, keeping us all from getting work done like that. | 04:01 |
wallyworld_ | indeed | 04:01 |
bigjools | it's a rare skill I have | 04:01 |
wallyworld_ | jtv: so what bit of my limited knowledge did you want me to share? | 04:03 |
jtv | wallyworld_: don't worry, he doesn't mean the skill is rare. He means it's rare for him to have a skill. | 04:03 |
wallyworld_ | pwned | 04:03 |
jtv | I'm trying to invite you to a hangout, but your name is just too common... | 04:03 |
=== tim is now known as thumper | ||
* bigjools bends over | 04:04 | |
* wallyworld_ unzips | 04:05 | |
bigjools | /everyone screams | 04:05 |
wallyworld_ | bigjools screams loudest | 04:05 |
* bigjools loves the family channel atmosphere | 04:06 | |
jtv | Good thing you two are alone on a separate continent. Now all we need to do is seal the exits and let you fight it out. | 04:06 |
wallyworld_ | bigjools: you started it | 04:07 |
bigjools | wallyworld_: and you're going to finish it... oh wait you already did | 04:07 |
bigjools | ;) | 04:07 |
thumper | wallyworld_: hmm... don't really want to use host network | 04:15 |
thumper | wallyworld_: weird shit happens | 04:15 |
wallyworld_ | thumper: otp to jtv | 04:15 |
thumper | wallyworld_: I had a container with that config, didn't really start properly, and worse than that, when I did lxc-shutdown, it shut down the host | 04:15 |
thumper | as in, my laptop | 04:16 |
bigjools | haha | 04:17 |
thumper | bigjools: I lost those links you pasted before | 04:22 |
thumper | bigjools: got them handy? | 04:22 |
bigjools | thumper: http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/ | 04:23 |
bigjools | thumper: http://unix.stackexchange.com/questions/50201/how-to-configure-external-ip-addresses-for-lxc-guests | 04:23 |
jtv | thumper: I let wallyworld_ go, so you can have him now. | 04:36 |
wallyworld_ | thumper: funny that your laptop shut down | 04:36 |
wallyworld_ | well, funny for me :-D | 04:36 |
wallyworld_ | thumper: well that sucks | 05:18 |
thumper | wallyworld_: I'm sending an email out | 05:19 |
thumper | end of day lack of progress email | 05:19 |
wallyworld_ | thumper: ni, i have a new peroblem | 05:19 |
thumper | which is? trouble spelling? | 05:19 |
wallyworld_ | it seems you can't bridge to a wireless interface | 05:19 |
wallyworld_ | typing | 05:19 |
wallyworld_ | and when i tried doing it to my eth nic which is disconnected, it killed my connectivity | 05:20 |
thumper | heh | 05:20 |
wallyworld_ | and i don't have a wired connection that is easily accessible :-( | 05:20 |
wallyworld_ | i mean, it's 2013 after all | 05:21 |
thumper | :) | 05:23 |
* thumper signs off until the meeting | 05:23 | |
=== tasdomas_afk is now known as tasdomas | ||
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: dimitern | Bugs: 5 Critical, 76 High - https://bugs.launchpad.net/juju-core/ | ||
TheMue | dimitern: you've seen, I handled your review yesterday evening | 07:34 |
TheMue | dimitern: morning btw | 07:34 |
dimitern | TheMue: morning :) | 07:38 |
dimitern | TheMue: yeah, except one suggestion about table based tests | 07:38 |
rogpeppe | mornin' all | 07:39 |
dimitern | rogpeppe: moin | 07:39 |
dimitern | TheMue: https://codereview.appspot.com/11588043/diff/6001/environs/sync/sync_test.go#newcode85 | 07:39 |
TheMue | dimitern: yep, they haven't been table driven in the old original synctools code. this cl is intended to only move the logic with as less changes as possible. | 07:42 |
TheMue | rogpeppe: morning, reviewed your ...4045 yesterday | 07:43 |
axw | morning | 07:43 |
rogpeppe | TheMue: yup, saw that, thanks a lot! branch is landing now. | 07:43 |
rogpeppe | axw: hiya | 07:43 |
dimitern | TheMue: so don't you think converting them to a table-based test will improve the code, and reduce it a lot? | 07:44 |
dimitern | axw: hey | 07:45 |
TheMue | dimitern: maybe in another cl, but i dislike mixing two intentions in one cl | 07:46 |
TheMue | dimitern: but i'm also no real fan of table-driven tests. here you often need extra effort to follow failing tests, e.g. add the output of an index or description to see which of the tests is failing | 07:47 |
dimitern | TheMue: well, instead of like 6 tests which are almost identical, you can have a 6-element table and a single case testing all cases | 07:48 |
dimitern | TheMue: but anyway, please at least add a TODO about that | 07:48 |
TheMue | dimitern: shouldn't it be a CANDO? ;) | 07:50 |
dimitern | TheMue: well, you asked me for a review :P | 07:51 |
dimitern | TheMue: i think it should be done, not necessarily by you | 07:52 |
dimitern | TheMue: but having a TODO at the right place is helpful to remember | 07:52 |
TheMue | dimitern: will change it to TDT so you've got your peace. but I still have the opinion that they are worse readable and followable in case of a fail. the only positive part is writing less code. | 07:54 |
dimitern | TheMue: let's agree to disagree then :) | 07:55 |
TheMue | dimitern: and btw, SetUpTest and TearDownTest have to be moved inside the loop this way. instead using the mechanisms of all mature test frameworks | 07:55 |
dimitern | TheMue: when I have some time, I'll do it and show you how better it looks ;) | 07:56 |
rogpeppe | TheMue: FWIW i agree strongly with dimitern in this case | 07:57 |
rogpeppe | TheMue: with the non-table test I have to scan very carefully for subtle differences between the test cases | 07:57 |
dimitern | rogpeppe: I knew you would | 07:57 |
dimitern | rogpeppe: that block there is almost 1-1 ready for a table | 07:57 |
rogpeppe | TheMue: whereas if it was a table i could look at one single piece of code, and then look at the changing data independently | 07:58 |
davecheney | evening | 07:58 |
dimitern | davecheney: morning :) | 07:58 |
rogpeppe | TheMue: for the setup/teardown thing, you can call SetUpTest and TearDownTest within the test itself, which can work (i usually define Reset as {Teardown; Setup}) | 07:59 |
rogpeppe | davecheney: hey boss | 07:59 |
TheMue | rogpeppe: but i have to identify the test data that caused the fail. often enough found tests where i had to count tests myself instead just reading the source | 07:59 |
rogpeppe | TheMue: that's why we usually put an "about" field in the table | 07:59 |
rogpeppe | TheMue: and log it | 07:59 |
dimitern | +1 | 08:00 |
thumper | rogpeppe: that sounds terrible | 08:00 |
thumper | rogpeppe: why not just have an independent test? | 08:00 |
TheMue | thumper: +1 | 08:00 |
TheMue | :D | 08:00 |
dimitern | gents, meeting time | 08:00 |
rogpeppe | thumper: because in this case there are 110 almost-duplicated and non-trivial lines of test code | 08:01 |
rogpeppe | thumper: which could probably be reduced to a single function with a static data table | 08:01 |
rogpeppe | thumper: personally i think that's a win | 08:01 |
rogpeppe | axw: ping | 08:04 |
dimitern | axw: https://plus.google.com/hangouts/_/bf3f4cfe715017bf60521d59b0628e5873f2a1d3 | 08:04 |
thumper | axw: https://plus.google.com/hangouts/_/bf3f4cfe715017bf60521d59b0628e5873f2a1d3 | 08:04 |
axw | ? | 08:05 |
axw | brt | 08:05 |
rogpeppe | axw: team meeting | 08:05 |
axw | ah | 08:05 |
thumper | axw: yeah, but no one invited you :) | 08:05 |
davecheney | https://docs.google.com/a/canonical.com/document/d/1eeHzbtyt_4dlKQMof-vRfplMWMrClBx32k6BFI-77MI/edit# | 08:07 |
davecheney | mramm: hey there | 08:13 |
davecheney | we're having a meetiong | 08:14 |
davecheney | wanna come ? | 08:14 |
mramm | hey | 08:14 |
mramm | trying for the last bit | 08:14 |
wallyworld | thumper: got 5? | 08:57 |
thumper | wallyworld: for you, maybe even six | 08:57 |
thumper | wallyworld: hangout or irc? | 08:57 |
wallyworld | rejoin thehangout | 08:57 |
rogpeppe | i'm looking for a review of this, please: https://codereview.appspot.com/11800044/ | 08:58 |
dimitern | rogpeppe: on it | 08:58 |
rogpeppe | dimitern: thanks | 08:58 |
dimitern | rogpeppe: reviewed | 09:14 |
rogpeppe | dimitern: thanks | 09:15 |
rogpeppe | looking for a second review of https://codereview.appspot.com/11800044/ if anyone cares to take a look | 09:31 |
fwereade | rogpeppe, https://codereview.appspot.com/11800044/ reviewed, just one question | 09:42 |
rogpeppe | fwereade: no particular reason other than it doesn't seem like it's necessary for state to define every possible interface that a client might use | 09:44 |
rogpeppe | fwereade: but i'll move it the interface to state if you'd prefer | 09:44 |
fwereade | rogpeppe, I agree that it's not quite right as it stands, but I'd be happiest if we at least kept those bits all together | 09:45 |
fwereade | rogpeppe, LGTM with that then | 09:46 |
rogpeppe | fwereade: thanks | 09:46 |
jtv | Damn, I was about to approve that one. :) | 09:46 |
jtv | fwereade: you wanted a chat about instance-type selection in Azure? | 09:46 |
axw | night folks | 10:07 |
fwereade | jtv, yeah, sorry -- I was just wondering whether anything sprang to mind re possible unifications of the various don't-deploy-worthless-instances implementations | 10:11 |
fwereade | jtv, IIRC there's something in openstack and ec2, as well as azure now | 10:11 |
fwereade | jtv, (this is not a request for you to do more work, just a quick check to see if there's stuff in your brain that should maybe also be in mine) | 10:12 |
jtv | What do you mean by worthless? | 10:12 |
jtv | You mean, for setting a minimal baseline spec? | 10:12 |
fwereade | jtv, unlikely to be useful | 10:12 |
fwereade | jtv, yeah | 10:12 |
jtv | Hmm... | 10:12 |
jtv | That does look as if it ought to be the same story for every cloud, doesn't it? | 10:12 |
fwereade | jtv, it does rather | 10:13 |
jtv | It seems like a simple problem technically... Just one function that everyone could call. | 10:13 |
fwereade | jtv, and I have a feeling that at least one of them tries with the baseline and then falls back to whatever-it-can-get rather than just refusing | 10:13 |
fwereade | jtv, yeah -- I don't intend to schedule anything now, just to remember it as something to bear in mind | 10:14 |
fwereade | jtv, would you add a tech-debt bug please? and link it in the CL? | 10:14 |
jtv | OK | 10:21 |
TheMue | dimitern: the CL just landed again with table driven tests. ;) you can take a look? | 10:23 |
dimitern | TheMue: which one was it? | 10:23 |
TheMue | dimitern: https://codereview.appspot.com/11588043 | 10:24 |
m_3 | davecheney: hey man, you around? | 10:24 |
dimitern | TheMue: that's great, but my comment was not about cmd/juju/synctools_test.go, but about environs/sync/sync_test.go :) | 10:27 |
jtv | fwereade: I filed bug 1204851 — now how do I link it to the CL? | 10:27 |
_mup_ | Bug #1204851: Different providers set different baseline instance constraints <tech-debt> <juju-core:New> <https://launchpad.net/bugs/1204851> | 10:27 |
fwereade | jtv, sorry, I just mean to mention it in there somewhere | 10:27 |
dimitern | jtv: from LP's MP directly | 10:27 |
TheMue | dimitern: so next round ;) | 10:27 |
TheMue | dimitern: but why didn't mentioned you that for synctools_test? :P | 10:28 |
dimitern | TheMue: because they were less and not so obviously similar | 10:28 |
fwereade | dimitern, I don't think that's quite right, this CL doesn't actually address it -- it's just the thing that caused us to think "yeah, this should exist" | 10:28 |
dimitern | fwereade: sorry? | 10:29 |
TheMue | dimitern: they are even more similar than in sync_test | 10:30 |
fwereade | dimitern, I don't think it's very useful to have the bug linked to the CL, because the CL doesn't address the bug; but IME it *is* useful to be able to look back at a CL and see that it spawned a bug | 10:30 |
dimitern | TheMue: so good that you did them as well, no? | 10:30 |
dimitern | fwereade: ah, I don't really know, I was just answering jtv's question, I think | 10:30 |
TheMue | dimitern: please rephrase | 10:31 |
fwereade | dimitern, yeah, you were just missing a spot of context | 10:31 |
dimitern | fwereade: most likely | 10:31 |
dimitern | TheMue: i meant "it was good that you've seen the similarity there and found a way to refactor them into a table-based test" | 10:31 |
TheMue | dimitern: ah, ack | 10:32 |
jtv | Argh. Can we get another gwacl update on the build machine? | 10:33 |
dimitern | jtv: on it | 10:43 |
jtv | Thanks. I'll send the email. | 10:43 |
dimitern | jtv: thanks | 10:44 |
dimitern | jtv: oops :) | 10:44 |
dimitern | jtv: i meant "done" | 10:44 |
jtv | Then thank you too. :)) | 10:44 |
dimitern | jtv: np | 10:44 |
dimitern | mgz, rogpeppe, TheMue, fwereade: standup | 11:30 |
mgz | ta | 11:31 |
dimitern | rogpeppe: standup | 11:34 |
mgz | hm, Addresses in state/open.go currently uses st.db.Session.LiveServers()... what's that do exactly? I'd want machine ids to get detailed address info | 11:41 |
benji | gary_poster: not that I'm aware of | 12:08 |
benji | pffe | 12:09 |
dimitern | fwereade: I cannot use StateInfo in apiserver | 12:14 |
dimitern | rogpeppe: any idea for a workaround getting the addresses? | 12:39 |
rogpeppe | dimitern: why can't you use StateInfo in apiserver? | 12:39 |
dimitern | rogpeppe: it needs a bootstrapped environment | 12:40 |
rogpeppe | dimitern: isn't the environment bootstrapped by the time the api server starts? | 12:40 |
dimitern | rogpeppe: provider-config file in the bucket | 12:40 |
dimitern | rogpeppe: and moreover, it's a client api | 12:40 |
dimitern | rogpeppe: it's not supposed to be run on the server | 12:41 |
dimitern | rogpeppe: how to test it? | 12:41 |
rogpeppe | dimitern: it'll still work though, as a temporary hack, won't it? | 12:41 |
rogpeppe | dimitern: how are any of the api server calls which use an Environ tested? | 12:42 |
dimitern | rogpeppe: http://paste.ubuntu.com/5911031/ | 12:42 |
dimitern | rogpeppe: none of apiserver calls use the environ, except for the upgrader | 12:42 |
rogpeppe | dimitern: i thought deploy did | 12:42 |
dimitern | rogpeppe: no | 12:43 |
rogpeppe | dimitern: Client.ServiceDeploy definitely does | 12:44 |
dimitern | rogpeppe: let me see | 12:44 |
rogpeppe | dimitern: hmm, i *think* it should work | 12:46 |
dimitern | rogpeppe: no, it doesn't | 12:46 |
dimitern | rogpeppe: not StateInfo or anything provider specific at least | 12:46 |
dimitern | rogpeppe: and that's what I need | 12:46 |
rogpeppe | dimitern: i don't see why | 12:47 |
rogpeppe | dimitern: can't you call NewConnFromState? | 12:47 |
dimitern | rogpeppe: why do I need that? | 12:47 |
rogpeppe | dimitern: because a Conn contains an Environ | 12:48 |
dimitern | rogpeppe: NewConnFromState essentially calls environs.New(cfg) | 12:48 |
rogpeppe | dimitern: yes | 12:48 |
dimitern | rogpeppe: I'm doing this: | 12:48 |
rogpeppe | dimitern: the api server doesn't have environ credentials when it first bootstraps, so the StateAddresses call will fail until the credentials are pushed, but i don't *think* that's a problem because we won't be using StateAddresses until the first connection has been made. this is my only concern. | 12:49 |
dimitern | rogpeppe: http://paste.ubuntu.com/5911043/ | 12:49 |
dimitern | rogpeppe: and StateInfo fails with "provider-config" not found | 12:49 |
dimitern | rogpeppe: which happens at bootstrap time | 12:49 |
rogpeppe | dimitern: oh god, StateInfo is non-provider-specific now | 12:49 |
rogpeppe | dimitern: that's broken | 12:50 |
dimitern | rogpeppe: why? | 12:50 |
rogpeppe | dimitern: because the local provider doesn't store anything in the private bucket | 12:50 |
dimitern | rogpeppe: I don't see how this matters | 12:50 |
rogpeppe | dimitern: you're using StateInfo wrong | 12:51 |
rogpeppe | dimitern: you need to call env.StateInfo() | 12:51 |
dimitern | rogpeppe: I'll try | 12:51 |
rogpeppe | dimitern: environs.StateInfo is just a way for providers to implement Environ.StateInfo | 12:51 |
dimitern | rogpeppe: now only APIAddresses test fails | 12:54 |
dimitern | rogpeppe: and each time the port is different, as reported by StateInfo | 12:54 |
rogpeppe | dimitern: that's expected, i think | 12:55 |
dimitern | rogpeppe: actually I think State.APIAddresses is too lazy | 12:55 |
dimitern | rogpeppe: it just replaces the port | 12:55 |
rogpeppe | dimitern: oh yes, that's true | 12:55 |
dimitern | rogpeppe: and returns the same host as the state address | 12:55 |
dimitern | rogpeppe: I can hack it a bit to get the actual port | 12:55 |
rogpeppe | dimitern: where the dummy provider starts the API server on a random port | 12:55 |
rogpeppe | dimitern: i think we should actually store the API addresses in the state | 12:58 |
dimitern | rogpeppe: yeah, perhaps, but until then I need a workaround | 12:59 |
rogpeppe | dimitern: i'm not sure there is one | 12:59 |
rogpeppe | dimitern: how can the state know what port number has been allocated by the dummy provider? | 12:59 |
rogpeppe | dimitern: isn't it quite trivial to add a State.SetAPIAddresses method? | 13:00 |
dimitern | rogpeppe: I did it | 13:01 |
rogpeppe | dimitern: cool! | 13:01 |
dimitern | rogpeppe: using JujuConn.APIInfo() in the test | 13:01 |
dimitern | rogpeppe: instead of s.State.APIAddresses | 13:01 |
rogpeppe | dimitern: i thought the test was testing APIAddresses... | 13:01 |
dimitern | rogpeppe: it was, but not anymore | 13:01 |
dimitern | rogpeppe: it's testing what's in the api info, the same as reported back | 13:02 |
dimitern | rogpeppe: will live test it now and see | 13:02 |
rogpeppe | dimitern: i'll reserve judgement until i see the CL :-) | 13:02 |
TheMue | dimitern: so, more table driven testing | 13:21 |
=== teknico1 is now known as teknico | ||
dimitern | rogpeppe: live tests work! | 13:23 |
dimitern | TheMue: will take a look soon | 13:23 |
TheMue | dimitern: thx | 13:24 |
rogpeppe | dimitern: cool. am at lunch BTW | 13:25 |
dimitern | TheMue: reviewed | 13:33 |
dimitern | rogpeppe, fwereade: https://codereview.appspot.com/11800045/ | 13:37 |
TheMue | dimitern: thx | 13:41 |
=== hatch_ is now known as hatch | ||
dimitern | fwereade: ping | 14:20 |
fwereade | dimitern, pong | 14:21 |
dimitern | fwereade: can you take a look please? ^^ | 14:21 |
fwereade | dimitern, ah, sorry | 14:22 |
dimitern | rogpeppe: you as well, after lunch? | 14:22 |
rogpeppe | dimitern: looking | 14:23 |
dimitern | thanks guys | 14:23 |
=== tasdomas is now known as tasdomas_afk | ||
dimitern | ok, mu mouse officially acts weird lately - a single click is frequently a double click and it drops while dragging and still holding the left button... hmm need a screw driver | 14:30 |
mgz | I find drag and drop harder with a screwdriver than a mouse | 14:32 |
dimitern | lol | 14:32 |
* TheMue dcc's dimitern his BT mouse, isn't needed anymore | 14:41 | |
* dimitern bbi1h | 14:47 | |
dimitern | (or so.. dentist) | 14:51 |
fwereade | dimitern, you'll have a review waiting when yuo return | 14:54 |
fwereade | does anyone recall the justification for CanDeploy? | 14:57 |
rogpeppe | dimitern: you have a review | 15:07 |
rogpeppe | fwereade: i remember the justification for CanDeploy | 15:08 |
fwereade | rogpeppe, oh yes? | 15:09 |
rogpeppe | fwereade: it's because if we implemented AssignedMachineId(unitTag) in API (which is what the deployer previously used) it's a bit of a security leak | 15:09 |
fwereade | rogpeppe, but CanDeploy itself doesn't need to exist AFAICS | 15:09 |
rogpeppe | fwereade: because it means any machine agent can ask for the assigned id of any unit | 15:09 |
rogpeppe | fwereade: well yes, i was puzzling over why we checked AssignedMachineId in the first place | 15:10 |
fwereade | rogpeppe, what does CanDeploy do that isn't already done with UnauthorizedErrors? | 15:10 |
* rogpeppe checks | 15:11 | |
fwereade | rogpeppe, it's just a big copy of the deployer's authfunc as far as I can see | 15:11 |
fwereade | rogpeppe, it's just really well obfuscated ;p | 15:11 |
rogpeppe | fwereade: the deployer's authfunc? | 15:11 |
fwereade | rogpeppe, deployer.go:53 | 15:12 |
* rogpeppe looks in api*server*/deployer/deployer.go:53 :-) | 15:13 | |
fwereade | rogpeppe, ha, sorry | 15:13 |
rogpeppe | fwereade: no, it's different to that | 15:13 |
fwereade | rogpeppe, ah, ok, which units will be handled differently? | 15:13 |
rogpeppe | fwereade: i *think* the case it's dealing with is when we get told about a unit by the watcher but that unit is no longer assigned to this machine | 15:14 |
fwereade | rogpeppe, we'll get an unauthorized out of Life in that case | 15:15 |
rogpeppe | fwereade: oh sorry, i didn't read far enough | 15:15 |
rogpeppe | fwereade: wow, that getAuthFunc does quite a lot of work | 15:17 |
fwereade | rogpeppe, the theory is that watchers are cheap | 15:18 |
fwereade | rogpeppe, if not, getAllUnits can be tuned on its own | 15:19 |
rogpeppe | fwereade: i suspect that making a set from the results of getAllUnits is vast premature optimisation, but i take your point | 15:22 |
rogpeppe | fwereade: yes, i don't see any point in CanDeploy | 15:22 |
fwereade | rogpeppe, I think it's more about clarity of expression than runtime optimization | 15:23 |
fwereade | rogpeppe, cool, thanks | 15:23 |
rogpeppe | fwereade: personally i think it's just as clear (+ shorter + more correct) this way, but YMMV. http://paste.ubuntu.com/5911521/ | 15:26 |
fwereade | rogpeppe, I think it's maybe implemented a little awkwardly -- would be nicer to build the set from units directly -- but I can't generally ever get very enthusiastic about replacing N map lookups with N linear searches | 15:29 |
fwereade | rogpeppe, not to say it's never justified | 15:29 |
rogpeppe | fwereade: the thing is currently N=1 | 15:30 |
rogpeppe | fwereade: so we lose out by building the set | 15:30 |
fwereade | rogpeppe, I'd rather pay the fixed costs now and have something that stays sane as N grows | 15:31 |
fwereade | rogpeppe, if the fixed costs become a problem we can revisit it ;p | 15:31 |
rogpeppe | fwereade: seems like premature optimisation to me but there y'go | 15:32 |
rogpeppe | fwereade: it's never gonna be a bottleneck | 15:32 |
* rogpeppe is off for a bit of bouldering | 17:03 | |
rogpeppe | see y'all tomorrow | 17:03 |
* fwereade is off too | 17:13 | |
=== andreas__ is now known as ahasenack | ||
sidnei | oh, wow. got a panic! | 21:15 |
thumper | panic! | 21:16 |
thumper | panic! | 21:16 |
thumper | that type? | 21:16 |
sidnei | panic: runtime error: comparing uncomparable type map[string]interface {} | 21:17 |
sidnei | thumper: https://pastebin.canonical.com/95058/ | 21:17 |
thumper | sidnei: what were you doing? | 21:18 |
sidnei | thumper: juju set u1-public-gallery general.environment_name=staging -e local | 21:18 |
thumper | hmm... local provider | 21:19 |
thumper | ? | 21:19 |
thumper | can I get you to file a bug with as much info as possible? | 21:19 |
sidnei | thumper: was about to :) | 21:19 |
sidnei | thumper: https://bugs.launchpad.net/juju-core/+bug/1205112 | 21:23 |
_mup_ | Bug #1205112: panic while setting a config value <juju-core:New> <https://launchpad.net/bugs/1205112> | 21:23 |
thumper | ta | 21:23 |
sidnei | thumper: somewhat related, seems like positional arguments are not supported for juju get? | 21:24 |
thumper | sidnei: what do you mean? | 21:24 |
sidnei | $ juju get u1-public-gallery general.environment_name -e local | 21:25 |
sidnei | error: unrecognized args: ["general.environment_name"] | 21:25 |
sidnei | to get a single setting | 21:25 |
thumper | hmm... | 21:27 |
thumper | seems like a reasonable request | 21:27 |
thumper | file a bug :-) | 21:27 |
sidnei | so, deploying the services needed to run a tiny part of u1 takes 18G of disk space | 21:32 |
sidnei | fun | 21:33 |
thumper | haha | 21:34 |
thumper | wow | 21:34 |
thumper | why so much? | 21:35 |
sidnei | 16 containers | 21:35 |
sidnei | i guess none of this uses overlays | 21:35 |
sidnei | right? each container is a full base install? | 21:36 |
thumper | yeah | 21:37 |
thumper | I think there may be plans to use overlays later | 21:38 |
thumper | once we get the basics working | 21:38 |
sidnei | or ephemeral containers yeah | 21:39 |
sidnei | thumper: did you talk to any of the tsuru guys? | 21:44 |
thumper | no I haven't | 21:44 |
sidnei | they are using docker to snapshot things so that add-unit is instantaneous | 21:45 |
sidnei | not hooked up to juju, but working around it | 21:45 |
sidnei | iiuc they start a unit directly with docker stab a charm into it then snapshot it | 21:46 |
thumper | so they are using charms, but not juju? | 21:47 |
sidnei | thumper: they are using juju to provision machines in ec2/openstack but only the provisioning part, then they inject charms into those machines, iiuc | 21:48 |
sidnei | still on pyjuju because they have a branch with vpc that they depend on | 21:49 |
sidnei | im looking at getting it moved to gojuju using the api directly instead of shelling out, since it's all in go | 21:49 |
sidnei | but the lack of vpc is a blocker | 21:49 |
* thumper nods | 21:50 | |
sidnei | haven't looked into how much tied to docker they are, maybe local provider is good enough | 21:51 |
* sidnei wonders if flaviami_ is around | 21:53 | |
=== _mup__ is now known as _mup_ | ||
wallyworld | thumper: z'up | 23:09 |
thumper | hi wallyworld | 23:18 |
thumper | trying stuff | 23:18 |
wallyworld | any luck? | 23:18 |
thumper | can't seem to log into it | 23:20 |
wallyworld | :-( | 23:21 |
wallyworld | i pissed my mp still hasn't been given the 2nd +1 | 23:22 |
thumper | which one | 23:22 |
wallyworld | if you're going to hold it up, you need to be responsive to changes | 23:22 |
wallyworld | the simple streams validation | 23:22 |
thumper | no response from the other reviewer? | 23:23 |
wallyworld | nope. i mentioned it on the standup too | 23:23 |
thumper | ok, see if you can get a +1 from davecheney or jtv1 or bigjools | 23:23 |
wallyworld | and made sure my latest changes were ready for looking at | 23:23 |
thumper | failing that, I'd say land it and do a post landing review if needed | 23:23 |
* wallyworld checks to see if there's enough beer | 23:23 | |
wallyworld | the remaining stuff is more bikeshed than critical | 23:24 |
wallyworld | thumper: the latest lxc email - the suggested network config looks like the setup i used for bridging | 23:25 |
wallyworld | with no luck | 23:25 |
thumper | what was the problem with yours? | 23:28 |
wallyworld | thumper: i just hung like yours did | 23:31 |
wallyworld | lxc-attach worked | 23:31 |
wallyworld | but i had no eth cable plugged in | 23:32 |
wallyworld | not sure if it didn't like that | 23:32 |
wallyworld | i've got access to the qa lab now though | 23:33 |
wallyworld | but i need to check with mgz where i can ssh to | 23:34 |
thumper | I have an ec2 instance up that I'm playing with manually | 23:34 |
thumper | resetting the networking etc | 23:34 |
wallyworld | you would need to reboot it after changing /etc/network/interfaces, no? | 23:36 |
wallyworld | or just restart networking i guess | 23:36 |
thumper | I just restarted networking | 23:36 |
thumper | and the ssh connection stayed valid | 23:36 |
thumper | so that is good I guess | 23:36 |
thumper | wallyworld: I need to be away for a bit | 23:44 |
thumper | mind needs to mull this over | 23:44 |
thumper | also taking kids to a thing in tow | 23:44 |
thumper | n | 23:44 |
thumper | back later | 23:44 |
wallyworld | ok | 23:44 |
wallyworld | let's catch up when you get back | 23:45 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!