/srv/irclogs.ubuntu.com/2013/07/25/#juju-dev.txt

bigjoolsyo thumper01:00
thumperhi bigjools01:11
bigjoolsyou wanted me earlier?01:11
thumperyeah, perhaps chat about maas01:12
thumperbut I need to shower first01:12
thumperhmm... my magic change hasn't worked01:14
thumperI think I know why it failed...01:14
thumperbut need more investigation01:14
wallyworld_thumper: i'd like a catch up too01:22
thumperwallyworld_: give me 5 minutes to grab these log files.01:34
wallyworld_ok01:35
thumperok, ready01:46
thumperbut confused01:46
thumperwallyworld_: shall I start a hangout?01:46
wallyworld_ok01:46
thumperhttps://plus.google.com/hangouts/_/98238f3ad80fb6e5ea1e7c6e53442bef8dd68df6?hl=en01:46
bigjoolsdavecheney: "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
davecheneyyes02:01
davecheneythat would break the ice02:01
bigjools:)02:01
davecheneyopp02:01
davecheneychanging host02:01
davecheneytwo secs02:01
davecheneyaaaand, back02:03
davecheneywifi, how does it even work /02:03
davecheney?02:03
bigjoolsit uses the tears of developers02:03
davecheneyapparently not enough tears in my house today02:04
bigjoolsalso pixie dust02:04
davecheneyand unicorn vomit02:04
davecheney-- that is what someone described the plague of frozen yoghut stores that are springing up in Sydney02:04
* bigjools lives in the boonies so doesn't see that kind of nonsense02:05
bigjoolseveryone here complained when McDonalds got planning permission02:05
davecheneyisn't that just what australian's do ?02:06
bigjoolswhinge?  oh yes02:06
davecheneywe don't want airports, freeways, desalination plants, or mcdonalds' in our backyards02:07
bigjoolshey 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
bigjoolsthe locals will go nuts :)02:08
wallyworld_great02:09
bigjoolswallyworld_: and the phuqers put speed humps on that incline so I can't take you over it in the air any more02:09
wallyworld_:-(02:10
* bigjools considers going monster truck stylee02:10
davecheneyoh you kids, with your monster trucks and airborne shenanigans02:11
bigjoolsdavecheney: you made a series called 1.12 from a tag called 1.11.4?02:13
davecheneyyessir i did02:14
bigjoolshow do you plan to work now, are you pushing revisions from trunk back to 1.12 or something else?02:14
davecheneyselect revisions02:14
davecheneypossibly none02:14
bigjoolsyou plan on branching a new series from trunk at some point?02:15
davecheneythe reason for a stable tag is to give something to james page so that we can try to push that into backports for all series02:15
bigjoolsok02:15
davecheneyat the moment the devel versions are only going into aucys02:15
davecheneysaucy02:15
davecheneyffs lag02:15
davecheneythe next stable will be 1.14, and I understand that a better local provider is the headline feature for that release02:16
bigjoolsand azure02:16
davecheneybigjools: yeah, i didn't want to overstep in my email02:16
bigjoolsit's in our best interests to get Azure done ASAP02:17
davecheneyas I wasn't sure of the plan, but azure in 1.14 sounds good to me02:17
davecheneyright-o02:17
bigjoolsand I'll be doing a handover when you're all in BNE02:17
davecheneybigjools: so you know something about this sprint ?02:17
bigjoolssince Red are moving to maas pastures02:17
bigjoolsdavecheney: I know that it's planned, and that's about it :)  Trying to get mramm to get it organised etc etc02:18
davecheneyok, things are going about as smoothly as usual then02:18
davecheneyanyone know what date ?02:18
bigjoolsI heard same week as IoM sprint02:19
bigjoolsbut I don't recall from whom that came02:19
davecheneybigjools: that's arse backwards02:20
davecheneythumper: must be there02:20
davecheneyotherwise itt's a waste of time02:20
thumperI don't entirely agree with that02:20
* bigjools shrugs02:20
bigjoolsas much as I'd like to spend time with thumper02:21
* thumper deputises wallyworld_02:21
davecheneythumper: axw is your boss02:22
davecheneyhe should get to meet you in person sometime this year :)02:22
bigjoolsguffaw02:22
axwwat02:22
thumperdavecheney: you get that the right way round?02:22
axw:)02:22
thumperdavecheney: and I thought that it was mramm, not me02:22
thumperanyway...02:22
davecheneyon noes, not the not double negative02:22
davecheneythumper: you need to study the org chart more closely02:22
bigjoolstrololol02:23
thumperbigjools: https://plus.google.com/hangouts/_/98238f3ad80fb6e5ea1e7c6e53442bef8dd68df6?hl=en plz join02:23
* thumper pokes the directory02:23
bigjoolsthumper: eek, hang on02:23
bigjools2 mins02:23
thumperdavecheney: look at axw in the directory, manager mramm02:24
davecheneythumper: who do I report to ?02:25
davecheneyif it says mramm02:25
davecheneyit's wront02:25
davecheneyit's wrong02:25
thumperdavecheney: arosales02:25
davecheneyok, i guess it's correct02:25
thumper:)02:25
thumperthis is what I expected anyway02:25
* axw is not sure where he's meant to be placed02:26
axwdavecheney: did you see my comment on the warning log change, regarding transient errors?02:27
davecheneyaxw: i sort of did02:28
davecheneyi threw some code at you02:28
davecheneyi tried to fix the problem from the other end02:28
davecheneyi hoped that there would be a middle group02:28
davecheneyground02:28
axw*looks*02:28
axwsame sort of thing02:30
axwthe problem I realised later is that there may be ERROR logs that don't result in a command failure02:31
axwI 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 succeeds02:31
axwI suppose those could be changed to be not-errors though, except for the final one if it gives up retrying.02:33
davecheneymeeting agenda for tonight, https://docs.google.com/a/canonical.com/document/d/1eeHzbtyt_4dlKQMof-vRfplMWMrClBx32k6BFI-77MI/edit#03:19
jtvwallyworld_: now, about simplestreams...03:21
wallyworld_jtv: otp to bigjools, give me a sec03:23
wallyworld_jtv: you rang?03:40
jtvwallyworld_: otp to bigjools, give me aq sec03:43
bigjoolsheh03:43
wallyworld_lol03:43
jtvwallyworld_: 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_indeed04:01
bigjoolsit's a rare skill I have04:01
wallyworld_jtv: so what bit of my limited knowledge did you want me to share?04:03
jtvwallyworld_: 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_pwned04:03
jtvI'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 over04:04
* wallyworld_ unzips04:05
bigjools /everyone screams04:05
wallyworld_bigjools screams loudest04:05
* bigjools loves the family channel atmosphere04:06
jtvGood 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 it04:07
bigjoolswallyworld_: and you're going to finish it... oh wait you already did04:07
bigjools;)04:07
thumperwallyworld_: hmm... don't really want to use host network04:15
thumperwallyworld_: weird shit happens04:15
wallyworld_thumper: otp to jtv04:15
thumperwallyworld_: 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 host04:15
thumperas in, my laptop04:16
bigjoolshaha04:17
thumperbigjools: I lost those links you pasted before04:22
thumperbigjools: got them handy?04:22
bigjoolsthumper: http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/04:23
bigjoolsthumper: http://unix.stackexchange.com/questions/50201/how-to-configure-external-ip-addresses-for-lxc-guests04:23
jtvthumper: I let wallyworld_ go, so you can have him now.04:36
wallyworld_thumper: funny that your laptop shut down04:36
wallyworld_well, funny for me :-D04:36
wallyworld_thumper: well that sucks05:18
thumperwallyworld_: I'm sending an email out05:19
thumperend of day lack of progress email05:19
wallyworld_thumper: ni, i have a new peroblem05:19
thumperwhich is? trouble spelling?05:19
wallyworld_it seems you can't bridge to a wireless interface05:19
wallyworld_typing05:19
wallyworld_and when i tried doing it to my eth nic which is disconnected, it killed my connectivity05:20
thumperheh05:20
wallyworld_and i don't have a wired connection that is easily accessible :-(05:20
wallyworld_i mean, it's 2013 after all05:21
thumper:)05:23
* thumper signs off until the meeting05: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/
TheMuedimitern: you've seen, I handled your review yesterday evening07:34
TheMuedimitern: morning btw07:34
dimiternTheMue: morning :)07:38
dimiternTheMue: yeah, except one suggestion about table based tests07:38
rogpeppemornin' all07:39
dimiternrogpeppe: moin07:39
dimiternTheMue: https://codereview.appspot.com/11588043/diff/6001/environs/sync/sync_test.go#newcode8507:39
TheMuedimitern: 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
TheMuerogpeppe: morning, reviewed your ...4045 yesterday07:43
axwmorning07:43
rogpeppeTheMue: yup, saw that, thanks a lot! branch is landing now.07:43
rogpeppeaxw: hiya07:43
dimiternTheMue: so don't you think converting them to a table-based test will improve the code, and reduce it a lot?07:44
dimiternaxw: hey07:45
TheMuedimitern: maybe in another cl, but i dislike mixing two intentions in one cl07:46
TheMuedimitern: 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 failing07:47
dimiternTheMue: well, instead of like 6 tests which are almost identical, you can have a 6-element table and a single case testing all cases07:48
dimiternTheMue: but anyway, please at least add a TODO about that07:48
TheMuedimitern: shouldn't it be a CANDO? ;)07:50
dimiternTheMue: well, you asked me for a review :P07:51
dimiternTheMue: i think it should be done, not necessarily by you07:52
dimiternTheMue: but having a TODO at the right place is helpful to remember07:52
TheMuedimitern: 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
dimiternTheMue: let's agree to disagree then :)07:55
TheMuedimitern: and btw, SetUpTest and TearDownTest have to be moved inside the loop this way. instead using the mechanisms of all mature test frameworks07:55
dimiternTheMue: when I have some time, I'll do it and show you how better it looks ;)07:56
rogpeppeTheMue: FWIW i agree strongly with dimitern in this case07:57
rogpeppeTheMue: with the non-table test I have to scan very carefully for subtle differences between the test cases07:57
dimiternrogpeppe: I knew you would07:57
dimiternrogpeppe: that block there is almost 1-1 ready for a table07:57
rogpeppeTheMue: whereas if it was a table i could look at one single piece of code, and then look at the changing data independently07:58
davecheneyevening07:58
dimiterndavecheney: morning :)07:58
rogpeppeTheMue: 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
rogpeppedavecheney: hey boss07:59
TheMuerogpeppe: 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 source07:59
rogpeppeTheMue: that's why we usually put an "about" field in the table07:59
rogpeppeTheMue: and log it07:59
dimitern+108:00
thumperrogpeppe: that sounds terrible08:00
thumperrogpeppe: why not just have an independent test?08:00
TheMuethumper: +108:00
TheMue:D08:00
dimiterngents, meeting time08:00
rogpeppethumper: because in this case there are 110 almost-duplicated and non-trivial lines of test code08:01
rogpeppethumper: which could probably be reduced to a single function with a static data table08:01
rogpeppethumper: personally i think that's a win08:01
rogpeppeaxw: ping08:04
dimiternaxw: https://plus.google.com/hangouts/_/bf3f4cfe715017bf60521d59b0628e5873f2a1d308:04
thumperaxw: https://plus.google.com/hangouts/_/bf3f4cfe715017bf60521d59b0628e5873f2a1d308:04
axw?08:05
axwbrt08:05
rogpeppeaxw: team meeting08:05
axwah08:05
thumperaxw: yeah, but no one invited you :)08:05
davecheneyhttps://docs.google.com/a/canonical.com/document/d/1eeHzbtyt_4dlKQMof-vRfplMWMrClBx32k6BFI-77MI/edit#08:07
davecheneymramm: hey there08:13
davecheneywe're having a meetiong08:14
davecheneywanna come ?08:14
mrammhey08:14
mrammtrying for the last bit08:14
wallyworldthumper: got 5?08:57
thumperwallyworld: for you, maybe even six08:57
thumperwallyworld: hangout or irc?08:57
wallyworldrejoin thehangout08:57
rogpeppei'm looking for a review of this, please: https://codereview.appspot.com/11800044/08:58
dimiternrogpeppe: on it08:58
rogpeppedimitern: thanks08:58
dimiternrogpeppe: reviewed09:14
rogpeppedimitern: thanks09:15
rogpeppelooking for a second review of https://codereview.appspot.com/11800044/ if anyone cares to take a look09:31
fwereaderogpeppe, https://codereview.appspot.com/11800044/ reviewed, just one question09:42
rogpeppefwereade: no particular reason other than it doesn't seem like it's necessary for state to define every possible interface that a client might use09:44
rogpeppefwereade: but i'll move it the interface to state if you'd prefer09:44
fwereaderogpeppe, I agree that it's not quite right as it stands, but I'd be happiest if we at least kept those bits all together09:45
fwereaderogpeppe, LGTM with that then09:46
rogpeppefwereade: thanks09:46
jtvDamn, I was about to approve that one.  :)09:46
jtvfwereade: you wanted a chat about instance-type selection in Azure?09:46
axwnight folks10:07
fwereadejtv, yeah, sorry -- I was just wondering whether anything sprang to mind re possible unifications of the various don't-deploy-worthless-instances implementations10:11
fwereadejtv, IIRC there's something in openstack and ec2, as well as azure now10:11
fwereadejtv, (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
jtvWhat do you mean by worthless?10:12
jtvYou mean, for setting a minimal baseline spec?10:12
fwereadejtv, unlikely to be useful10:12
fwereadejtv, yeah10:12
jtvHmm...10:12
jtvThat does look as if it ought to be the same story for every cloud, doesn't it?10:12
fwereadejtv, it does rather10:13
jtvIt seems like a simple problem technically...  Just one function that everyone could call.10:13
fwereadejtv, 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 refusing10:13
fwereadejtv, yeah -- I don't intend to schedule anything now, just to remember it as something to bear in mind10:14
fwereadejtv, would you add a tech-debt bug please? and link it in the CL?10:14
jtvOK10:21
TheMuedimitern: the CL just landed again with table driven tests. ;) you can take a look?10:23
dimiternTheMue: which one was it?10:23
TheMuedimitern: https://codereview.appspot.com/1158804310:24
m_3davecheney: hey man, you around?10:24
dimiternTheMue: that's great, but my comment was not about cmd/juju/synctools_test.go, but about environs/sync/sync_test.go :)10:27
jtvfwereade: 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
fwereadejtv, sorry, I just mean to mention it in there somewhere10:27
dimiternjtv: from LP's MP directly10:27
TheMuedimitern: so next round ;)10:27
TheMuedimitern: but why didn't mentioned you that for synctools_test? :P10:28
dimiternTheMue: because they were less and not so obviously similar10:28
fwereadedimitern, 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
dimiternfwereade: sorry?10:29
TheMuedimitern: they are even more similar than in sync_test10:30
fwereadedimitern, 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 bug10:30
dimiternTheMue: so good that you did them as well, no?10:30
dimiternfwereade: ah, I don't really know, I was just answering jtv's question, I think10:30
TheMuedimitern: please rephrase10:31
fwereadedimitern, yeah, you were just missing a spot of context10:31
dimiternfwereade: most likely10:31
dimiternTheMue: 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
TheMuedimitern: ah, ack10:32
jtvArgh.  Can we get another gwacl update on the build machine?10:33
dimiternjtv: on it10:43
jtvThanks.  I'll send the email.10:43
dimiternjtv: thanks10:44
dimiternjtv: oops :)10:44
dimiternjtv: i meant "done"10:44
jtvThen thank you too.  :))10:44
dimiternjtv: np10:44
dimiternmgz, rogpeppe, TheMue, fwereade: standup11:30
mgzta11:31
dimiternrogpeppe: standup11:34
mgzhm, 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 info11:41
benjigary_poster: not that I'm aware of12:08
benjipffe12:09
dimiternfwereade: I cannot use StateInfo in apiserver12:14
dimiternrogpeppe: any idea for a workaround getting the addresses?12:39
rogpeppedimitern: why can't you use StateInfo in apiserver?12:39
dimiternrogpeppe: it needs a bootstrapped environment12:40
rogpeppedimitern: isn't the environment bootstrapped by the time the api server starts?12:40
dimiternrogpeppe: provider-config file in the bucket12:40
dimiternrogpeppe: and moreover, it's a client api12:40
dimiternrogpeppe: it's not supposed to be run on the server12:41
dimiternrogpeppe: how to test it?12:41
rogpeppedimitern: it'll still work though, as a temporary hack, won't it?12:41
rogpeppedimitern: how are any of the api server calls which use an Environ tested?12:42
dimiternrogpeppe: http://paste.ubuntu.com/5911031/12:42
dimiternrogpeppe: none of apiserver calls use the environ, except for the upgrader12:42
rogpeppedimitern: i thought deploy did12:42
dimiternrogpeppe: no12:43
rogpeppedimitern: Client.ServiceDeploy definitely does12:44
dimiternrogpeppe: let me see12:44
rogpeppedimitern: hmm, i *think* it should work12:46
dimiternrogpeppe: no, it doesn't12:46
dimiternrogpeppe: not StateInfo or anything provider specific at least12:46
dimiternrogpeppe: and that's what I need12:46
rogpeppedimitern: i don't see why12:47
rogpeppedimitern: can't you call NewConnFromState?12:47
dimiternrogpeppe: why do I need that?12:47
rogpeppedimitern: because a Conn contains an Environ12:48
dimiternrogpeppe: NewConnFromState essentially calls environs.New(cfg)12:48
rogpeppedimitern: yes12:48
dimiternrogpeppe: I'm doing this:12:48
rogpeppedimitern: 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
dimiternrogpeppe: http://paste.ubuntu.com/5911043/12:49
dimiternrogpeppe: and StateInfo fails with "provider-config" not found12:49
dimiternrogpeppe: which happens at bootstrap time12:49
rogpeppedimitern: oh god, StateInfo is non-provider-specific now12:49
rogpeppedimitern: that's broken12:50
dimiternrogpeppe: why?12:50
rogpeppedimitern: because the local provider doesn't store anything in the private bucket12:50
dimiternrogpeppe: I don't see how this matters12:50
rogpeppedimitern: you're using StateInfo wrong12:51
rogpeppedimitern: you need to call env.StateInfo()12:51
dimiternrogpeppe: I'll try12:51
rogpeppedimitern: environs.StateInfo is just a way for providers to implement Environ.StateInfo12:51
dimiternrogpeppe: now only APIAddresses test fails12:54
dimiternrogpeppe: and each time the port is different, as reported by StateInfo12:54
rogpeppedimitern: that's expected, i think12:55
dimiternrogpeppe: actually I think State.APIAddresses is too lazy12:55
dimiternrogpeppe: it just replaces the port12:55
rogpeppedimitern: oh yes, that's true12:55
dimiternrogpeppe: and returns the same host as the state address12:55
dimiternrogpeppe: I can hack it a bit to get the actual port12:55
rogpeppedimitern: where the dummy provider starts the API server on a random port12:55
rogpeppedimitern: i think we should actually store the API addresses in the state12:58
dimiternrogpeppe: yeah, perhaps, but until then I need a workaround12:59
rogpeppedimitern: i'm not sure there is one12:59
rogpeppedimitern: how can the state know what port number has been allocated by the dummy provider?12:59
rogpeppedimitern: isn't it quite trivial to add a State.SetAPIAddresses method?13:00
dimiternrogpeppe: I did it13:01
rogpeppedimitern: cool!13:01
dimiternrogpeppe: using JujuConn.APIInfo() in the test13:01
dimiternrogpeppe: instead of s.State.APIAddresses13:01
rogpeppedimitern: i thought the test was testing APIAddresses...13:01
dimiternrogpeppe: it was, but not anymore13:01
dimiternrogpeppe: it's testing what's in the api info, the same as reported back13:02
dimiternrogpeppe: will live test it now and see13:02
rogpeppedimitern: i'll reserve judgement until i see the CL :-)13:02
TheMuedimitern: so, more table driven testing13:21
=== teknico1 is now known as teknico
dimiternrogpeppe: live tests work!13:23
dimiternTheMue: will take a look soon13:23
TheMuedimitern: thx13:24
rogpeppedimitern: cool. am at lunch BTW13:25
dimiternTheMue: reviewed13:33
dimiternrogpeppe, fwereade: https://codereview.appspot.com/11800045/13:37
TheMuedimitern: thx13:41
=== hatch_ is now known as hatch
dimiternfwereade: ping14:20
fwereadedimitern, pong14:21
dimiternfwereade: can you take a look please? ^^14:21
fwereadedimitern, ah, sorry14:22
dimiternrogpeppe: you as well, after lunch?14:22
rogpeppedimitern: looking14:23
dimiternthanks guys14:23
=== tasdomas is now known as tasdomas_afk
dimiternok, 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 driver14:30
mgzI find drag and drop harder with a screwdriver than a mouse14:32
dimiternlol14:32
* TheMue dcc's dimitern his BT mouse, isn't needed anymore14:41
* dimitern bbi1h14:47
dimitern(or so.. dentist)14:51
fwereadedimitern, you'll have a review waiting when yuo return14:54
fwereadedoes anyone recall the justification for CanDeploy?14:57
rogpeppedimitern: you have a review15:07
rogpeppefwereade: i remember the justification for CanDeploy15:08
fwereaderogpeppe, oh yes?15:09
rogpeppefwereade: it's because if we implemented AssignedMachineId(unitTag) in API (which is what the deployer previously used) it's a bit of a security leak15:09
fwereaderogpeppe, but CanDeploy itself doesn't need to exist AFAICS15:09
rogpeppefwereade: because it means any machine agent can ask for the assigned id of any unit15:09
rogpeppefwereade: well yes, i was puzzling over why we checked AssignedMachineId in the first place15:10
fwereaderogpeppe, what does CanDeploy do that isn't already done with UnauthorizedErrors?15:10
* rogpeppe checks15:11
fwereaderogpeppe, it's just a big copy of the deployer's authfunc as far as I can see15:11
fwereaderogpeppe, it's just really well obfuscated ;p15:11
rogpeppefwereade: the deployer's authfunc?15:11
fwereaderogpeppe, deployer.go:5315:12
* rogpeppe looks in api*server*/deployer/deployer.go:53 :-)15:13
fwereaderogpeppe, ha, sorry15:13
rogpeppefwereade: no, it's different to that15:13
fwereaderogpeppe, ah, ok, which units will be handled differently?15:13
rogpeppefwereade: 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 machine15:14
fwereaderogpeppe, we'll get an unauthorized out of Life in that case15:15
rogpeppefwereade: oh sorry, i didn't read far enough15:15
rogpeppefwereade: wow, that getAuthFunc does quite a lot of work15:17
fwereaderogpeppe, the theory is that watchers are cheap15:18
fwereaderogpeppe, if not, getAllUnits can be tuned on its own15:19
rogpeppefwereade: i suspect that making a set from the results of getAllUnits is vast premature optimisation, but i take your point15:22
rogpeppefwereade: yes, i don't see any point in CanDeploy15:22
fwereaderogpeppe, I think it's more about clarity of expression than runtime optimization15:23
fwereaderogpeppe, cool, thanks15:23
rogpeppefwereade: personally i think it's just as clear (+ shorter + more correct) this way, but YMMV. http://paste.ubuntu.com/5911521/15:26
fwereaderogpeppe, 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 searches15:29
fwereaderogpeppe, not to say it's never justified15:29
rogpeppefwereade: the thing is currently N=115:30
rogpeppefwereade: so we lose out by building the set15:30
fwereaderogpeppe, I'd rather pay the fixed costs now and have something that stays sane as N grows15:31
fwereaderogpeppe, if the fixed costs become a problem we can revisit it ;p15:31
rogpeppefwereade: seems like premature optimisation to me but there y'go15:32
rogpeppefwereade: it's never gonna be a bottleneck15:32
* rogpeppe is off for a bit of bouldering17:03
rogpeppesee y'all tomorrow17:03
* fwereade is off too17:13
=== andreas__ is now known as ahasenack
sidneioh, wow. got a panic!21:15
thumperpanic!21:16
thumperpanic!21:16
thumperthat type?21:16
sidneipanic: runtime error: comparing uncomparable type map[string]interface {}21:17
sidneithumper: https://pastebin.canonical.com/95058/21:17
thumpersidnei: what were you doing?21:18
sidneithumper: juju set u1-public-gallery general.environment_name=staging -e local21:18
thumperhmm... local provider21:19
thumper?21:19
thumpercan I get you to file a bug with as much info as possible?21:19
sidneithumper: was about to :)21:19
sidneithumper: https://bugs.launchpad.net/juju-core/+bug/120511221:23
_mup_Bug #1205112: panic while setting a config value <juju-core:New> <https://launchpad.net/bugs/1205112>21:23
thumperta21:23
sidneithumper: somewhat related, seems like positional arguments are not supported for juju get?21:24
thumpersidnei: what do you mean?21:24
sidnei$ juju get u1-public-gallery general.environment_name -e local21:25
sidneierror: unrecognized args: ["general.environment_name"]21:25
sidneito get a single setting21:25
thumperhmm...21:27
thumperseems like a reasonable request21:27
thumperfile a bug :-)21:27
sidneiso, deploying the services needed to run a tiny part of u1 takes 18G of disk space21:32
sidneifun21:33
thumperhaha21:34
thumperwow21:34
thumperwhy so much?21:35
sidnei16 containers21:35
sidneii guess none of this uses overlays21:35
sidneiright? each container is a full base install?21:36
thumperyeah21:37
thumperI think there may be plans to use overlays later21:38
thumperonce we get the basics working21:38
sidneior ephemeral containers yeah21:39
sidneithumper: did you talk to any of the tsuru guys?21:44
thumperno I haven't21:44
sidneithey are using docker to snapshot things so that add-unit is instantaneous21:45
sidneinot hooked up to juju, but working around it21:45
sidneiiiuc they start a unit directly with docker stab a charm into it then snapshot it21:46
thumperso they are using charms, but not juju?21:47
sidneithumper: they are using juju to provision machines in ec2/openstack but only the provisioning part, then they inject charms into those machines, iiuc21:48
sidneistill on pyjuju because they have a branch with vpc that they depend on21:49
sidneiim looking at getting it moved to gojuju using the api directly instead of shelling out, since it's all in go21:49
sidneibut the lack of vpc is a blocker21:49
* thumper nods21:50
sidneihaven't looked into how much tied to docker they are, maybe local provider is good enough21:51
* sidnei wonders if flaviami_ is around21:53
=== _mup__ is now known as _mup_
wallyworldthumper: z'up23:09
thumperhi wallyworld23:18
thumpertrying stuff23:18
wallyworldany luck?23:18
thumpercan't seem to log into it23:20
wallyworld:-(23:21
wallyworldi pissed my mp still hasn't been given the 2nd +123:22
thumperwhich one23:22
wallyworldif you're going to hold it up, you need to be responsive to changes23:22
wallyworldthe simple streams validation23:22
thumperno response from the other reviewer?23:23
wallyworldnope. i mentioned it on the standup too23:23
thumperok, see if you can get a +1 from davecheney or jtv1 or bigjools23:23
wallyworldand made sure my latest changes were ready for looking at23:23
thumperfailing that, I'd say land it and do a post landing review if needed23:23
* wallyworld checks to see if there's enough beer23:23
wallyworldthe remaining stuff is more bikeshed than critical23:24
wallyworldthumper: the latest lxc email - the suggested network config looks like the setup i used for bridging23:25
wallyworldwith no luck23:25
thumperwhat was the problem with yours?23:28
wallyworldthumper: i just hung like yours did23:31
wallyworldlxc-attach worked23:31
wallyworldbut i had no eth cable plugged in23:32
wallyworldnot sure if it didn't like that23:32
wallyworldi've got access to the qa lab now though23:33
wallyworldbut i need to check with mgz where i can ssh to23:34
thumperI have an ec2 instance up that I'm playing with manually23:34
thumperresetting the networking etc23:34
wallyworldyou would need to reboot it after changing /etc/network/interfaces, no?23:36
wallyworldor just restart networking i guess23:36
thumperI just restarted networking23:36
thumperand the ssh connection stayed valid23:36
thumperso that is good I guess23:36
thumperwallyworld: I need to be away for a bit23:44
thumpermind needs to mull this over23:44
thumperalso taking kids to a thing in tow23:44
thumpern23:44
thumperback later23:44
wallyworldok23:44
wallyworldlet's catch up when you get back23:45

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