/srv/irclogs.ubuntu.com/2013/06/21/#juju-dev.txt

thumperwallyworld_: what is the watcher I look for for lxc containers on a machine?00:02
wallyworld_thumper: machine.WatchContainers()00:02
thumperwallyworld_: from state.Machine?00:02
wallyworld_where machine is a machine object00:03
wallyworld_machine is a state.Machine00:03
* thumper nods00:03
thumperwallyworld_: umm... no00:04
wallyworld_let me check, my memory has failed me perhaps00:04
thumperno method there00:04
wallyworld_/ WatchContainers returns a watcher that notifies of changes to the lifecycle of containers on a machine.00:05
wallyworld_func (m *Machine) WatchContainers(ctype ContainerType) *LifecycleWatcher {00:05
wallyworld_in state/watchers.go00:05
wallyworld_maybe that branch hasn't landed yet, let me check00:05
wallyworld_thumper: no, it should be in trunk00:07
thumperwallyworld_: which file?00:07
thumpernot in machine.go00:07
wallyworld_^^^^^^^^^^00:07
wallyworld_state/watchers.go00:07
wallyworld_if your IDE did method name completion.....00:07
thumperWHY?00:07
wallyworld_because that's where all the other watchers are defined00:08
thumperI really strongly dislike splitting functions for types between different files00:08
thumperit's dumb!00:08
wallyworld_i just folllowed convention00:08
wallyworld_blame the previous guy :-)00:09
wallyworld_anyways, a good IDE makes it a moot point :-P00:09
davecheneymarcoceppi: ping00:13
marcoceppidavecheney: o/00:13
davecheneywhich method of communication would you like to attempt ?00:13
marcoceppiHow well does G+ work for you?00:15
davecheneywfm, two secs00:15
davecheneyARGH00:15
davecheneythwere are two marcoceppi's who both work for canonical00:16
davecheneyand BOTH are well dressed !?!00:16
marcoceppidavecheney: haha, you can hit either one of them00:16
marcoceppiThe one with the canonical bullseye is my "work" account00:16
davecheneyi'm going to choose the one with the best moustache00:16
davecheneygameshow music ... dialing00:18
fwereade_aw, wtf, how is that the time00:57
fwereade_thumper, wallyworld_: despite my shameful failure to review any of your code today, I have one for you: https://codereview.appspot.com/1042004500:58
* wallyworld_ looks00:58
wallyworld_just finishing another review firat00:58
thumperhuh00:58
wallyworld_first00:58
* thumper needs beer00:58
thumperor a wine00:59
thumperperhaps something italian00:59
wallyworld_whine?00:59
thumperI'm getting frustrated at some of our tests00:59
fwereade_thumper, wallyworld_: it is not the nicest of branches because it involves getting up to the elbows in state00:59
wallyworld_:-(00:59
thumperas soon as you add something that depends on what would be expected in a normal environment00:59
thumpershit breaks00:59
fwereade_thumper, wallyworld_: but code gets removed, tests get bigger, comments get more detailed, and buried in there are a couple of crucial lines that actually change behaviour01:00
wallyworld_yep, that's Go for you01:00
fwereade_thumper, wallyworld_: and all of those are, I believe, reflected explicitly in new test cases01:00
wallyworld_fwereade_: cool. sounds good01:00
fwereade_(oh, there are also 4 tests that fail elsewhere that I just saw, but it's obvious why in each case by inspection01:09
fwereade_I'll fix them tomorrow)01:09
bigjoolsCan we use Go 1.1 features yet?01:47
thumperbigjools: no02:00
thumperbigjools: see jam's email about it on juju-dev02:00
* bigjools doesn't pay much attention to that list02:01
bigjoolsI guess I had better familiarise myself with the new features as the online Go docs refer to 1.1 now02:03
thumperwallyworld_: http://paste.ubuntu.com/5785676/02:42
thumperwallyworld_: less buggering around with this to get them going02:42
wallyworld_\o/02:42
thumperwallyworld_: although there is an 'orrible hack02:42
thumpertime.Sleep(1 * time.Second) :)02:43
wallyworld_yuk02:43
thumperwallyworld_: as the lxc provisioner tries to get the tools from state before the machiner has set them02:43
thumperand the jujud process doesn't yet restart subtasks properly02:43
wallyworld_sounds like we need a channel or something02:44
thumperit will do when it integrates the worker runner code02:44
thumpernot really02:44
thumperit should just die02:44
thumperand get restarted02:44
thumperdon't add dependencies02:44
wallyworld_instead of waiting on an event from the host saying "ready now" or something?02:44
thumperI don't want to add extra dependencies right now02:45
thumperI woner why instance-state says "missing" on status02:46
wallyworld_what extra dependencies? adding a channel isn't a dependency except on the std lib02:46
thumperbut it is between go routines02:46
thumperthat shouldn't be tied together02:46
thumpertrust me on this one02:46
wallyworld_ok02:47
thumperwith units: http://paste.ubuntu.com/5785689/02:47
wallyworld_don't know about why instance state is missing02:48
wallyworld_the code says it is because ec2 couldn't find that instance id02:48
wallyworld_not ec202:49
thumperwell, duh, obviously02:49
wallyworld_our environment02:49
thumperwallyworld_: what are you doing again?02:51
thumperI'm about to write the end of week email02:51
thumperapart from reviews02:52
thumperand bug triage02:52
wallyworld_OCR today. but main work is to get into state the instance metadata. there's a rework of the data model so it's become complicated02:52
wallyworld_3 failing tests - gotta fix the mega watcher02:52
wallyworld_next step - machine characteristics in status02:53
wallyworld_i'll also need to look at some other critical bugs thrown my way and the simple streams metadata02:54
bigjoolshey guys, if I want to include a data file as part of my source, and have it required at runtime, what's the best way of doing this?03:02
wallyworld_what sort of file?03:05
bigjoolsbinary03:06
bigjoolsit's a trailer for a VHD03:06
wallyworld_you want the code to write it out somewhere when it runs?03:06
bigjoolsno, it needs to read it and then we send it to Azure03:06
bigjools(as part of other stuff)03:07
wallyworld_i wonder if it shouldl be packaged in the tools tarball?03:07
bigjoolsit's a jigsaw piece of a bigger file if you like03:07
wallyworld_how big is it?03:07
bigjoolsI need it to live in the provider library though, not juju core03:08
bigjools512 bytes03:08
bigjoolsI'm wondering if there's a way of compiling the data in somehow03:08
wallyworld_i'd maybe uuencode it03:08
bigjoolsor base6403:08
wallyworld_yeah03:08
bigjoolshmmm :)03:08
wallyworld_and write it out03:09
bigjoolsyou're not just an ugly face03:09
wallyworld_well, with enough beer perhaps03:09
bigjoolsit would need a lot03:09
wallyworld_sure, but you'd need more03:09
jambigjools: you can use "godoc" to run the docs locally, I believe. Which should match the version of go you are using.03:12
bigjoolsjam: hey there.  ah yes I keep getting confused with godoc03:13
jambigjools: for a 512byte content, I would just base64 encode it in source. I think there is a way to get to argv[0] (not sure what it is in go), but there won't be a directory of files like python.03:14
bigjoolsyeah base64 does the job nicely03:15
bigjools6+ years since I used a compiled language... it's slowly coming back03:15
jambigjools: for the test suite, there is stuff like "find the source directory", but that doesn't work as well in final binaries :)03:17
bigjoolsyeah03:17
thumperwallyworld_: your watcher returned the same id twice03:48
thumperwallyworld_: when I removed it03:48
thumpercausing the provisioner to crash :)03:48
wallyworld_\o/03:48
thumperwhen it tried to stop the container the second time03:49
wallyworld_i jut use a lifecycle watcher03:49
wallyworld_i'll have to see what's going on with that03:49
thumperwallyworld_: it is possible that it is me, I can add more tracing to check, but not today03:52
thumperfinishing early due to insane meetings last night03:52
wallyworld_sure. i'm also knee deep in this other branch03:52
wallyworld_hagw03:52
=== tasdomas_afk is now known as tasdomas
TheMuemorning07:04
rogpeppe2thumper: ping07:58
rogpeppe2TheMue: hiya07:58
rogpeppe2wallyworld_: any chance of a review of https://codereview.appspot.com/10364046/ ?09:16
rogpeppe2wallyworld_: (you reviewed the branch that had it as a prereq)09:16
wallyworld_ok, but i'm onto my 3rd beer for the evening :-)09:16
wallyworld_might improve the quality of my reviews :-)09:17
rogpeppe2wallyworld_: thanks for the other review, BTW - the "password" oops was a good catch!09:18
wallyworld_now worries :-)09:18
wallyworld_no09:18
wallyworld_rogpeppe2: done. btw, i got the watcher stuff sorted out thanks to your advice where to look09:21
rogpeppe2wallyworld_: cool, nice one.09:22
rogpeppe2wallyworld_: thanks09:22
wallyworld_fwereade_: there are 2 untriaged bugs for juju-core which i didn't really feel i could accurately process today. ie they seem important to me but ymmv. could you possibly take a look sometime?09:29
fwereade_wallyworld_, I hope so, I'm just trying to catch up on reviews this morning09:30
fwereade_wallyworld_, thanks for your review last night09:30
wallyworld_no hurry as such09:30
wallyworld_np, i liked your branch09:30
=== danilos_ is now known as danilos
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: wallyworld | Bugs: 7 Critical, 74 High - https://bugs.launchpad.net/juju-core/
rogpeppe2fwereade_: would appreciate a review of https://codereview.appspot.com/10449044 - another prereq for getting the agent connected to the API11:10
fwereade_rogpeppe2, looking11:15
fwereade_rogpeppe2, lovely, LGTM11:19
rogpeppe2fwereade_: thanks!11:19
fwereade_rogpeppe2, if you get a mo, I'd appreciate your thoughts on https://codereview.appspot.com/10420045/11:20
rogpeppe2fwereade_: looking11:23
TheMueanyone interested in reviewing https://codereview.appspot.com/10441044 (config-get output)11:24
TheMue?11:24
TheMuefwereade_: btw, had a chance to take a look on the ec2 http reader moving?11:25
fwereade_TheMue, sorry, it's *right* at the bottom of the page11:25
fwereade_TheMue, I'm on the 3rd last though11:26
TheMuefwereade_: ok, no pro, i've got more in the queue so it can wait ;)11:26
fwereade_TheMue, cool11:26
fwereade_TheMue, I proposed something last night that'll fix a noticeable bug when the cleaner integration lands :)11:27
TheMuefwereade_: oh, will take a look (when I return from lunch)11:32
rogpeppe2fwereade_: so... just trying to get this straight in my head11:32
* fwereade_ braces himself for helpfully difficult questions ;)11:33
rogpeppe2fwereade_: your CL changes things so that a service is only removed when the cleaner gets around to removing its units?11:33
rogpeppe2fwereade_: i'm trying to understand the role of the cleaner here11:33
fwereade_rogpeppe2, not exactly11:33
fwereade_rogpeppe2, it just runs unit.Destroy for each unit sooner than the unit agents themselves will (potentially, anyway -- and usefully, in case cases where there's no agent inplay yet)11:34
fwereade_rogpeppe2, the fundamental problem is that the UA was solely responsible for its lifecycle advancement past Dying once it was on a provisioned machine11:35
fwereade_rogpeppe2, but there's really quite a long delay between a machine being provisioned and any assigned unit agents actually starting to run11:36
rogpeppe2fwereade_: indeed there is11:36
rogpeppe2fwereade_: so... why can't the initial operation run unit.Destroy when appropriate?11:37
fwereade_rogpeppe2, checking the analysis captured in unit.Destroy is the big one, if that's crack then so is the whole idea11:38
fwereade_rogpeppe2, the idea was that we didn't want to tie the client up destroying everything one by one11:38
fwereade_rogpeppe2, and I think that's still reasonable11:39
rogpeppe2fwereade_: ah, seems like a good plan11:39
rogpeppe2fwereade_: i'd have asked the other way if you'd done it like that11:39
fwereade_rogpeppe2, but I don;t really mind tying up the cleaner worker, that's its job11:39
fwereade_;p11:39
rogpeppe2fwereade_: i think this is the right approach, but i just wanted to get it all straight in my head11:39
rogpeppe2fwereade_: does the cleaner worker execute everything sequentially?11:40
fwereade_rogpeppe2, yeah11:41
rogpeppe2fwereade_: if not, i wonder if it might be good to make it execute some operations concurrently (assuming that gives some speed up) in the future11:41
fwereade_rogpeppe2, sounds reasonable, yeah11:41
rogpeppe2fwereade_: i can imagine that it might be really slow to destroy large services11:41
fwereade_rogpeppe2, indeed, but don't forget the unit agents are still busily killing themselves where possible on service destroy11:42
* fwereade_ has food on the table11:42
rogpeppe2fwereade_: that's true, but if you've accidentally typed an extra 0 onto --num-units and are trying to remove the service ASAP, it might be an issue11:43
rogpeppe2fwereade_: enjoy!11:43
fwereade_rogpeppe2, yeah, point taken, this is the simplest possible v1 of what will otherwise become a disturbingly big change11:58
rogpeppe2fwereade_: oh yes, i wasn't suggesting we do it now11:58
rogpeppe2fwereade_: or even in the near future11:58
rogpeppe2fwereade_: just that it's something to bear in mind11:59
fwereade_rogpeppe2, however, any that do manage to short-circuit will have to be executed serially anyway, because they all use the service doc11:59
rogpeppe2fwereade_: not if there are two (or more) services being destroyed, i guess12:00
fwereade_rogpeppe2, very true12:00
fwereade_rogpeppe2, concurrent handling of actual cleanup docs themselves would be nice12:00
fwereade_TheMue, LGTM12:01
rogpeppe2fwereade_: yeah - otherwise this might tie up the cleaner for a long time when actually all the units are deployed and happy to remove themselves, stopping another service from being cleaned up.12:02
rogpeppe2fwereade_: reviewed12:03
fwereade_rogpeppe2, thanks, +1 on TransactionChecker, very nice12:05
rogpeppe2fwereade_: cool12:06
fwereade_rogpeppe2, yeah, the cleanup thing is pretty ghetto at this stage, at least it'll hopefully be relatively simple to massage into shape at some point12:06
fwereade_rogpeppe2, but suboptimal cleanup beats no-cleanup-at-all pretty handily :)12:07
rogpeppe2fwereade_: indeed so :-)12:07
rogpeppe2TheMue: reviewed12:09
rogpeppe2fwereade_: i don't think you published your TheMue LGTM12:09
rogpeppe2TheMue: would appreciate a review of https://codereview.appspot.com/1044904412:09
rogpeppe2or from anyone else, for that matter12:09
fwereade_rogpeppe2, TheMue: I was thinking of https://codereview.appspot.com/10296046/ -- looks LGTMed to me12:10
rogpeppe2fwereade_: ah, i thought you were referring to g https://codereview.appspot.com/1044104412:10
fwereade_rogpeppe2, ha, missed that one, thanks12:10
rogpeppe2TheMue: you have another review12:17
fwereade_TheMue, reviewed https://codereview.appspot.com/10441044 as well12:18
rogpeppe2fwereade_: do you know if live tests have been fixed now?12:19
=== rogpeppe2 is now known as rogpeppe
fwereade_rogpeppe2, I'm afraid I don't12:19
rogpeppefwereade_: :-(12:19
rogpeppefwereade_: i guess i'll try with trunk and see what happens12:20
rogpeppefwereade_: if i'm to land the agent API stuff, i really need to be able to test live12:20
fwereade_rogpeppe, I have a vague recollection of flinging those at you for verification the other day12:20
* fwereade_ looks a little shamefaced12:20
rogpeppefwereade_: flinging what?12:21
fwereade_rogpeppe,  a couple of bugs related to those12:21
fwereade_rogpeppe, I may be wrong, that bug weekend is a bit of a blur12:21
* rogpeppe starts running TestBootstrapAndDeploy12:22
rogpeppefwereade_: you'll probably be happy to know i got the machine agent actually talking to the API live yesterday.12:23
fwereade_rogpeppe, I saw! awesome news :D12:23
fwereade_rogpeppe, you were gone before I saw it so I couldn't fling virtual underwear in appreciation12:23
rogpeppefwereade_: BTW we seem to have reverted to dialling more often than we should (about 3 times a second)12:24
fwereade_rogpeppe, whaa? :(12:24
FunnyLookinHatI'm trying to figure out how we might take advantage of the upcoming containerization feature... but I need to test density.12:25
FunnyLookinHatDo you think it'd be a decent comparison to just bootstrap juju locally and deploy a bunch of nodes via LXC ?12:25
rogpeppefwereade_: ah, looks like live tests do work on trunk, phew12:29
fwereade_rogpeppe, excellent ;p12:29
fwereade_rogpeppe, would you open a bug for the redialing though please? feels like a bad bug to release with12:29
fwereade_rogpeppe, so I think it's critical until we figure it out12:30
fwereade_FunnyLookinHat, what are you looking to explore in particular?12:30
FunnyLookinHatHow much density I can get with lamp-stack deployments for a PHP + MySQL application12:31
FunnyLookinHatfwereade_, i.e. I want to compare between simply having 100 virtual hosts on a single apache w/ a single mysql in separate directories w/ having 100 lxc container'd hosts including mysql12:31
TheMuerogpeppe: reviewed12:31
rogpeppeTheMue: thanks12:31
fwereade_FunnyLookinHat, ok, so you're thinking, say, 1 node with N containers, each container holding one php app and one mysql?12:32
TheMuerogpeppe, fwereade_ : thx for your reviews12:32
FunnyLookinHatfwereade_, Yeah, exactly12:32
FunnyLookinHat"Entire Stack" in each LXC - with the purpose of serving a single PHP application.12:32
FunnyLookinHatI'm hoping that will make backup and restoration a breeze12:33
fwereade_FunnyLookinHat, ok, cool -- this in contrast to 1 machine with N+1 containers, in which N hold a php app and one holds a single unit of a shared mysql service?12:33
fwereade_FunnyLookinHat, yeah, that sounds sensible12:33
fwereade_FunnyLookinHat, I know thumper has been making good progress there12:34
FunnyLookinHatfwereade_, Sort of - yes.12:34
FunnyLookinHatfwereade_, Yeah I saw his update this morning :)12:34
fwereade_FunnyLookinHat, I have architecture quibbles but I expect they'll all come out in the wash12:34
FunnyLookinHatfwereade_, Realistically I'm trying to figure out "how dense" juju will be able to get me, or if I need to figure something else out...  i.e. how much overhead is in LXC12:35
fwereade_FunnyLookinHat, so I would *hope* that trunk will be letting you play with that manually within the next week or so12:35
FunnyLookinHatfwereade_, but you're essentially saying that I'd be able to get a decent idea just by running LXC within a Compute Instance or something12:35
fwereade_FunnyLookinHat, yep, makes sense, thanks12:35
fwereade_FunnyLookinHat, I think so yeah12:35
FunnyLookinHatfwereade_, Ok thanks - much appreciated :)12:36
fwereade_FunnyLookinHat, the juju agents don't take up too many resources last time I checked12:36
FunnyLookinHatYeah - my only concern is running 250 mysql daemons and 250 apache daemons instead of 1 and 112:36
FunnyLookinHatThat's a lot of overhead12:36
FunnyLookinHatthus the need to test12:36
fwereade_FunnyLookinHat, quite so12:36
rogpeppeha, don't accidentally type "go get -u" - you'll pull --overwrite your current repo. ouch.12:46
FunnyLookinHatLOL12:51
wallyworld_rogpeppe: my IDE has local history built in so when i did go get -u one time, it was easy to recover :-)12:59
rogpeppewallyworld_: i thought i'd interrupted it in time, but i hadn't. luckily i had another copy of the branch that i was using to test against go1.0.3. i've proposed https://codereview.appspot.com/10455043 to fix the issue.13:00
wallyworld_oh cool :-)13:01
=== wedgwood_away is now known as wedgwood
wallyworld_mramm: hi, i almost have a fix for bug 1188815 ready to test. do you know what cloud the bug was seen with, and if i can get some credentials to do a live test?13:39
_mup_Bug #1188815: security group on quantum/grizzly is uuid, goose chokes on it <serverstack> <Go OpenStack Exchange:Confirmed for wallyworld> <juju-core:Triaged by wallyworld> <https://launchpad.net/bugs/1188815>13:39
fwereade_rogpeppe, responded to https://codereview.appspot.com/1042004513:39
fwereade_rogpeppe, I would be interested if yu had any thoughts on the Cleanup-after-service-destroy-in-client idea13:40
fwereade_rogpeppe, it's kinda nasty13:40
fwereade_rogpeppe, *but* it means that new tools will do quick-destroys of old services in old environments13:40
fwereade_rogpeppe, but then maybe we don't want to encourage people to keep their 1.10 deployments going, long-term..?13:41
mramm wallyworld_: I am not sure, it is whatever the Landscape team is using... Best to ask beret... He's online now.13:41
wallyworld_will do13:41
Beretahasenack, can you lend wallyworld_ a hand with that one?13:41
wallyworld_Beret: hi,  i almost have a fix for bug 1188815 ready to test. do you know what cloud the bug was seen with, and if i can get some credentials to do a live test?13:41
_mup_Bug #1188815: security group on quantum/grizzly is uuid, goose chokes on it <serverstack> <Go OpenStack Exchange:Confirmed for wallyworld> <juju-core:Triaged by wallyworld> <https://launchpad.net/bugs/1188815>13:41
Beretahasenack, it's probably dpb that found it13:41
rogpeppefwereade_: i'm not sure exactly what idea you're referring to. is it mentioned in the comments? or are you just talking about our discussion earlier?13:42
ahasenackhm?13:42
* ahasenack reads13:42
fwereade_rogpeppe, it's at the end of the CL description13:42
ahasenackwallyworld_: it was seen in our internal serverstack deployment, one that uses quantum for networking, not canonistack, which uses nova networking13:43
wallyworld_ahasenack: any chance of getting some credentials so i can test the fix against that?13:43
rogpeppefwereade_: ah, i think i'd probably gone into "tl;dr" mode by that stage and had just dived into the code :-)13:43
fwereade_rogpeppe, not surprised13:43
ahasenackwallyworld_: I'll see what I can do, I'm not sure even I have credentials, that thing was just deployed13:43
fwereade_rogpeppe, sorry about that13:44
wallyworld_ahasenack: we have test service doubles i can test with, and also regression test against canonistack, but i want to be sure the issue is really fixed for you too13:44
ahasenackwallyworld_: yeah, canonitsack will only help in terms of regression testing, since the bug doesn't happen there13:45
ahasenackwe need openstack with quantum for this13:45
wallyworld_exactly13:45
rogpeppefwereade_: i think it's not worth calling Cleanup13:46
fwereade_rogpeppe, cool13:46
fwereade_rogpeppe, upgrade tools, upgrade environment, get fast destroys13:46
rogpeppefwereade_: precisely13:46
wallyworld_ahasenack: see what you can do and drop me an email. it's late friday evening for me now so no rush as such. i've still got a bit of coding to finish on the issue and will try and get that done over the weekend so i can get a fix committed asap for you13:46
fwereade_rogpeppe, gets people using the code we want them to too :)13:46
ahasenackwallyworld_: where can I get a build/branch?13:46
ahasenackwallyworld_: attached to the bug?13:46
rogpeppefwereade_: we have upgrade - people can use it (and they can downgrade too if there are problems)13:47
fwereade_rogpeppe, if an upgrade has problems I fear for its downgrade too tbh13:47
wallyworld_ahasenack: i'll commit the fix to goose trunk when it's done. it's still uncommitted on my harddrive13:48
ahasenackwallyworld_: can you push somewhere, or would you like to test it first yourself?13:48
rogpeppefwereade_: hopefully the upgrade stuff doesn't touch much of the stuff that might be problematic for people13:48
rogpeppefwereade_: BTW i worked out why my second API-connecting machine agent wasn't working - the provisioner wasn't calling SetPassword on the new machine. fingers crossed this live test will work fine...13:49
wallyworld_ahasenack: you can certainly pull from my lp branch once i push it up (before it is reviewed and committed to trunk). but i have a little coding work to finish first. it's about 80% done13:49
* fwereade_ also crosses fingers13:49
ahasenackwallyworld_: ah, ok13:50
wallyworld_ahasenack: i thought getting access to the cloud to test might take a little time so thought i'd ask ahead of time to minimise delays13:50
ahasenackwallyworld_: ok13:50
wallyworld_i was hoping to have access or something say monday :-)13:50
fwereade_rogpeppe, yeah -- I just worry that there's some subtle incompatibility in the data that gets stored by the current code13:50
wallyworld_ahasenack: i only started on the problem after my EOD today since it was marked as critical :-)13:51
wallyworld_and i had other stuff to get done first13:51
ahasenackwallyworld_: ok, thanks13:51
wallyworld_even if i can't get access to the cloud, i'm pretty confident it will work if you grab the code and test13:53
rogpeppe8:04.529 PASS: live_test.go:0: LiveTests.TestBootstrapAndDeploy479.767s13:53
rogpeppeyay!13:53
* fwereade_ cheers, hoots, flings underwear13:53
fwereade_hmm, plus.google.com hates me again today14:01
dpb1wallyworld_: if you give a branch and tell me how to pull it, I can test it14:05
dpb1wallyworld_: I'm running trunk in that cloud already, so it should be easy to update nad overlay your stuff14:06
wallyworld_dpb1: awesome thanks. i'll have something done within a day. just finishing a bit more coding14:06
dpb1wallyworld_: ok, I'm in the US Mountain Time, so if you get something finished before I eod, I'll look at it.14:09
wallyworld_dpb1: i'm GMT+10 so it's midnight here and i may not stay awake to get it done. i can send you an email over the weekend with the branch details. i'm really hopeful of getting it done real soon now14:10
fwereade_ffs14:11
dpb1wallyworld_: hehe, ok, goodnight then (or close to it!)14:12
fwereade_sorry guys, didn't contribute much there14:12
fwereade_TheMue, how's the worker integration looking?14:12
dpb1wallyworld_: given your nick, I was wondering if you were down under.14:12
wallyworld_dpb1: good night14:12
wallyworld_yep, am in brisbane australia14:13
dpb1wallyworld_: ah, cool. :)14:13
fwereade_gaah -- has anyone tried to --upload-tools from current trunk? I'm assuming that the problem is that my network appears to be very flaky today, but it'd be nice to have confirmation that it really does work14:16
TheMuefwereade_: not yet started, currently working on the review feedback for config-get14:17
fwereade_TheMue, ok, it's become critical for me -- shall I try and pick it up?14:18
fwereade_(btw, just managed to --upload-tools -- it's not you it's me)14:19
rogpeppefwereade_: it worked fine for me earlier14:19
fwereade_rogpeppe, cheers14:19
TheMuefwereade_: ok, feel free to pick it, then i'll do auto sync tools next14:20
TheMuefwereade_: in your review of the config-get you said it's a good opportunity to change the way of the format comparison14:23
TheMuefwereade_: could you explain it more?14:23
fwereade_TheMue, asserting on precise bytes is not great, because YAML can produce all sorts of valid representations of the same data14:24
fwereade_TheMue, we would like it if, were we to (say) tweak the formatting details in cmd/out.go, these tests would continue to pass14:25
fwereade_TheMue, so, rather than asserting precise output, unmarshal that output and compare against the actual data you expect14:25
fwereade_TheMue, it's not foolproof, though, the precise numeric types might be unmarshalled differently by different implementations, say -- but I'm less worried about that14:26
fwereade_TheMue, sane?14:26
TheMuefwereade_: ah, thx, then i had it already understood right14:26
TheMuefwereade_: yes, so i can continue as i already started. it's the final change before a repropose :)14:27
fwereade_TheMue, sweet14:27
fwereade_TheMue, can I ask you to do a quick proposal before you do auto sync tools please? I think it demands a little bit of discussion14:28
TheMuefwereade_: a quick proposal? you mean for the way i will do it?14:41
fwereade_TheMue, yeah, I think it deserves just a little thought before we rush in14:42
TheMuefwereade_: sure, will come back to you first when read a bit more about the problem14:42
fwereade_TheMue, just to figure out the drawbacks of whatever we pick and whether they're worth it14:42
TheMuefwereade_: sounds fine to me, yes14:42
rogpeppei'm getting a compile problem trying to merge: https://code.launchpad.net/~rogpeppe/juju-core/325-machineagent-api-setpassword/+merge/170788/comments/38052714:42
rogpeppeit's really weird, because it builds fine locally14:43
rogpeppeand i tried pulling trunk and merging into that and it still builds fine14:43
rogpeppemgz: any ideas what the problem might be?14:43
rogpeppeparticularly annoying because it's preventing me from proposing my agent-connects-to-state branch14:44
rogpeppejam: ^14:45
TheMueassignement count mismatch, aha14:45
TheMuehow do those lines look like?14:45
TheMue...oooOOO( before navigating through the code )14:46
rogpeppeTheMue: ha ha, they're still wrong.14:47
rogpeppeTheMue: it *built* fine, but tests don't14:47
mgzrogpeppe: not off the top of my head...14:47
mgzah, tests fail on the merged code?14:47
rogpeppemgz: yeah. i think i've sorted it though. there must've been a problem with tests failing after merging with trunk. i was sure i'd tested it properly. but there y'go14:49
rogpepperight, another 15 minute wait14:51
rogpeppefwereade__: ping15:49
fwereade__rogpeppe, pong15:49
fwereade__rogpeppe, how's it going?15:49
rogpeppefwereade__: i've got a bit of a testing problem15:49
fwereade__rogpeppe, oh yes?15:49
rogpeppefwereade__: i just propose -wip'd my branch (after endless hassles with dependencies)15:50
rogpeppefwereade__: and going through it, i saw a test-related hack i'd forgotten about15:50
rogpeppefwereade__: which is a time.Sleep(2 * time.Second) inside runStop (this is in cmd/jujud)15:51
rogpeppefwereade__: this is when testing the password changing stuff15:51
rogpeppefwereade__: the issue is that we don't have any way of knowing *when* the agent changes the password15:51
fwereade__rogpeppe, hmm... poll the conf file for changes?15:52
fwereade__rogpeppe, except I can't remember whether that happens before or after15:52
rogpeppefwereade__: hmm, i thought of that and wrote it off because i thought there were cases where we don't actually change the conf file15:54
fwereade__rogpeppe, surely we do if we're changing the password?15:54
rogpeppefwereade__: there are several checks in that test15:54
rogpeppefwereade__: but actually, i think the conf file is changed in all of them15:55
rogpeppefwereade__: which probably means it's not an adequate test, ironically15:55
fwereade__rogpeppe, how about a watcher on the state.Unit, waiting for the old password to give an error?15:55
rogpeppefwereade__: too specific - sometimes it doesn't actually change the password even though it changes the conf file15:56
rogpeppefwereade__: i think i'll go with polling the conf file and see if that works ok15:56
fwereade__rogpeppe, if it's tricky to test, I may be hearing the extract-type bells ringing a little15:57
rogpeppefwereade__: you know, actually i think you're right - i'll just test openAPIState in isolation. there's no particular virtue in testing it in situ, as the other tests would fail if it wasn't being called.15:59
fwereade__rogpeppe, cool15:59
rogpeppefwereade__: thanks for the suggestion16:00
=== tasdomas is now known as tasdomas_afk
=== tasdomas_afk is now known as tasdomas
=== tasdomas is now known as tasdomas_afk
rogpeppefwereade__: https://codereview.appspot.com/10259049/17:11
rogpeppefwereade__: (finally!)17:11
rogpeppeif anyone's still around, i'd appreciate a review of the above17:13
rogpeppeand that's a good place to stop for the week.17:14
rogpeppesee y'all monday!17:14
=== wedgwood is now known as wedgwood_away

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