/srv/irclogs.ubuntu.com/2016/09/30/#juju-dev.txt

axwthumper: back, ready to chat when you are01:11
alexisbaxw, you must of eaten a big breakfast ;)01:17
axwalexisb: :p  may have done some other things too...01:17
thumperaxw: gimmie 10 to finish up what I'm doing01:18
axwthumper: np, ping whenever01:18
thumperaxw: now is good01:28
axwthumper: standup?01:29
thumpersure01:29
thumperaxw: as in bluejeans or hangout?01:30
axwthumper: sorry, I meant hangout01:31
axwderp01:31
thumperheh01:31
thumperlink?01:31
axwthumper: https://hangouts.google.com/hangouts/_/canonical.com/a-team-standup?authuser=101:31
=== frankban|afk is now known as frankban
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
jamespagemorning all08:01
jamespageany storage gurus around? I'm seeing this with the openstack provider and juju 2.0 rc-108:02
jamespagejuju add-storage ceph-osd/3 osd-devices=4,10G08:02
jamespagefailed to add "osd-devices": adding storage to unit ceph-osd/3: pool "cinder" not found08:02
frobwareanastasiamac: https://bugs.launchpad.net/juju/+bug/146651408:27
mupBug #1466514: MachineSuite.TestCertificateUpdateWorkerUpdatesCertificate timeout while waiting for certificate to be updated <ci> <intermittent-failure> <test-failure> <juju:In Progress by thumper> <https://launchpad.net/bugs/1466514>08:27
=== frankban is now known as frankban|afk
jamespagefwiw raised https://bugs.launchpad.net/juju/+bug/1629229 for ^^09:06
mupBug #1629229: unable to add-storage with openstack provider <juju:New> <https://launchpad.net/bugs/1629229>09:06
rogpeppeaxw: i wonder if you might be amenable to giving this the thumbs up... https://github.com/juju/juju/pull/635309:07
rogpeppeaxw: large but fundamentally trivial09:07
axwjamespage: https://bugs.launchpad.net/juju/+bug/161509509:07
mupBug #1615095: storage: volumes not supported <landscape> <juju:In Progress by axwalk> <https://launchpad.net/bugs/1615095>09:07
axwjamespage: (same underlying issue)09:08
jamespageaxw, dupe then - thanks!09:08
axwrogpeppe: my brain is fried, but seeing as it's mechanical09:09
rogpeppeaxw: :) thanks!09:10
voidspacefsck09:12
voidspaceformatted text output comes from iteration over a dictionary09:12
voidspaceso testing output is a damn pain09:12
dooferladvoidspace: ouch!09:13
voidspacedooferlad: going to sort in the code just so I can test it09:14
dooferladvoidspace: +109:14
voidspacedooferlad: I bet the default string sort is asciibetical09:15
voidspacedooferlad: but I don't think I care...09:15
voidspacedooferlad: and of course the only way to get all the keys out of a golang map is to iterate and build a slice09:15
voidspacedooferlad: which is just inelegant code09:15
voidspacebut ah well09:15
axwrogpeppe: +109:16
rogpeppeaxw: tyvm09:16
redirbabbageclunk macgreagoir https://github.com/juju/juju/wiki/Intermittent-failures09:33
=== frankban|afk is now known as frankban
dimiterngreat page and diagrams redir!09:40
rogpepperedir: interesting. isn't that kind of thing why the Alarms channel exists?09:45
macgreagoirredir: +1, really nice and clear with links ot code.09:45
rogpeppeheads up: my rather large branch which standardises acronym spelling in juju-core has just landed. you might wanna rebase before submitting any existing PRs.09:48
rogpeppeoh no, it hasn't actually landed, darn09:49
rogpeppeit has now, finally11:13
babbageclunkrogpeppe: I think the problem with the Alarms channel here is that you might have had many calls to clock.After, but have nothing in the waiting queue.11:27
babbageclunkrogpeppe: So WaitAdvance would continue even though there isn't anything in waiting.11:30
rogpeppebabbageclunk: unless someone's passing zero duration to time.After, how could there be nothing in the waiting queue?11:30
rogpeppebabbageclunk: (assuming the waiting queue is drained before you call Advance)11:30
rogpeppebabbageclunk: hmm, i guess if you advance a long way11:30
babbageclunkrogpeppe: Yeah, that would clear multiple waiters, potentially.11:31
rogpeppebabbageclunk: what's WaitAdvance?11:31
rogpeppebabbageclunk: is something added in a feature branch11:31
rogpeppe?11:31
babbageclunkrogpeppe: Oh, this is the proposed solution. It waits until there are waiters before advancing.11:32
rogpeppebabbageclunk: that's never going to be sufficient11:32
rogpeppebabbageclunk: because you need to wait for *all* the waiters11:32
babbageclunkrogpeppe: We're aware that the name isn't very clear :(11:32
rogpeppebabbageclunk: the problem is always going to be that you need to know exactly how many entities there are that will be waitinmg11:33
babbageclunkrogpeppe: True11:33
rogpeppebabbageclunk: which is always going to be fragile11:33
babbageclunkrogpeppe: But so's advancing before the waiters get there.11:34
rogpeppebabbageclunk: well exactly. you always need to wait for everyone to block on the clock11:34
rogpeppebabbageclunk: before advancing11:34
babbageclunkrogpeppe: Another possibility would be to have the waiters specify an absolute time instead of a delta.11:34
rogpeppebabbageclunk: i've been toying with that idea11:34
rogpeppebabbageclunk: but often waiters will actually want to wait for a certain length of time11:35
rogpeppebabbageclunk: so they'll call time.Now11:35
rogpeppesorry, clock.Now11:35
rogpeppebabbageclunk: and that will depend on whether advance has been called or not11:35
rogpeppebabbageclunk: so i think you'll end up back in the same situation11:36
babbageclunkrogpeppe: yup :/11:36
rogpeppebabbageclunk: one possibility might be to assume that the number of goroutines remains constant11:36
rogpeppebabbageclunk: then the first time you wait for a while to gather them all, then always wait for that number of alarms in the future11:37
rogpeppebabbageclunk: but that's not great either11:37
rogpeppebabbageclunk: another possiblity, perhaps better but more work is this:11:37
rogpeppebabbageclunk: if you start a goroutine that's going to block, then register it with the clock11:37
rogpeppebabbageclunk: and unregister when it exits11:38
rogpeppebabbageclunk: then you know exactly how many alarms to wait for11:38
babbageclunkrogpeppe: Makes sense, but that's really invasive.11:38
rogpeppebabbageclunk: yup11:38
rogpeppebabbageclunk: it could also potentially be useful for other things though - it could give an idea of how many long-lived workers there are in the system.11:39
rogpeppebabbageclunk: hmm, but it doesn't work in general11:40
rogpeppebabbageclunk: because most workers don't block on time events.11:40
rogpeppebabbageclunk: i think that you've bitten off a problem that's too hard to chew11:41
rogpeppebabbageclunk: i don't think there's going to be any decent solution to this in the large scale11:41
babbageclunkrogpeppe: But we already have intermittent failures for tests using clock.Advance.11:42
rogpeppebabbageclunk: yup, i'm not that surprised11:42
babbageclunkrogpeppe: Fixing the easier constant number of waiters problem still seems worthwhile even though we can't do the broader one.11:42
rogpeppebabbageclunk: the problem is that the number of waiters won't remain constant11:43
rogpeppebabbageclunk: for example, you might have a worker that mostly blocks on a network event, but occasionally makes a call with a retry and wait11:43
babbageclunkrogpeppe: Well, if we make the number of waiters a parameter then the test can change as it needs.11:43
rogpeppebabbageclunk: it's gonna be inevitably fragile because the test needs to know exactly all the things underneath that can block, and that's an implementation detail11:44
babbageclunkrogpeppe: True, but I can't see any other way.11:44
rogpeppebabbageclunk: i suspect that clock mocking is useful in the small scale but becomes an anti-pattern in more integration-level tests11:45
babbageclunkrogpeppe: Well, other than not using clock11:45
babbageclunkrogpeppe: Yeah, I think you're right11:46
rogpeppebabbageclunk: at that level, better just to have very small durations for waiting and use wall clocks11:46
babbageclunkrogpeppe: Nothing's ever easy! :(11:50
rogpeppebabbageclunk: :)11:50
rogpeppebabbageclunk: sometimes it's better to cut yer losses11:50
babbageclunkrogpeppe: Thanks for the discussion/pep-talk anyway.11:51
rogpeppebabbageclunk: np. it's a very interesting area.11:51
* babbageclunk lunches11:51
* perrito666 forgot to tell hr that today is a local holiday... and also forgot himself11:52
frankbanhey, is anyone available for a second review for https://github.com/juju/juju/pull/6352 ? thanks12:07
rogpeppefrankban: i'll take a look12:13
rogpeppefrankban: it seems a little weird that we serve the default icon instead of a not-found error for any file in the archive at all. what's the rationale behind it?12:22
rogpeppefrankban: oh, i see now, it's only if you ask for the icon12:23
frankbanrogpeppe: yes12:33
rogpeppefrankban: reviewed12:37
frankbanrogpeppe: ty12:41
redirbabbageclunk: frobware anastasiamac macgreagoir https://github.com/juju/testing/pull/113 is ready for review PTAL12:50
rogpeppeadd official-dns-name controller attribute: https://github.com/juju/juju/pull/6363; reviews appreciated, thanks.13:04
babbageclunkkatco: ping?13:24
voidspacewwitzel3: ping13:26
voidspacewwitzel3: actually, unping - but hi o/13:26
voidspacewwitzel3: gotta nip off - will catch you in a bit :-)13:26
voidspacereview for someone https://github.com/juju/juju/pull/636413:27
katco`babbageclunk: hey14:01
voidspacedooferlad: ooh, thanks for the review14:06
babbageclunkkatco`: Hey, I'm chasing an intermittent test failure in https://github.com/juju/juju/blob/master/worker/logforwarder/logforwarder_test.go#L22114:16
alexisbhappy friday all!14:17
voidspacealexisb: o/ happy friday14:17
katco`babbageclunk: ok14:18
babbageclunkkatco`: Trying to understand the logforwarder - do you know why the loop method has two goroutines in https://github.com/juju/juju/blob/master/worker/logforwarder/logforwarder.go#L18814:18
katco`babbageclunk: confused; i only see 1?14:19
katco`babbageclunk: do you mean why does it start a goroutine when it's running in a catacomb goroutine?14:20
babbageclunkkatco`: Oh, sorry - you're right. I mean, why the internal goroutine pushes records over to the main loop via a channel, rather than just doing sender.Send() itself.14:20
katco`babbageclunk: ah, let me read through the code rq14:21
babbageclunkkatco`: Thanks!14:22
natefinchthis may be a remnant of the fact that it used to be two separate workers14:22
katco`this is some sloppy code...14:23
katco`e.g. why is L189 not after L18814:23
katco`doh L187 after L18814:23
babbageclunkkatco`: Oh, yeah - that's pretty dangerous.14:24
babbageclunknatefinch: Yeah, that would explain it a bit.14:25
natefinchstream is used in the closure14:25
katco`natefinch: right but it's not used outside the closure14:25
natefinchoh ha14:26
natefinchreally, that whole closure should have been pulled out into a separate function.  No sense putting almost 40 lines of code inside another function.14:27
natefinchAlso would make the interdependencies more obvious14:27
katco`there's no need for the member variable enabled either. could use enabledCh, have: func (l *LogForwarder) Enabled() bool { _, ok := <- l.enabledCh; return ok == false }14:28
katco`lf.waitForEnabled, and then we do if !enabled?14:28
katco`babbageclunk: my guess is that it's in a goroutine because we're not using channels for streaming records; so we have to obtusely convert a method into a channel14:30
katco`babbageclunk: if it were a pipeline all the way down, and stream returned a channel, we could just have one loop, one select14:31
katco`babbageclunk: does that make sense? if you all you have is a method to retrieve records, you can't use it in a select block unless you create a goroutine to convert the calls into a channel14:33
babbageclunkkatco`: Ah, makes sense - because stream.Next() blocks?14:33
katco`babbageclunk: yeah, and it must be a preemptable op14:33
katco`babbageclunk: this is why i advocate for API's returning channels. bc you end up having to do this dance14:33
babbageclunkkatco`: Thanks! That's much clearer.14:33
katco`select is way more fundamental of an op than people realize; it's how modules come together sanely14:34
katco`babbageclunk: hth14:34
katco`babbageclunk: if you're touching this code, please try and clean it up a bit? again, waitForEnabled could be returning whether the enabled chan is closed or not14:35
babbageclunkkatco`: definitely - I'm beginning to get a feel for this but it's still not second nature.14:35
natefinchawesome article on using channels in APIs, for anyone who hasn't seen it: https://inconshreveable.com/07-08-2014/principles-of-designing-go-apis-with-channels/14:35
babbageclunkkatco`: ok, will do. Trying to understand the test now.14:35
katco`gets rid of a variable and a bunch of locking14:36
* babbageclunk clicks14:36
babbageclunkthe link I mean.14:36
katco`babbageclunk: it's probably too much surgery/controversial to change stream.Next() to channels, but i would encourage you to pull that goroutine out into a method that has a clear name14:40
babbageclunkkatco`: Yeah, I'll definitely do that - seems like a nice Friday afternoon refactoring task.14:41
natefinch+! ^14:41
natefinch+1 that is :)14:41
alexisbanastasiamac, ping14:42
anastasiamacalexisb: pong?14:42
babbageclunk+ it might help me understand the timing issue causing the intermittent failure.14:42
alexisbanastasiamac, can you jump in a HO with me real fast14:43
anastasiamacalexisb: i can. let me get ears :)14:43
alexisbok, anastasiamac I will meet you on teh a-team bluejeans14:44
anastasiamack14:44
rick_h_alexisb: anastasiamac looks like they're using 1.25?14:46
alexisbkatco ping14:47
alexisbnatefinch, ping14:49
natefinchalexisb: yo14:49
redirbabbageclunk: https://github.com/juju/juju/pull/6366 PTAL14:49
alexisbheya natefinch can you come join the party14:49
natefinchalexisb: I love parties14:49
alexisbhttps://bluejeans.com/503686501814:49
alexisbo you are really going to love this party14:49
babbageclunkominous14:50
katco`alexisb: sorry, i have 2 nicks in here right now =/14:54
alexisbbabbageclunk, natefinch was soooooo glad he joined the party ;)14:54
natefinchpower pc AND simplestreams.  I'm so lucky14:55
natefinchoh, and 1.2514:55
katco`=|14:55
babbageclunkd'oh14:55
* redir backs away slowly14:55
redirs/quickly14:55
natefinchlol14:55
* natefinch jumps on the grenade14:56
alexisbkatco natefinch may need your morale support today14:56
alexisb:)14:56
natefinchhttp://i.imgur.com/YQ6kI9z.gif14:57
katco`i'm afraid i'm fresh out of morale =|14:57
natefinchheh14:57
katco`v1/2 -> v3 charm url has drained me14:57
babbageclunkkatco`: ouch! Sorry!14:57
katco`babbageclunk: yeah i had to pull in the latest charm lib. breaks a bunch of tests. like a lot.14:58
babbageclunkkatco`: I know - I fixed most of them! In a branch that isn't landed yet. :(14:59
katco`babbageclunk: well too late now ;p14:59
babbageclunkOh no.14:59
katco`babbageclunk: https://github.com/juju/juju/pull/634814:59
katco`babbageclunk: doesn't have my latest pushed up yet14:59
babbageclunkkatco`: I updated juju/names to handle the new charm urls: https://github.com/juju/names/pull/7415:06
rogpeppeany chance of a review of this branch, by any chance? https://github.com/juju/juju/pull/636315:06
rogpeppei need a review from someone in juju-core please15:07
katco`babbageclunk: yeah: https://github.com/juju/juju/pull/6348/files#diff-bc1c339eba7450f0fe12ab61e4e1987aR8115:08
babbageclunkkatco`: The thing that stalled me was that the cmd/juju/applcation tests were failing because the charmstore would send bundle URLs back in the V3 format (which doesn't include "bundle")15:08
alexisbvoidspace, do you have a moment to review rogpeppe PR https://github.com/juju/juju/pull/636315:12
babbageclunkalexisb: free for a hangout?15:24
redirmgz: yt?15:26
mgzredir: yo15:28
redirmgz: there's two things that landed this week that will hopefully reduce or remove some intermittent issues. 1. a patch in patches to fix a race in mgo.Stats 2. an update to the testing clock.15:29
redir1. mgz there's a change in clock at https://github.com/juju/testing/blob/master/clock.go#L107 which should show up if we experience intermitttent failures like https://bugs.launchpad.net/juju/+bug/160704415:30
mupBug #1607044: WorkerSuite.TestUpdatesAfterPeriod timed out <ci> <intermittent-failure> <regression> <unit-tests> <juju:In Progress by reedobrien> <https://launchpad.net/bugs/1607044>15:30
mgzgotcha, so we want to look out for that new message in failures15:32
mgzand also see if there's an obvious change in incidence15:32
redirmgxz exactly15:33
redirand the other is related to https://bugs.launchpad.net/juju/+bug/160481715:33
mupBug #1604817: Race in mgo Stats implementation <ci> <intermittent-failure> <race-condition> <regression> <unit-tests> <juju:In Progress by reedobrien> <https://launchpad.net/bugs/1604817>15:33
redirwhich might fix various tests where that race is the cause.15:34
redirmgz I plan to send an email to the qa list, but thought I'd mention it in case I forget over the long weekend.15:34
redir:)15:34
mgzredir: thanks!15:34
alexisbbabbageclunk, I am now15:38
babbageclunkalexisb: ok, jumping into the hangout15:39
alexisbbabbageclunk, I am there15:39
smoseri'm trying to get a cloud-utils upload into yakkety. it is blocked on juju's dep8 test due to failures on ppc64:15:45
smoser http://autopkgtest.ubuntu.com/packages/j/juju-core-1/yakkety/ppc64el15:45
smoserand:15:45
smoser  http://autopkgtest.ubuntu.com/packages/j/juju-core-1/yakkety/amd6415:45
smoser(linked to from http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html)15:45
smoseri really do not think cloud-utils is related at all, as the onyl change to that package is in mount-image-callback, which i'm pretty sure is not used by juju15:45
smoseranyone able to help refute or confirm that ?15:45
mgzSetting up lxc1 (2.0.4-0ubuntu4) ...15:47
mgzERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.15:47
mgzlooks like your rebuild is being unfairly blamed15:48
mgzbut, does seem to be a real issue of some kind15:49
mgzactually, maybe it is the utils change15:50
mgz"Tools checksum mismatch"15:51
mgzis not the clearest message15:51
mgzbut seems to be the final failure?15:51
mgzsmoser: we can run these tests in CI, and perhaps with extra debugging15:56
smosermgz, did you look at ppc64el or amd6415:57
smoserthey fail differently15:57
katco`babbageclunk: you still around?15:58
babbageclunkkatco`: yup yup15:58
katco`babbageclunk: what's the new bundle url format for v3?15:58
babbageclunkIt's not distinguishable from the charm url15:59
babbageclunkkatco`: ^15:59
katco`babbageclunk: do i specify a series for a bundle then?16:00
mgzsmoser: the amd64 failures all seem to be testbed related16:00
mgzit's possible the ppc64 one is as well, in a more subtle way16:00
babbageclunkkatco`: No, I don't think so. Some more details here: https://bugs.launchpad.net/juju/+bug/158419316:01
mupBug #1584193: juju deploy <bundle> is in a different form than jujucharms.com <2.0> <landscape> <usability> <juju:In Progress by 2-xtian> <https://launchpad.net/bugs/1584193>16:01
mgzperhaps we want to poke pitti about it?16:01
katco`babbageclunk: ta. if i specify "wordpress-with-endpoint-bindings/1" i get "series not specified"16:01
babbageclunkkatco`: In deploying on command line or in tests?16:02
katco`tests16:02
babbageclunkright - in that case it's going through a charmstore running locally and the url that comes back is in the V3 format.16:03
babbageclunkbabbageclunk: And there's code in the deploy command looking for series == "bundle"16:03
babbageclunkduh, who am I again?16:04
babbageclunkkatco`: ^16:04
katco`babbageclunk: https://github.com/juju/juju/blob/master/cmd/juju/application/bundle_test.go#L12416:04
katco`babbageclunk: "cannot post archive: series not specified"16:04
katco`babbageclunk: i've changed the test to be wordpress-with-endpoint-bindings/116:04
katco`babbageclunk: seems like it's an error on uploading the bundle... maybe i need to pull in a newer copy of charmrepo?16:05
babbageclunkkatco`: Ah, I fixed that (in my branch) but then got to the next problem and had an existential crisis.16:06
babbageclunkkatco`: Hang on - finding link16:06
katco`babbageclunk: well maybe we can meet halfway :) i think i had already fixed what you ran into16:06
katco`honestly it's all becoming a bit of a blur16:06
babbageclunkkatco`: same - sorry you're running into all of this too.16:07
babbageclunkkatco`: So I've got a local change that sets the series to bundle when uploading http://paste.ubuntu.com/23256099/16:11
babbageclunkkatco`: Then the deploy line in the test fails because the urls coming back from the local charmstore don't indicate that it's a bundle.16:12
katco`babbageclunk: this looks... scary. if i introduced this, what exactly are we testing? you say deploy has something similar?16:12
babbageclunkkatco`: I'm certainly not sure it's the right thing to do.16:13
katco`babbageclunk: hm... thanks for the diff. i will think on this for a few mins16:13
babbageclunkkatco`: Here's the bit of deploy that is checking for series == "bundle". If this fails then it falls back to assuming it's a charm and you get UnsupportedSeries errors back.16:16
babbageclunkhttps://github.com/juju/juju/blob/master/cmd/juju/application/deploy.go#L88216:16
katco`babbageclunk: ah, i remember that bit! :)16:17
=== frankban is now known as frankban|afk
babbageclunkkatco`: basically all of this stems from the change I made in charm splitting URL.String() and URL.Path().16:19
babbageclunkkatco`: I think it's possible to fix the tests by changing the charmstore code to use url.Path() where it's currently using .String()...16:19
babbageclunkkatco`: But I'm not sure that's the right thing to do.16:20
babbageclunkkatco`: Or another fix would be to make charm urls distinct from bundle urls by including "bundle" in the V3 format.16:22
voidspacealexisb: rogpeppe: sorry, missed your message - it has a couple of approves already, but I can see changes since those16:31
voidspacealexisb: rogpeppe: I'll take a look16:31
alexisbvoidspace, thanks, we just want to make sure we get one person from core to review16:31
voidspacealexisb: ah, cool16:32
perrito666katco`: seen this? https://mobile.twitter.com/filler/status/78117506674253414416:35
katco`perrito666: yes :)16:36
admcleodhi guys! with a workload state of blocked, how often will update-status retry?16:39
admcleodretry/execute/whatever16:40
voidspacerogpeppe: yup, LGTM16:42
admcleodbabbageclunk: hi! ;)16:46
admcleodanastasiamac_: hello also :) any ideas ^^?16:46
babbageclunkadmcleod: hi! I don't know off the top of my head, and this isn't a great time for code-spelunkery, sorry!16:47
anastasiamac_admcleod: perrito666, do u know ^^16:48
admcleodsinzui: ^^^^ :}16:48
perrito666anastasiamac_: 5 something, sec or min, cant recall which16:50
admcleodperrito666: and then apparently it increases?16:50
perrito666admcleod: ^ gimme a sec and Il lookl16:50
natefinchupdate-status is every 5 or 10 minutes, I forget which16:51
perrito6665 minutes16:51
babbageclunkadmcleod: doesn't look like it changes16:52
perrito666it doesnt16:52
perrito666it runs every 5 mins16:52
admcleodhttp://paste.ubuntu.com/23256225/16:52
natefinchadmcleod: I wonder if other hooks are preventing it from running on time16:54
kwmonroeadmcleod: i did a --replay and the output didn't change from your pastebin.. 'active' charms update-status every 5.  'blocked' charms are every 25.  (at least in this case)16:55
perrito666other things might be preventing the update-status hook from being invoked16:56
kwmonroemaybe, but show-status-log isn't telling...16:56
kwmonroe30 Sep 2016 15:08:36Zjuju-unitidle       16:56
kwmonroe30 Sep 2016 15:12:55Zjuju-unitexecuting  running update-status hook16:56
kwmonroe30 Sep 2016 16:56:21Z         idle       last 3 statuses repeated 20 times16:56
admcleodi really dont think anything else will be getting in the way16:57
admcleodkwmonroe: what version juju?16:57
kwmonroerc116:57
perrito666admcleod: the code running that hook is very different since I was last there so cant give you a more complete answer without some digging16:58
kwmonroeya know what's interesting admcleod?  the last line of show-status-log above says "repeated 20 times", which is 100 minutes if update-status runs every 5... which is the time difference between the last 2 messages in that output.16:59
=== alexisb is now known as alexisb-afk
admcleodkwmonroe: ah17:01
kwmonroei reckon i'll just watch the stupid thing for 5 minutes and put this to rest.17:02
kwmonroeha!  don't have to.  admcleod, machine logs on the unit show it running every 5.  not sure why debug-log --replay showed every 5th one.17:03
kwmonroe(and did so consistently over the last 1.5 hours)17:04
admcleodkwmonroe: nice one, thanks17:05
katco`wishing these tests didn't spin up an entire charmstore and actually deploy charms right about now17:06
rogpeppevoidspace: thanks!17:33
=== alexisb-afk is now known as alexisb
hmlwhile trying to test goose library changes in juju, i’m hitting the known issue where godeps leaves your git respository in a detached head state.  and my changes don’t seem to take.18:51
hmlgoogle ways to fix involve not using godeps restore or something.18:52
hmldoes anyone have a better way in juju land?18:52
natefinchhml: git checkout master19:03
natefinchhml: if you just want to get the repo back into a known state19:03
natefinchhml: not sure exactly what you're doing, but I have hit similar problems with gopdes19:03
natefinchgodeps19:04
hmlnatefinch: ideally i’d like to test juju using the testservices from my goose branch - it’s not in the master yet because testing isn’t complete.19:04
natefinchhml: ahh, ok.19:04
natefinchhml: so, run godeps -u dependencies.tsv for juju.  *then* switch your goose code to your branch, then build juju19:05
natefinchmake sure your goose code is in the same directory as the default (so, $GOPATH/src/gopkg.in/goose.v1/)19:05
natefinchthe way I usually do it is to just git remote add <my_fork>19:06
hmlnatefinch: i’m working in a branch off of <my_fork>… maybe that’s the problem19:07
natefinchhml: totally doesn't matter. go install/go build etc only care about what code is in $GOPATH/src/gopkg.in/goose.v1/   it doesn't know about git or branches or anything19:07
natefinchthe *only* thing that understands git / vcs at all is "go get"  after the code is on your drive, the rest of the commands only look at the files on disk in the directories they're told to look at by import statements19:08
hmlnatefinch: running off to try this19:09
=== benji is now known as Guest10314
hmlnatefinch: got it working - thank you, i think i was confused about how often to run godeps to update the dependencies… i’m picking up my code to test now.19:38
natefinchhml: yeah, you only have to do that once, immediately after you switch branches19:51
papertigersWhere can I find what uuid the cloud provider of choice is using for bootstrap?20:34

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