/srv/irclogs.ubuntu.com/2013/09/02/#juju-dev.txt

bigjoolsdavecheney: seems like the azure provider is now basically blocked on a cloudinit sru to precise...00:17
davecheneybigjools: ok, i'm making a 1.14 branch00:18
davecheneywe can backport fixes in there to get it working once cloudinit is done00:18
axwdavecheney: https://bugs.launchpad.net/juju-core/+bug/1216770 is merged, I just forgot to update the bug01:04
axwit is in 1.13.301:04
davecheneyaxw: no worries01:15
davecheneyhttps://docs.google.com/a/canonical.com/document/d/1aEvcmxSJaj1i9zNjGy48yKF-SPlTFwW-NiKfoO_Ygo4/edit#heading=h.h7wry0fbg19701:15
davecheney^ hint hint01:15
axwdavecheney: updated01:17
axwfeel free to edit01:17
wallyworldaxw: hi, i had a test failure locally with the manual provisioning stuff - detectSeriesAndHardwareCharacteristics() because for some reason the bash that runs doesn't like my .shinit. i think we should ensure the bash that runs ignores all such files01:19
axwwallyworld: doh, thanks. I'll get onto it01:19
wallyworldnp :-)01:19
davecheneyaxw: cool01:20
davecheneythe builders are backed up01:20
davecheneyi won't get the build til after lunch01:20
davecheneybut we've tagged 1.13.3 now01:20
davecheneyso feel free to wreck the build01:20
wallyworldaxw: i had a quick look - using --noprofile or --norc didn't work; there must be another option to ensure .shinit is ignored. .shinit is more a sh thing i think01:20
axwwallyworld: k, thanks01:21
axwwallyworld: do you mean the unit tests were failing? or you were playing with it?01:21
axwah the sshscript thing I guess...01:22
wallyworldaxw: test failure. i ran the tests cause a merged trunk and there were api changes i needed to port into the new manual provisioning code.01:22
wallyworldi have a .shinit, the bit that failed was a mkdir, go figure01:22
hazmatdavecheney, re slowness on cli.. how long does bootstrap take for you ? i'm consistently getting 2m plus01:24
davecheneylucky(~) % juju bootstrap -e us-west-1 -v01:24
davecheney2013-09-02 01:24:23 INFO juju.provider.ec2 ec2.go:209 preparing environment "us-west-1"01:24
davecheney2013-09-02 01:24:23 INFO juju.provider.ec2 ec2.go:187 opening environment "us-west-1"01:24
davecheney2013-09-02 01:24:23 INFO juju.environs.tools tools.go:81 filtering tools by released version01:25
davecheney2013-09-02 01:24:23 INFO juju.environs.tools tools.go:28 reading tools with major version 101:25
davecheney2013-09-02 01:24:23 INFO juju.environs.tools tools.go:36 filtering tools by series: precise01:25
davecheney2013-09-02 01:24:28 INFO juju.environs.tools tools.go:43 falling back to public bucket01:25
davecheney2013-09-02 01:24:29 INFO juju.environs.tools tools.go:92 picked newest version: 1.12.001:25
davecheney2013-09-02 01:24:38 INFO juju.environs.boostrap bootstrap.go:56 bootstrapping environment "us-west-1"01:25
davecheney2013-09-02 01:24:38 INFO juju.environs.tools tools.go:28 reading tools with major version 101:25
davecheney2013-09-02 01:24:38 INFO juju.environs.tools tools.go:33 filtering tools by version: 1.12.001:25
davecheney2013-09-02 01:24:38 INFO juju.environs.tools tools.go:36 filtering tools by series: precise01:25
davecheney2013-09-02 01:24:39 INFO juju.environs.tools tools.go:43 falling back to public bucket01:25
davecheney2013-09-02 01:24:48 INFO juju.provider.ec2 ec2.go:426 started instance "i-24a95f7e"01:25
davecheney2013-09-02 01:24:50 INFO juju supercommand.go:284 command finished01:25
davecheneythat is from australia01:25
davecheneyi suspect the growing number of tools we have in the public bucket is not helping01:25
hazmatwow01:25
hazmatthats a huge delta from what i see01:26
davecheney2013-09-02 01:14:29 DEBUG juju state.go:159 waiting for DNS name(s) of state server instances [i-9b6cfffc]01:26
hazmatdavecheney, yeah.. it would be nice to just have a latest pointer01:26
davecheney2013-09-02 01:14:40 INFO juju.state open.go:68 opening state; mongo addresses: ["ec2-54-226-75-153.compute-1.amazonaws.com:37017"]; entity ""01:26
davecheneyi have no idea what is happening in those 10 seconds01:26
davecheneyoh, sorry01:26
hazmatso that's roughly 16s vs 25s01:26
davecheneythat is getting the dns name from the provider01:26
hazmatyeah.. instance id -> ip addr01:26
davecheneyit's ec2 being slow01:27
davecheneywhat can I say01:27
hazmatits still 75% of the runtime cost that can be saved with some trivial caching01:27
hazmatper the bug title01:27
davecheneylucky(~) % juju status -e us-west-1 -v01:28
davecheney2013-09-02 01:28:26 INFO juju.provider.ec2 ec2.go:187 opening environment "us-west-1"01:28
davecheney2013-09-02 01:28:29 INFO juju.state open.go:68 opening state; mongo addresses: ["ec2-54-219-20-209.us-west-1.compute.amazonaws.com:37017"]; entity ""01:28
davecheney2013-09-02 01:28:30 INFO juju.state open.go:106 connection established01:28
davecheneyenvironment: us-west-101:28
davecheneymachines:01:28
davecheney  "0":01:28
davecheney    agent-state: started01:28
hazmatpastebin pls01:29
davecheney    agent-version: 1.12.001:29
davecheney    dns-name: ec2-54-219-20-209.us-west-1.compute.amazonaws.com01:29
davecheney    instance-id: i-24a95f7e01:29
davecheney    instance-state: running01:29
davecheney    series: precise01:29
davecheney    hardware: arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M01:29
davecheneyservices: {}01:29
davecheney2013-09-02 01:28:33 INFO juju supercommand.go:284 command finished01:29
davecheneyyou'l live :)01:29
hazmatdavecheney, i'm using us-west-2 incidentally01:29
hazmatus-west-1 has higher pricing01:29
* davecheney tried us-west-201:29
hazmatdavecheney,  http://pastebin.ubuntu.com/6053452/01:30
hazmat36s compared to 17s01:30
davecheneyhazmat: it's slow in us-west-2 'cos there are no tools01:30
hazmatdavecheney, there's tools in us-west-1?01:30
hazmati thought only in us-east01:31
davecheneyi have no idea why01:31
davecheneytools are no region specific in ec201:31
davecheneythe automatic fallback to sync-tool is very confusing if you don't pass -v01:31
davecheneyhazmat: http://paste.ubuntu.com/6053456/ us-west-101:31
davecheneyus-west-2 is taking much longer01:32
davecheneyi can only assuming it's doing sync tools01:32
hazmatgenerally with fios/fiber to the home, i have pretty good bandwidth & latency.. in terms of ruling out client connectivity.01:32
hazmatdavecheney, there's some sleep and retry logic in the ec2/s3 code for eventual consistency as well01:33
davecheneyhazmat: if I can bootstrap in 25 seconds from australia01:33
davecheneyisn't not a latency problem :)01:34
hazmatwow01:34
hazmat2m9 vs 25s01:34
davecheneyit's sync tools01:34
davecheneyhazmat: still going ...01:35
davecheneyus-west-201:35
hazmatdavecheney, plus it looks up tools multiple times..01:35
hazmatin bootstrap01:35
hazmatone to find/upload them, one to launch an instance01:35
hazmatwhich gets duplicated by the provisioning worker for every launch01:36
davecheneyhazmat: http://paste.ubuntu.com/6053480/01:40
davecheneyends with a Fffffuuuuu01:40
hazmat2m4s01:40
davecheney'cos of sync tools01:40
davecheneyworkaround: don't use us-east-201:40
davecheneywest-201:41
hazmatthat's interesting i don't see the tool sync01:41
davecheneygotta use -v01:41
davecheneyalways -v01:41
davecheneyuse -v for everything01:41
davecheneygot a question01:41
davecheney-v01:41
davecheneyneed answers01:41
davecheney-v01:41
hazmati've been using --debug01:41
hazmatwhich seems like it should imply -v01:41
davecheneysure01:41
davecheneyi use-v01:41
davecheneydid i mention i use -v01:41
davecheney-v is great01:41
davecheneyhttp://paste.ubuntu.com/6053487/01:42
davecheneywut01:42
davecheneyit either is, or is not bootstrapped01:42
hazmatdavecheney, i know that bug01:42
hazmatdavecheney, its when you have a bucket but no environment, ie. shutdown from the console01:43
hazmatdavecheney, the only resolution was to destroy the environment again01:43
davecheneywhoo01:43
hazmator manually empty the bucket..01:44
davecheneyhazmat: http://paste.ubuntu.com/6053492/01:44
davecheney25seconds01:44
hazmatdavecheney, for comparison http://paste.ubuntu.com/6053494/01:46
wallyworldaxw: i looked at the simplestreams branch - i marked it as lgtm so long as a few issues are fixed. let me know if you have any questions. as soon as it lands, i need to munge simplestreams format a bit01:46
axwwallyworld: okey dokey, thanks01:46
davecheney2013-09-01 14:47:35 INFO juju.environs.tools tools.go:93 picked newest version: 1.13.201:47
davecheney2013-09-01 14:48:04 DEBUG juju.provider.ec2 storage.go:52 Creating bucket01:47
davecheneywhat the heck is it doing for 30 seconds there01:47
davecheney2013-09-01 14:48:35 DEBUG juju.provider.ec2 ec2.go:394 ec2 user data; 12541 bytes01:48
davecheney2013-09-01 14:48:56 DEBUG juju.provider.ec2 ec2.go:397 ec2 groups setup01:48
davecheneyhazmat, whatever ec2 enpoint you are talking to01:48
davecheneyit's screwed01:48
hazmatdavecheney, that's us-east01:48
hazmatdavecheney, its the same time for us-west01:48
davecheneysure, but bgp says we don't see the same thing01:48
hazmatyeah01:49
axwwallyworld: where did you try adding --noprofile/--norc?01:49
wallyworldaxw: in the call which invoked bash01:49
wallyworldmd := exec.Command("ssh", sshHost, "bash")01:49
wallyworldbut i may have not done it right, i was in a hurry01:50
axwok, that wouldn't work - bash doesn't actually get executed there01:50
davecheneyaxw, maybe need -t01:50
axwdavecheney: ?01:51
axwssh -t?01:51
davecheneyotherwise bash won't have a pty01:51
axwdavecheney: yeah.. don't need it here. not actually running a real ssh in the tests01:52
davecheneykk01:52
* davecheney stops 'helping'01:52
axw;)01:52
axwwallyworld: I'm not sure how to reproduce the problem. Can you please try "var sshscript = `#!/bin/bash --noprofile" in detection_test.go, when you have a minute02:00
wallyworldaxw: sure, i'll just park some stuff and try it02:00
wallyworldaxw: no good :-(. you could maybe reproduce it by having a ~/.shinit with a non zero exit code?02:03
axwwallyworld: tried that..02:03
axwhrm02:03
wallyworldhmmm. was you .shinit run?02:03
axwprobably not :)02:04
axwit is if I run "sh"02:04
wallyworldso i'm confused02:04
axwI guess your bash profile is running something through sh?02:04
wallyworldah, i think i might invoke it02:04
wallyworldelsewhere02:04
axwI'm sure we have other tests which do this though02:05
axwso I don't know why this one in particular would break02:05
wallyworldi have it in my .bashrc02:05
wallyworldBASH_ENV=$HOME/.shinit02:05
wallyworldbut .bashrc should not be run, right?02:06
thumperwallyworld: what are you doing that is so special?02:06
wallyworldthumper: the line that fails is a mkdir -p foobar02:06
thumperaxw: I suggest we just blame wallyworld and make him fix it02:06
axwhehe02:06
thumperwallyworld: what is in your .shinit?02:07
wallyworldexcept we shouldn't be running profile scripts when doing the ssh :-)02:07
axwwallyworld: so you could change --noprofile to --norc, but it's still a bit weird02:07
* thumper reads that quickly as "shit init"02:07
* axw snorts02:07
axwI did the same :)02:07
thumperheh02:07
wallyworldthumper: i have a bunch of exports, and a line to make a tmp dir cause i have /tmp mapped to ram. the line which errors in the tests is mkdir -p /var/tmp/mailman/logs02:08
wallyworldthe test error is02:08
thumperwallyworld: why does it fail?02:08
wallyworld...     "error detecting hardware characteristics: exit status 126 (/home/ian/.shinit: line 49: /bin/mkdir: Argument list too long\n" +02:08
wallyworld...     "/tmp/gocheck-8674665223082153551/3/ssh: line 14: /tmp/gocheck-8674665223082153551/3/ssh: Argument list too long\n" +02:09
wallyworld...     "/tmp/gocheck-8674665223082153551/3/ssh: line 14: /tmp/gocheck-8674665223082153551/3/ssh: Success)"02:09
thumperwallyworld: why have it in .shinit instead of .bashrc?02:09
wallyworldthumper: i call .shinit from my bashrc02:09
thumperwhy?02:09
wallyworldnot sure now. there was a reason at some point02:09
thumperif you renamed it to something else, what fails?02:09
wallyworldif i rename it, the tests pass02:10
wallyworldbut then it is not run02:10
thumper\o/02:10
wallyworldwell, there is still the roblem that my .bashrc is being run02:10
wallyworldin order to call .shinit02:10
wallyworldand we shouldn't be doing that02:11
thumperwell, no02:11
thumper/bin/sh loads .shinit02:11
axwwallyworld: can you try replacing --noprofile with --norc?02:11
wallyworldsure02:11
wallyworlddamn. no good02:12
axwwtf02:13
wallyworldyeah, makes no sense to me02:13
wallyworldi'll just rename the shinit02:15
axwwallyworld: re "Please make this a big number so that we can ensure the fix actually works"02:39
axwthat test is not testing the fix at all02:39
axwit's testing that standard JSON unmarshalling behaviour takes palce02:40
axwplace*02:40
wallyworldah, ok. i thought that the new unmarshall/marshall stuff was being invoked all the time02:40
axwif you unmarshal a number into an interface{}, you get a float6402:40
axwno, only if you go through ParseCloudMetadata02:40
axwbecause only then do you have a template value02:40
wallyworldok, no problem. thanks for clarifying02:40
axwnps, I'll add a comment in the review too in case anyone else cares02:41
wallyworlddid i make sense when i said i just wanted the marshall/unmarshall code moved out?02:41
axwyes02:41
axwI've kept "itemCollection" (the clone of ItemCollection) and the ItemCollection methods in json.go02:41
axweverything else has gone back02:41
axwis that right?02:41
axwItemCollection methods = UnmarshalJSON & construct02:42
wallyworldyeah, i think that's good. i wanted the business logic / data model as it was, and the on the wire stuff separate to it's easier to grok etc02:42
axwcool02:42
wallyworldcause the user reading the simplestreams logic doesn't care about the json crap02:42
thumperdog walk time02:43
wallyworldand visa versa02:43
wallyworldha, that last comment could also apply to thumper02:43
wallyworldeven though it wasn't meant to02:43
axwdavecheney: the azure bugs can be fixed pretty quickly it seems02:48
axwdavecheney: any chance of slipping anything else in?02:48
axwwallyworld: have you seen this? https://bugs.launchpad.net/juju-core/+bug/121912302:49
davecheneyaxw: too late02:49
davecheneyrelease it tagged02:49
davecheneywe can always back port02:49
axwokey dokey02:49
wallyworldaxw: no, haven't seen that before02:50
thumperarse biscuits03:28
thumpersome of our code is truly horrible03:28
* thumper thinks03:28
* thumper decides not to fix everything at once03:45
wallyworldaxw: are you landing your simplestreams branch now?04:03
axwwallyworld: yes. do you want to make another pass, or shall I go ahead?04:04
wallyworldaxw: nah, Just Do It. we can iterate as needed04:04
axwcool04:04
wallyworldi need to merge it into my work after it lands, and then change stuff to do with the data format04:04
axwokey dokey. let me know if there's something you'd like me to do04:05
axwalso, sorry it took so long04:06
wallyworldno problem, it didn;t take long, it was fairly involved04:07
axwwallyworld: just merging with trunk, I'll let you know when the bot's done04:18
wallyworldyay, thanks04:18
axwor not, one of the tests is playing up04:24
* thumper wonders how to withdraw a rietveld review04:41
=== tasdomas_afk is now known as tasdomas
wallyworldaxw: i have school pickup, i check when i get back to see how the merge is going05:01
axwwallyworld: ok, later. fixing tests atm05:01
* thumper uses some mocks for agent.Config05:11
thumperit feels GOOD05:11
thumperhmm...05:14
thumperWTF went wrong there...05:14
thumpercopy and paste went wrong there05:15
jamaxw: I bring up the SHA256 thing because it failed in the bot06:02
axwjam: ah right. yeah there was a bug in my test code, I was accidentally writing dynamic content to the fake tools files06:03
* thumper is almost done06:03
axwmust've been lucky with the gocheck temporary dir being the same on my machine06:03
thumperargh!!!06:06
* thumper takes a deep breath06:06
jamthumper is never almost done06:06
jam:)06:06
thumper:P06:06
jamwell, never *actually* done06:06
* thumper leaves it for now06:07
axwjam: expect MS to call you if you've signed up for Azure06:10
axwthey woke me up the other day..06:10
jamaxw: yeah.06:11
jamaxw: so when I "LGTM" with some comments, if you address and agree with the comments, you can feel free to just land it06:12
axwjam: ok, will do06:13
axwI'm just updating the default-precise comment now06:13
axwand testing06:13
davecheney1.13.3 is released06:34
davecheneythe lp builders are lagged06:34
davecheneyi'll uploda the tarball and publish the release notes once the tools are uploaded06:34
jamthanks davecheney06:34
davecheneywill look at the 1.14 branch next06:36
davecheney/s/branch/series06:36
davecheneyi release 1.13.3 so y'all would stop putting bugs back in there :)06:41
davecheneyhttps://launchpad.net/juju-core/+milestone/1.14.006:49
wallyworldaxw: just saw your test error - that's intermittent, i raised a bug 121960207:08
wallyworldi resubmitted and it worked07:08
axwwallyworld: thanks, I was about to look into it...07:08
axwcool07:08
wallyworldnp, that's why i pinged you to save you the trouble :-)07:08
axwwallyworld: it says "needs review" still?07:09
wallyworldaxw: if a test run failes, the bot puts it back to needs review07:09
wallyworldyou need to flip it to approved again07:10
axw<wallyworld> i resubmitted and it worked  <- what worked?07:10
wallyworldaxw: the landing bot ran the tests successfully and merged the branch07:10
wallyworldwhen i say resubmitted, i mean i marked the mp as approved07:11
axwoh ok07:11
axwyep..07:11
wallyworldand so the bot noticed and re did its thing07:11
axwI'm confused because it's not saying merged, but it doesn't matter. I'll do it again07:12
wallyworldaxw: it's not saying merged because the merge did not happen because the tests failed07:16
wallyworldso the bot emailed the test failures and flipped the status back to needs approved07:16
axwwallyworld: yeah I get that, but I thought you said it passed07:16
axwsorry, I'm being a bit thick07:17
wallyworldit passed for *me* for my branch when i tried a second time07:17
axwahh right, on a different MP07:17
wallyworldyeah, sorry07:17
dimiternmorning!07:17
axwmorning dimitern07:17
* wallyworld goes to soccer07:17
axwwallyworld: it has finally merged07:21
axwenjoy soccer07:21
jamespagedavecheney, I'm assuming that my next upload to saucy should be 1.14.0 right?08:03
jamespageand thats really just 'stable release of 1.13.x'?08:03
jamespage(need to phrase my changelog message right as I don't think its a huge jump from 1.13.2)08:03
jamjamespage: that sounds right to me08:36
* jam heads out to run a couple of errands.08:36
davecheneyjamespage: correct08:41
davecheneywill be ready by weeks end if not sooner08:41
davecheneyi wouldn't worry about 1.13.308:41
mgzso, it's a no US day today09:14
thumperjam: hey, seen mramm?09:20
mgzthumper: I assume he's out as it's a US holiday today09:24
thumpermgz: he's in the UK :)09:25
mgzoh, then I guess not :)09:26
jammgz:  /wave10:02
jamI haven't seen mramm all day anyway10:03
mgzhey jam10:05
dimiternhttps://codereview.appspot.com/13272045 - mgz, jam, please take a look (uniter api's remaining unit ops)10:17
dimiternfwereade: ^^?10:24
fwereadedimitern, sure10:25
dimiternfwereade: ty10:26
mgzdimitern: sure10:27
jammramm: hey, good to see you around10:31
mrammjam: in the london office for the gui sprint10:32
dimiternmramm: hey, so we can book now for the sf sprint?10:33
mrammdimitern: yep10:34
dimiternmramm: cool!10:34
dimiternmramm: arriving 21, leaving 25 oct, right?10:34
dimiternmramm: or thereabouts10:34
jamdimitern: I think you need the final signoff from mramm before you can actually get the agency to book the travel10:42
jambut you could probably start the conversation.10:42
dimiternjam: well, following the steps in the mail, I'm filling in the form first, then will contact bts travel10:43
jamdimitern: right, so after filling in the form mramm gives a final signoff on it, and you get a confirmation ID that you need to share with BTS before they'll book anything10:44
jamI think you actually share the whole email with them.10:44
dimiternjam: ok10:44
mgzwill miss the standup, will catch up when I'm back shortly after10:45
fwereadedimitern, couple of questions, not *quite* an LGTM, the Destroy test is the only one that gave me serious pause10:49
dimiternfwereade: ok10:50
dimiternfwereade: well, the uniter does call unit.Destroy10:52
fwereadedimitern, but not on itself10:52
dimiternfwereade: filter.go:453, uniter.go:49810:52
fwereadedimitern, bah, filter, I stand corrected10:53
dimiternfwereade: :) so it's ok then?10:53
fwereadedimitern, yeah, I think so10:55
fwereadedimitern, it might be neater to implement the test for a unit destroying its own subordinate, though, because that's the one that's least sensitive to future change10:55
fwereadedimitern, and you've already written that support code, so it should be easy ;p10:55
dimiternfwereade: ok, will do10:56
fwereadedimitern, thanks10:56
dimiternfwereade: hmm11:07
fwereadedimitern, eh, problems?11:08
dimiternfwereade: I'm not sure it's possible to do an api call for a subordinate if you've logged in as the principal11:08
fwereadedimitern, doesn't the principal destroy its own subordinates? maybe I misremembered11:09
dimiternfwereade: i mean, it'll return ErrPerm because the auth'ed entity tag won't match11:09
fwereadedimitern, modes.go:29811:09
dimiternfwereade: so the when logged in as a principal, you should be able to call Destroy() (and only that method?) on its subordinates as well11:09
fwereadedimitern, that's the only one I can think of offhand11:10
dimiternfwereade: ok, that'll require a few changes at server-side11:10
fwereadedimitern, hopefully minor?11:10
dimiternfwereade: they should be, yeah11:10
fwereadedimitern, cool, thanks11:11
fwereadedimitern, if it needs to be a separate CL so be it11:11
dimiternfwereade: yeah it seems more like that11:12
dimiternfwereade: more changes are needed actually - I need to be able to fetch a subordinate from a logged in principal11:12
dimiternfwereade: so what do you say to leaving it as is, adding a TODO to fix it and doing the fix in a follow-up?11:13
fwereadedimitern, LGTMed11:15
dimiterncheers11:15
fwereadedimitern, well, you don't need to get the subordinate for that piece of code11:15
fwereadedimitern, that's just a Destroy loop over SubordinateNames11:15
dimiternfwereade: not really11:16
fwereadedimitern, hell, the first 10 lines of that mode should really just be a "destroy all subordinates plskthx" api call11:16
dimiternfwereade: SubordinateNames returns names, not tags, and I need a uniter.Unit proxy object to call the server-side11:17
dimiternfwereade: so I have to construct it in place, it'll be a bit ugly11:17
fwereadedimitern, all the more reason to replace it all then -- but that's not the approach we agreed, I know11:17
fwereadedimitern, that said11:18
fwereadedimitern, why would we use names over the API? *shouldn't* they be subordinate tags? ;p11:18
dimiternfwereade: we return names, but take tags as args11:19
fwereadedimitern, that's incoherent11:19
fwereadedimitern, how widespread is it?11:20
dimiternfwereade: in most cases we use only tags, except for a few cases like SubordinateNames and the strings watchers11:20
dimiternfwereade: not much, but I have to check11:20
fwereadedimitern, so long as there's general agreement that the appropriate language is tags, not names, I'm reasonably happy11:22
fwereadedimitern, bugger, we have deployed lifecycle watchers that use names, haven't we?11:22
dimiternfwereade: so these return or use names: GetPrincipal, SubordinateNames,Relation (inside the RelationResult struct there's a ServiceName field), ReadRemoteSettings (only in the error message "cannot read...")11:24
dimiternfwereade: lifecycle watchers are notifywatchers I think11:25
dimiternfwereade: but the deployer uses a stringswatcher that returns names11:26
fwereadedimitern, ideally I think all those would be fixed before we deployed something that expected names11:26
fwereadedimitern, but the StringsWatcher thing has rather screwed us11:26
dimiternfwereade: yep, so I looked11:28
dimiternfwereade: stringswatchers, error messages, a few params struct fields, and these 2 methods of UniterAPI use names11:29
dimiternfwereade: standup11:31
jamTheMue: standup? https://plus.google.com/hangouts/_/f497381ca4d154890227b3b35a85a985b894b47111:33
dimiternwow, so with some of the cli now using the api, cmd/juju tests running time increased like 5 fold12:54
* dimitern lunch13:05
dimiternfwereade: hey13:32
fwereadedimitern, heyhey13:32
dimiternfwereade: the way uniter api works now, it calls Life when you call uniter.Unit(tag)13:33
dimiternfwereade: and that's the only way to get a unit proxy object13:33
dimiternfwereade: does Life has to work for subordinates as well? because that opens a different can of worms13:33
fwereadedimitern, I don't think so13:33
fwereadedimitern, I suspect a simple DestroyAllSubordinates will be the easiest way13:34
dimiternfwereade: so the client-side api has to distinguish between a principal and a subordinate13:34
dimiternfwereade: ah, so make a new method on unit - DestroyAllSubordinates then?13:34
dimiternfwereade: and the matching call at server-side13:34
fwereadedimitern, I think so13:34
dimiternfwereade: this will require some changes in the uniter as well13:35
fwereadedimitern, agreed13:36
dimiternfwereade: ok, will add a TODO for that as well13:37
fwereadedimitern, we're writing code either way13:38
fwereadedimitern, use your judgment13:39
fwereadedimitern, if it's cleaner to preserve the structure then that's ok too13:39
dimiternfwereade: it's not cleaner at all - it involves chaning LifeGetter to accomodate that special case13:39
dimiternfwereade: I prefer not to do it unless we need to13:40
fwereadedimitern, huh? surely not13:40
fwereadedimitern, auth is specified outside LifeGetter13:40
fwereadedimitern, it's the same getauth as deployer, surely?13:40
fwereadedimitern, ah not quite13:41
fwereadedimitern, but still13:41
dimiternfwereade: well, the auth func will get a lot more complicated, but yes LifeGetter might not need to change13:41
dimiternfwereade: well, the auth func will get a lot more complicated, but yes LifeGetter might not need to change<13:53
dimiternfwereade: oops, sorry13:53
dimiternfwereade: too many windows :)13:54
dimiternfwereade: there it is https://codereview.appspot.com/1342604514:13
=== _mup__ is now known as _mup_
dimiternfwereade: ping14:35
fwereadedimitern, hey, sorry, I'm looking14:35
dimiternfwereade: cheers14:36
fwereadedimitern, LGTM14:49
fwereadedimitern, sorry delay14:49
fwereadedimitern, although actually...14:49
dimiternfwereade: thanks!14:49
fwereadedimitern, how about putting that comment in uniter?14:49
fwereadedimitern, that's where we'll need to know it, not the other places, really14:50
dimiternfwereade: ah, good idea!14:50
dimiternfwereade: another, quite trivial https://codereview.appspot.com/1334805014:59
=== tasdomas is now known as tasdomas_afk
fwereadedimitern, a thought15:10
fwereadedimitern, if we have DestroyAllSubordinates, the only use of Subordinates would be better expressed plain old HasSubordinates15:10
dimiternfwereade: have to check15:11
dimiternfwereade: yeah, that seems sane15:11
dimiternfwereade: there are only 2 cases where it's used, and the the second one is just like HasSubordinates15:12
dimiternfwereade: so you're saying rename Subordinates to HasSubordinates, returning just a bool15:17
dimiternfwereade: the penultimate for today, promise :) https://codereview.appspot.com/1338304615:24
dimiternfwereade: the last will be a trivial rename s.unit -> s.stateUnit and unit -> apiUnit in client-side tests15:24
fwereadedimitern, <315:25
fwereadedimitern, reviewed15:28
dimiternfwereade: tyvm15:28
dimiternfwereade: updated https://codereview.appspot.com/1334805015:40
fwereadedimitern, LGTM, couple of things to check15:43
dimiternfwereade: cheers15:47
dimiternfwereade: updated https://codereview.appspot.com/13383046/15:53
hazmatanyone tried local provider lately? i keep running into bug 121988716:03
_mup_Bug #1219887: local provider needs to wait for upstart to load service file <juju-core:New> <https://launchpad.net/bugs/1219887>16:03
rick_hhazmat: used it on friday, what version? I was on the stable ppa I think16:12
hazmatrick_h, trunk of go and juju16:22
=== TheRealMue is now known as TheMue
dimiternfwereade: last one - https://codereview.appspot.com/1347204316:45
* dimitern bbiab16:46
dimiternfwereade: ping17:15
dimiternTheMue, mgz: still aroung?17:24
dimiternaround17:24
TheMuedimitern: will take a look after dinner17:26
dimiternTheMue: cheers; it's a trivial renaming17:29
TheMuedimitern: you've got a LGTM18:09
dimiternTheMue: thanks!18:16
thumperWTF?21:46
thumpermy review seemed to pick up all sorts of weird changes21:46
* thumper grunts21:47
thumperbecause lbox uses the launchpad copy of the branch, not the local one21:47
davecheneymramm ping22:04
davecheneymramm ping22:06
mrammdavecheney: pong22:06
davecheneygoodbye sweet prince22:09
davecheneythat's what you get for using a mac22:10
* davecheney waves22:10
thumpergym time \o/23:51

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