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

mupBug #1590045 changed: Uniter could not recover from failed juju run <run> <juju-core:Triaged> <https://launchpad.net/bugs/1590045>00:10
davecheneythumper: menn0 fwereade https://github.com/juju/juju/pull/557801:09
=== natefinch-afk is now known as natefinch
natefinch*decrement01:13
natefinch"The coordination via stopped is not reliably observable, and hence not tested"01:15
davecheney(and didn't work :)01:16
davecheneyfixed mis spelling01:16
thumperdavecheney: well, it looks reasonable to me01:18
thumperdavecheney: do all the tests now pass?01:18
davecheneythumper: the cmd/jujud/agent test that was previously failing because the catacomb had not stopped the workers it was in charge of by the time the test is shut down01:19
natefinchI'd really like to see a failing test in the catacomb package that this changes fixes.  relying on a test far away to assert the correctness of the change is less than ideal.01:20
davecheneynatefinch: sure, https://github.com/juju/juju/pull/5564#issuecomment-22446873901:21
davecheneyhere is the failing test01:21
davecheneyyou can see in the panic output that the firewalls and pinger are still running and were started from the catacomb01:22
thumperdavecheney: I think what natefinch means is an explicit test on catacomb01:22
davecheneythere is an explicit test01:22
thumpersmall test01:22
davecheneyif the worker has not shut down, the catacomb tests will not pass01:22
davecheneythere is an explicit test for catacomb.Wait()01:22
thumperand did that one intermittently fail?01:23
davecheney'cos the catacomb tests before weren't testing shit01:23
davecheneynow the are01:23
davecheneyI fixed the code to match the test01:23
* thumper sighs01:23
thumperbut there wasn't a failing catacomb test01:23
davecheneynope, see the comment in the PR01:24
davecheneythis wasn't tested01:24
davecheneynow itis01:24
davecheneynow it is01:24
thumpernot explicitly just on catacomb without the agent bollocks01:24
davecheney        go func() {01:25
davecheney                defer catacomb.tomb.Done()01:25
davecheney                defer catacomb.wg.Wait()01:25
davecheney                catacomb.Kill(plan.Work())01:25
davecheney        }()01:25
davecheney^ the catacomb is not dead until wg.Wait() drops to zero01:26
davecheneywg.Wait cannot drop to zero until all the workers have exited01:26
thumperdavecheney: http://reports.vapour.ws/releases/4039/job/run-unit-tests-trusty-amd64-go1-6/attempt/63701:39
thumperpprof thingy01:39
thumperdavecheney: I think that is related to what you added, yes?01:40
thumperI have NFI what is wrong though01:40
thumperjust saw it fly past01:40
davecheneythumper: yes that is the pprof facility we added a while back01:43
davecheneyi think axw had the last hack at fixing a related bug01:43
thumperI need to chat at some stage, perhaps next week, at how to hook into that :)01:43
davecheneythumper: its on the wiki01:45
thumperwhat? docs? who reads these days :)01:46
davecheneythumper: https://github.com/juju/juju/wiki/pprof-facility01:46
thumperta01:46
davecheneythumper: are we good ?01:49
thumperis it possible to hook into the listener to add additional output paths?01:49
thumperi.e. extra stats?01:50
davecheneynope, sorry that's all the runtime exposes01:50
thumperhmm... ok01:50
davecheneyif you want to do something more than the bits we get for free from the runtiem01:50
davecheneythat's more than a non trivial amount of work01:51
wallyworldaxw_: whenever you have time, this stores cloud region against model, and cloud name in controller doc http://reviews.vapour.ws/r/5023/ next one will use separate controllerconfig02:28
wallyworldthumper: we really should address those various TODO schema change items in the code base but we probs will run out of time :-(02:38
* perrito666 runs the whole suite and fires netflix02:42
thumperyes :(02:53
anastasiamacaxw_: GCE region fix: http://reviews.vapour.ws/r/5024/02:59
natefinchyay, someone fixed my bug! :)  sounds like it was worse than just lying about where we were bootstrapping03:02
natefinchanastasiamac: so, what happens if you bootstrap without specifying a region?03:03
axw_anastasiamac: have you tested live?03:03
anastasiamacyes03:03
anastasiamacnatefinch: u will have to specify region in ur clouds. i think u cannot by-pass it now anyway...03:04
anastasiamacaxw_: prior to change, I'd always end up on us-central, after change i've bootstrapped in us-east :D03:04
anastasiamacaxw_: (as expected)03:05
natefinchwhy is having a default bad?  I mean, sure, don't override what someone explicitly specifies... but do we require other clouds specify regions?03:05
axw_natefinch: we have defaults at a higher level now03:06
axw_natefinch: in clouds.yaml, the first region is the default unless you specify one03:06
axw_and we always pass that into the provider03:06
anastasiamacnatefinch: because, like in this case, at the provider level, it's easy to omit getting mandatory property from bootstrap config03:06
axw_(two places for a default => subtle bugs)03:07
anastasiamacnatefinch: m not planning to remove default from 1.25, only planning to add copy param logic :D03:07
natefinchaxw_: ok, sure, yeah, not having multiple defaults is fine.... but clouds.yaml isn't really a default, it's a configuration.  This means the user always has to manually specify a region, right?03:09
axw_natefinch: no. the first region specified in clouds.yaml, for each region, is the default unless you specify one. you can set a default region yourself, otherwise it's the first in the list03:09
axw_natefinch: run "juju show-cloud aws", and the first region in there should be the default for aws03:10
axw_(unless you have set one with "juju set-default-region")03:10
natefinchaxw_: I'm confused, I thought clouds.yaml was what we called the thing you had to write out by hand to pass into add-cloud.  Is that a generated file we create on disk?03:12
axw_natefinch: sorry, I was being a bit non-specific. there's ~/.local/shared/juju/public-clouds.yaml (public clouds), and ~/.local/shared/juju/clouds.yaml (personal clouds, ones you added with add-cloud)03:13
axw_natefinch: the public-clouds.yaml file won't be there by default, it's also built into the client03:14
axw_natefinch: but "juju update-clouds" will pull down a file in that spot if there's been updates, so a client can refer to new clouds/regions without upgrading03:14
natefinchaxw_: ahh, thanks, ok.  that was the context I was missing :)03:15
axw_natefinch: btw that intemediate clouds.yaml to feed into add-cloud should be going away (or at least relegated), as add-cloud will eventually (soon?) be made interactive03:18
natefinchaxw_: thank goodness.  the less yaml I have to write, the better :)03:19
axw_yep, the aim is to stop editing files by hand03:19
* thumper is on kid duty03:38
thumperI'm going to be afk for a while, but back after being a taxi tonight03:38
thumperdavecheney: oh, also, will miss standup tomorrow morning, on airport pick up duty03:41
=== thumper is now known as thumper-afk
natefinchcd .03:45
davecheneythumper-afk: right ok04:03
davecheneyno worries04:03
davecheneynatefinch: shutdown -h04:20
natefinchdavecheney: heh04:21
natefinchdavecheney: for your consideration: https://github.com/juju/juju/blob/master/worker/provisioner/provisioner_task.go#L40904:22
davecheneynatefinch: you'll have to try harder than that if you're trying to shock me04:27
davecheneythe MustCompile is a nice touch04:28
davecheneyvery devil may care04:28
natefinchI just can't even.  So much wrong in that one little line04:28
wallyworldaxw_: i'm not sure we should include cloud region in migration data, since model could be stored to a different cloud/region04:51
axw_wallyworld: I think migration expects to be between controllers in the same region04:56
axw_wallyworld: the machines/agents/etc. remain where they are, and are redirected to the new controller04:56
axw_wallyworld: they're not destroyed and recreated04:56
wallyworldok04:57
natefinchanyone having problems with statesuite.TestPing?  TearDownTest seems to hang forever05:06
natefinchlog is just full of [LOG] 0:55.041 DEBUG juju.mongo connection failed, will retry: dial tcp 127.0.0.1:39150: getsockopt: connection refused05:07
davecheneywhy does touching anything cause it to berak05:07
davecheneyhttps://bugs.launchpad.net/juju-core/+bug/159064505:07
mupBug #1590645: worker/catacomb: test failure under stress testing <juju-core:In Progress by dave-cheney> <https://launchpad.net/bugs/1590645>05:07
davecheneytop tip: this was already broken05:07
davecheney^ that's master05:07
mupBug #1590645 opened: worker/catacomb: test failure under stress testing <juju-core:In Progress by dave-cheney> <https://launchpad.net/bugs/1590645>05:08
davecheneynope, sorry, pebkac05:09
natefinchgah, testping doesn't even DO anything05:09
davecheneymenn0: could you take a second look at https://github.com/juju/juju/pull/557805:23
davecheneyI found a bug in stress testing that I have now fixed05:24
davecheneymenn0: https://github.com/juju/juju/pull/5578/commits/36c3e7f8bd9435bf1cccd2480b4f921bcb6345d905:24
menn0davecheney: looking05:29
menn0davecheney: the core change looks good but we still disagree about test suites05:38
mupBug #1590645 changed: worker/catacomb: test failure under stress testing <juju-core:Invalid by dave-cheney> <https://launchpad.net/bugs/1590645>05:38
davecheneymenn0: fine i'll roll back that change05:43
davecheneyit's not worth having a fight about05:43
menn0davecheney: kk05:43
davecheneymenn0: done05:43
davecheneyremoved that commit from the PR05:43
natefinchit's pretty insane that our api client tests take many many minutes to run05:43
menn0davecheney: ship it already :)05:44
davecheneymenn0: with pleasure05:45
davecheneymenn0: as you say, it was obvious in retrospect (now we can see the solution)05:46
davecheneywe _have_ to wait for both goroutines to finish05:46
menn0davecheney: yeah totally05:47
davecheneythe previous stopped channel connected both goroutines in one direction, but didn't in the other05:49
natefinchwelp.  Not getting these tests passing tonight.  Sorry wallyworld.  I keep running into random tests that time out after 10 minutes, which is sorta killing the development cycle here.  I'm even using gt to avoid retesting code I know hasn't changed.05:59
wallyworldok, can you push what you have?05:59
natefinchwallyworld: sure06:00
wallyworldty06:00
natefinchwallyworld: made a WIP PR to make it easier to see the diffs: https://github.com/juju/juju/pull/558306:03
wallyworldty06:03
wallyworldi'll try and look after soccer06:03
natefinchheh: +547 −5,74406:03
wallyworld\o/06:03
natefinchand most of that plus is really just a file rename or two06:04
natefinchok, bedtime.06:04
* redir goes to bed too!06:08
=== frankban|afk is now known as frankban
fwereadedavecheney, would you explain http://reviews.vapour.ws/r/5022/diff/# to me please? I see that the original second goroutine can outlive the catacomb; but I can't see how Kill()ing an already-finished worker triggers session-copy panics07:14
fwereadedavecheney, ...oh, dammit, is this presence again?07:14
blahdeblahAnyone know why when I ask Azure for 8 GB RAM & 50 GB disk, I get 13 GB RAM and 29 GB disk, but it claims to have mem=14336M root-disk=130048M ?07:18
fwereadedimitern, do you know about the DocID and tests for same around the linklayerdevices code?07:20
dimiternfwereade: what about it?07:21
fwereadedimitern, why it's exported, and why it includes the model-uuid07:21
dimiternfwereade: it shouldn't be exported07:22
dimiternfwereade: sorry about that07:22
fwereadedimitern, it happens ;)07:22
dimiternfwereade: but why is it surprising that it includes model-uuid as prefix?07:22
fwereadedimitern, fixed that already, mainly just checking something wasn't planning to build on it07:23
fwereadedimitern, because state isn't meant to know that stuff -- the multi-model stuff does it for you07:23
fwereadedimitern, or, it should -- I was wondering if there was something about it that meant it didn't quite fit07:24
dimiternfwereade: well, I wasn't that comfortable with the multi-model stuff then I guess, wanted to test it excplictly07:24
fwereadedimitern, just checking, though: you aren't using those DocIDs as anything other than _ids, right? not e.g. storing them in fields for subsequent lookup?07:25
dimiternfwereade: I'm using mostly global keys07:26
dimiternfwereade: and the DocID IIRC is only used for txn.Op{Id:} and FindId()07:27
fwereadedimitern, (global keys without any model-uuid prefix, right?)07:27
fwereadedimitern, cool, thanks for the orientation07:27
dimiternfwereade: without, except for the parent/child refs07:28
fwereadebugger07:28
dimiternfwereade: let me have a look to remind myself..07:28
fwereadedimitern, thanks07:29
blahdeblahAlso, 9 minutes to bootstrap that instance in Azure - is that expected?07:30
axw_blahdeblah: 1.25 or 2.0?07:31
dimiternfwereade: nope, so for the refs the docid is used literally as given, no assumptions on prefix07:32
blahdeblah1.25.507:32
blahdeblahaxw_: ^07:32
blahdeblahLooks like no matter what you ask for in a root disk, you get whatever Microsoft decides you need, which is 31.5 GB raw.07:32
fwereadedimitern, can you point me at the code you're looking at?07:32
dimiternfwereade: linklayerdevices_refs.go07:32
axw_blahdeblah: it's been a while since I looked at the old provider, will have to go spelunking07:33
blahdeblahaxw_: Is it something where we need to specify instance type instead of mem/disk constraints?07:33
axw_blahdeblah: re slowness: yes, sadly that's expected07:33
blahdeblahHow does this cloud still exist? :-\07:33
fwereadedimitern, ok, refs looks safe, it's explicit but doesn't need to be07:34
axw_blahdeblah: I *think* the root disk size is the same for all instance types, will need to check07:34
fwereadedimitern, what about lldDoc.ParentName?07:34
dimiternfwereade: that can be a global key07:35
blahdeblahaxw_: I suppose I should log a bug saying that there's no indication that the root-disk constraint is not honoured then...07:35
fwereadedimitern, whoa, ParentName lets docids leak out too?07:35
axw_blahdeblah: I think it may actually be related to the images that Canonical publishes07:36
dimiternfwereade: well, not quite the docid, just the gk07:36
blahdeblahaxw_: That affects the size of sda presented to the OS?  Seems unlikely...07:36
fwereadedimitern, still07:36
axw_blahdeblah: well the images have the size of the root disk in the name ...07:36
blahdeblahBut surely that would simply affect the size of the partition created on the disk, not the disk size itself...07:37
axw_blahdeblah: maybe, depends on whatever Hyper-V does. I don't know, I'll have a poke around07:37
blahdeblahThanks - appreciated.07:37
dimiternfwereade: looking at the code I don't see a good reason to export ParentName() actually.. as there is a ParentDevice() which is more useful outside of state anyway07:37
fwereadedimitern, excellent, I'll drop it if I can07:38
blahdeblahaxw_: I'll have a poke around for relevant bugs07:38
fwereadedimitern, still sl. struggling to get my head around what changes I could/should make to get around the internal test failures07:38
dimiternfwereade: please don't just drop it - it will still be needed inside the package for refs checks and some other internal logic, but unexporting it should be fine I think07:38
fwereadedimitern, sorry, that's what I meant07:39
fwereadedimitern, so, to step back for context07:39
dimiternfwereade: ok07:39
fwereadedimitern, I'm trying to extract a smaller, less stateful, type from State07:39
dimiternfwereade: sounds challenging :)07:39
fwereadedimitern, the clean line at the moment seems to be {database, model-uuid}07:40
fwereadedimitern, and I've tacked on only a few methods -- getCollection, runTransaction, and the docID/localID translators07:40
fwereadedimitern, this ofc means that the hacked-up state no longer produces the correct answers07:40
fwereadedimitern, because the implementation detail of *how* we calculate docID has changed07:41
fwereadedimitern, but I am deeply reluctant to just "fix" that *State07:41
dimiternfwereade: I'm afraid I do have a bunch of internal tests for LLDs that verify the docID format :/07:41
fwereadedimitern, the biggest question actually07:42
dimiternfwereade: I trust the multi-model code better now at least :)07:42
fwereadedimitern, is: can I just drop those internal tests? is there any functionality that isn't covered by external ones?07:42
fwereadedimitern, so many of them are working with an unconfigured state anyway... ;p07:42
fwereadedimitern, first stab at multi-model you did have to care about model-uuid07:43
dimiternfwereade: those tests that check the docID includes model uuid prefix? sure - I think those are unnecessary anyway07:43
fwereadedimitern, really, all the internal tests07:43
dimiternfwereade: but the assumptions on the globalKey format for LLDs is important07:43
fwereadedimitern, why so? they strike me as the purest of implementation details07:45
dimiternfwereade: I aimed for 100% coverage while writing the code, some bits of it are not possible to test externally, but the internal tests gave me confidence that code is exercised07:45
fwereadedimitern, if it's not possible to test it externally, why does it matter?07:45
fwereadedimitern, by definition, surely, that makes it an implementation detail07:46
dimiternfwereade: well, re gk format - container LLDs are intentionally restricted to only having a parent device on the same machine as the container and only of type bridge07:46
blahdeblahaxw_: FWIW, seems like it might be region-dependent.  If I bootstrap in debug mode, I get a bunch of error messages about Basic_A[1-4] and Standard_G[1-5] not being available in US East07:47
fwereadedimitern, ok, but aren't those restrictions exercisable via the exported api? doesn't matter what strings we use, it's the restrictions on the live types we export that we need to verify07:49
dimiternfwereade: sorry, I've looked at the internal tests again; ISTM most can be either moved to the non-internal suites or simply dropped07:50
dimiternfwereade: those that could be moved include tests on simple getters or exported, related helper funcs (e.g. IsValidLinkLayerDeviceName)07:54
fwereadedimitern, ok, I'll see what I can do, thanks07:56
axw_blahdeblah:  "Azure supports VHD format, fixed disks." --  https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-about-disks-vhds/07:56
dimiternfwereade: I believe tests around parent gk format can be tested externally, it was just easier to test them with a 'fakeState' (and not bring up the whole stack with the real one)07:57
axw_blahdeblah: the old provider should not allow you to specify 50GB in the first place. the new one doesn't07:57
blahdeblahaxw_: When you say "old provider", you mean the one in 1.25.x ?07:59
fwereadedimitern, as in, we can externally test that we can't create bad LLDs?07:59
axw_blahdeblah: yep07:59
blahdeblahaxw_: So if I need more than 31.5 GB root disk, what can I do?07:59
axw_blahdeblah: it does not exist in 2.0. Azure completely changed their APIs07:59
fwereadedimitern, is there something specific about the gks that I'm missing?07:59
axw_blahdeblah: so with the old world, I think you could do it with some hoop jumping: take the existing VHD, resize it and upload to your private storage. then you'd need custom image metadata08:00
axw_blahdeblah: not sure why the images have such a small size in the first place tho really08:00
axw_blahdeblah: possibly because with "premium storage", you pay by the disk size, rather than usage08:01
blahdeblahaxw_: When you say "old world", you mean "The only production-ready version currently supported"? :-)08:01
axw_blahdeblah: yes.08:01
dimiternfwereade: well, there's one thing...08:01
blahdeblahaxw_: So can we specify instance type or something like that to get around this?08:01
blahdeblahOr are we just stuck with 31.5 GB?08:01
axw_blahdeblah: nope, it's down to the images I'm afraid. all instance types have the same max limit for OS disk sizes08:02
dimiternfwereade: to test e.g. you can't add a parent device to a container device without using the parent's globalkey as LLDArgs.ParentName08:02
blahdeblahaxw_: OK - thanks for your time.08:02
dimiternfwereade: you have to use the gk, which is then verified to exist on the same host machine as the container and it's a bridge08:03
fwereadedimitern, don't we have some other way of identifying the parent?08:03
dimiternfwereade: well, we only need its name and its host machine, which is conveniently part of the LLD's gk08:04
dimiternfwereade: and in other cases (e.g. adding a new child to existing parent device on the same machine) we just use the plain parent device name in LLDArgs.ParentName08:05
fwereadedimitern, sorry, when is a new child *not* added to an existing parent on the same machine?08:06
dimiternfwereade: but hey! fortunately, that logic with LLDArgs.ParentName being a gk is only really used in one place usable externally08:06
dimiternfwereade: when it's on a different machine (e.g. in a container, while the parent is on the host machine of that same container)08:07
dimiternfwereade: SetContainerLinkLayerDevices is the only place currently where we use a gk-based ParentName for adding devices08:08
dimiternfwereade: and if LLD.ParentName() is unexported, and ParentDevice() used instead (as it is IIRC), we won't leak gks outside of state08:12
fwereadedimitern, I remain a bit suspicious of the still-extant ability to specify gk-ParentName from outside08:13
fwereadedimitern, could we, e.g., have always-simple-ParentDeviceName, and ParentMachineID, in LLDArgs?08:16
dimiternfwereade: that can be rectified, assuming SetLinkLayerDevices() rejects ParentName set to a gk, and SetContainerLLDs can bypass that check internally08:16
dimiternfwereade: that's perhaps better - future-proof and more explicit08:17
fwereadedimitern, cheers08:18
dimiternfwereade: btw, now that you've had a chance to look at the approach I used for setting LLDs and LLDAddresses in bulk08:19
dimiternfwereade: how do you like it?08:19
fwereadedimitern, only just looking at that side of it now...08:20
fwereadedimitern, just reading setDevicesAddresses... doesn't the providerID stuff have that index gotcha? I see some checking but it's not immediately clear that it's enough08:22
dimiternfwereade: it was a noble attempt at first :) but it got complicated as parent/child refs were added.. and my inability to construct a single set of []txn.Op that can insert and verify new parents and new children of those in the same set of ops08:22
dimiternfwereade: now providerIDsC is used for subnets, spaces, LLDs, and LLDAs, and the indexing issue is handled there08:23
fwereadedimitern, yeah, the "you don't need to assert what you're doing in this txn" thing honestly only makes life harder08:23
fwereadedimitern, ok... but the providerID memory-checks aren't guaranteed to run at all here, are they? and I don't think they're asserted at apply-time either08:24
dimiternfwereade: yeah txn.DocMissing being the only possible option for inserts can really force you to re-think.. and I do understand why it's the only option08:24
* dimitern takes a look08:26
fwereadedimitern, no, wait, setDevicesAddressesFromDocsOps seems to cover that08:27
dimiternfwereade: so the ProviderID on LLDAddrDoc is just for convenience, it's not enforcing integrity like it used to; the asserts on PrIDsC do08:27
fwereadedimitern, sorry, I seem to be slow thing morning08:29
fwereadedimitern, we have some logic around :592 that checks for dupe provider ids -- what does it do that sDAFDO doesn't?08:30
dimiternfwereade: it validates whether ErrAborted occured due to the assert added in sDAFDO08:31
fwereadedimitern, won't reinvoking sDAFDO catch those anyway?08:31
mupBug #1590671 opened: Azure provider does not honour root-disk constraint <juju-core:New> <https://launchpad.net/bugs/1590671>08:33
dimiternfwereade: well, it looks like sDAFDO doesn't validate, just asserts docMissing08:33
dimiternfwereade: sorry, I need to talk to some contractors that just arrived - back in ~15m08:34
fwereadedimitern, np08:34
voidspacejam: happy birthday08:35
fwereadedimitern, should networkEntityGlobalKeyOp theoretically be doing that check? if it's just a FindId().Count() I'd not too worried, even if we do ask it a bunch of times...08:36
davecheneyfwereade: the problem is the goroutine does, w.Stop() and then returns, marking the waitgroup as done08:41
davecheneyStop doens't actaully stop, it just asks to stop so the worker can still be in the process of shutting down when the mongo connection is torn down08:41
jamthanks voidspace08:59
fwereadedavecheney, right; but that's why the wg.Done happened after the Wait in the first goroutine -- how does the wg complete with a running worker? the only race I see is the possibility of a late Kill in the second goroutine09:02
fwereadedavecheney, and I accept *that's* wrong, because it's too trusting of Kill not to do anything untoward09:04
fwereadedavecheney, but if I understand correctly, you're saying that workers live too long, not that late Kills of already-dead workers are the problem?09:05
fwereadedavecheney, and I don't see how that was happening, because we always Wait()ed for the worker before we call wg.Done09:06
fwereadedavecheney, (I am assuming you're talking about Kill, which doesn't wait, rather than Stop, which does wait but wasn't used in the original)09:08
dimiternfwereade: I suppose so09:16
dimiternfwereade: but since networkEntityGlobalKeyOp is used for subnets, and spaces as well, it should be done carefully09:16
fwereadedimitern, ack09:17
fwereadedimitern, (also, I'm pretty sure machineProxy is evil vs extracting ops-composers and using them in both places)09:17
dimiternfwereade: yeah, machineProxy was added mostly for convenience, is it evil because it assumes the LLD and the machine are always on the same session?09:20
fwereadedimitern, more that it's pretending to be a valid machine and it's really not09:21
fwereadedimitern, it's trusting to luck that an empty machine doc won't trigger a bad-memory-state failure09:22
dimiternfwereade: fair point09:23
fwereadedimitern, the garbage data is *kinda* ok, in that the asserts *should* trap any problems, but you've still got an invalid *Machine lying around and it makes me nervous ;p09:23
mupBug #1590689 opened: MAAS 1.9.3 + Juju 1.25.5 - on the Juju controller node eth0 and juju-br0 interfaces have the same IP address at the same time <cpec> <juju> <maas> <juju-core:New> <MAAS:New> <https://launchpad.net/bugs/1590689>09:24
fwereadedimitern, anyway, I think I have to consider most of this a derail, I'm adding a bug09:24
dimiternfwereade: FWIW it's never lying around - only used to call LLD(name) on it in 2 places09:25
dimiternfwereade: but still09:25
fwereadedimitern, yeah, it's not how it's used right that bothers me so much as how someone will one day use it wrong ;)09:26
dimitern(considering all of that was designed and implemented in a week..)09:26
dimiternfwereade: indeed; "don't be clever, be obvious"09:27
dimitern:)09:27
fwereadedimitern, I apologise for the length of this letter, I did not have time to make it shorter ;)09:27
dimiternfwereade: which one?09:28
fwereadedimitern, it's a quote from someone-or-other that seemed tangentially relevant09:29
fwereadedimitern, "shorter" *sort of* maps to "more obvious", so long as it's the right sort of shortness09:30
dimiternfwereade: ah :) I was thinking of "clean code"09:30
fwereadedimitern, that is rather more directly relevant than pascal, indeed ;)09:31
mupBug #1590689 changed: MAAS 1.9.3 + Juju 1.25.5 - on the Juju controller node eth0 and juju-br0 interfaces have the same IP address at the same time <cpec> <juju> <maas> <juju-core:New> <MAAS:New> <https://launchpad.net/bugs/1590689>09:33
babbageclunkSomeone needs to come up with a way of hedging Pascal's wager against Roko's Basilisk.09:36
fwereadebabbageclunk, ssh!09:36
fwereade;p09:37
babbageclunkSorry you guys.09:37
mupBug #1590689 opened: MAAS 1.9.3 + Juju 1.25.5 - on the Juju controller node eth0 and juju-br0 interfaces have the same IP address at the same time <cpec> <juju> <maas> <juju-core:New> <MAAS:New> <https://launchpad.net/bugs/1590689>09:42
mupBug #1590699 opened: LinkLayerDeviceArgs exposes globalKeys outside state <tech-debt> <juju-core:Triaged> <https://launchpad.net/bugs/1590699>09:42
babbageclunkhey dimitern, got a moment for more stupid questions?09:46
dimiternbabbageclunk: always :)09:46
babbageclunkdimitern: So I've added my vlans to the eni on the maas controller and restarted. The routes *seem* ok, but I still can't ping any of the vlan addresses on the hosts.09:48
dimiternbabbageclunk: what have you tried pinging?09:48
babbageclunkdimitern: 192.168.10.209:49
dimiternbabbageclunk: that's a node's address and you pinged from maas?09:49
babbageclunkdimitern: yup09:50
babbageclunkdimitern: on one node I can see that in ip route, and on the maas node I still get destination host unreachable trying to ping that address.09:51
dimiternbabbageclunk: do you have ip forwarding enabled on maas?09:51
babbageclunkdimitern: Do I need to set the vlan up in the VMM virtual network config?09:51
babbageclunkdimitern: Where do I check for ip forwarding?09:52
dimiternbabbageclunk: sudo sysctl -a | grep ip_forward09:52
babbageclunkdimitern: oh, ok - nothing in the ui?09:52
babbageclunkdimitern: net.ipv4.ip_forward = 109:53
dimiternbabbageclunk: the kvm node has 1 or more NICs, each of which connected to a libvirt bridge; the bridge is layer-2, so it will pass both tagged and untagged traffic09:53
babbageclunkdimitern: ok]09:53
dimiternbabbageclunk: on the node page in maas though, you need to have a physical NIC on the untagged vlan and 1 or more vlan NICs09:54
babbageclunkdimitern: for the rack controller?09:55
babbageclunkdimitern: yes, I've got those.09:55
dimiternbabbageclunk: can you paste e/n/i from your rack controller?09:55
dimiternbabbageclunk: where are the nodes and rack ctrl located?09:56
dimiternbabbageclunk: if the kvm nodes are on the rack ctrl machine, you need bridges there as well; if the rack ctrl is itself a kvm and it's sitting on your machine, along with all the nodes09:57
babbageclunkdimitern: Ooh, looking back at your eni example I think I see the problem09:57
babbageclunkdimitern: (well, a problem)09:57
babbageclunkdimitern: http://pastebin.ubuntu.com/17139880/09:57
dimiternbabbageclunk: ...then you need to enable forwarding on your machine as well, and the bridges will be on your machine09:58
babbageclunkdimitern: I've left off the /24 part of the address09:58
babbageclunkdimitern: The rack controller and the nodes are all kvms on my machine/09:58
dimiternbabbageclunk: yeah! :) it's either e.g. /24 or netmask is needed09:58
dimiternbabbageclunk: omitting both means /32 IIRC09:59
babbageclunkdimitern: ok, fixing and bouncing09:59
babbageclunkdimitern: oops, meeting10:00
babbageclunkdimitern: thanks again! I owe you about an infinitude of beers by this poing.10:00
babbageclunkgah, point10:00
dimiternbabbageclunk: heh, keep 'em coming :D10:01
dimiternanastasiamac: meeting?10:03
dimiternanastasiamac: can you try again pushing?10:12
anastasiamacdimitern: fatal: unable to access 'https://github.com/juju/juju/': The requested URL returned error: 40310:15
anastasiamacdimitern: ;(10:15
voidspaceanastasiamac: so you shouldn't be able to push to juju/juju - so why is it trying?10:16
anastasiamacdimitern: ofco - i have not created a branch \o/10:16
anastasiamacthank you!! like i said - one of these days :D10:17
dimiternanastasiamac: :)10:17
babbageclunkdimitern, that didn't help. :(10:57
dimiternbabbageclunk: adding the /24 ?10:58
babbageclunkdimitern: yup10:58
babbageclunkdimitern: What were you saying about bridging above? If the controller and the nodes are all sibling kvms do I need bridges in the controller eni?10:59
babbageclunkdimitern: There are bridges in the node ENIs, but I don't know whether they're needed or working.11:00
dimiternbabbageclunk: juju created those11:00
babbageclunkdimitern: Ah, right.11:00
dimiternbabbageclunk: but yeah, the libvirt bridges where both maas and the nodes connect to are on your machine I guess then11:01
dimiternbabbageclunk: how are those bridges (networks) configured?11:01
dimiternbabbageclunk: in vmm11:02
dimiternbabbageclunk: hmm also - is there anything in /e/n/interfaces.d/ on the rack machine?11:02
babbageclunkdimitern: my host eni is basically empty - presumably handled by something else?11:04
babbageclunkdimitern: no, nothing in the rack controller interfaces.d11:04
dimiternbabbageclunk: yeah, usually network manager handles that11:04
dimiternbabbageclunk: re rack's e/n/i.d/ - ok; please paste the output of `virsh net-list` and `virsh net-dumpxml <name>` for each of those?11:07
dimitern(or only those relevant to that maas rack)11:09
babbageclunkdimitern: http://pastebin.ubuntu.com/17141198/11:11
dimiternbabbageclunk: ok, so your maas2 network on ens3 on the rack, but what's 10.10.0.0/24 then?11:13
dimiterns/network on/network is on/11:13
dimiternbabbageclunk: that looks like the issue - eth1.10 on the rack11:14
dimiternbabbageclunk: is this the pxe subnet for the nodes?11:14
babbageclunkdimitern: That's a holdover from a previous space experiment (I think it was for reproducing a bug maybe?) - should I just get rid of it?11:18
babbageclunkdimitern: Don't understand your last question.11:18
babbageclunkdimitern: Is what the pxe subnet?11:18
mupBug #1590732 opened: unnecessary internal state tests for networking <tech-debt> <juju-core:Triaged> <https://launchpad.net/bugs/1590732>11:18
dimiternbabbageclunk: the pxe subnet is the one the nodes boot from, it cannot be on a tagged vlan; paste the output of `maas <profile> interfaces read <id>`, for the node you where unable to ping?11:19
dimiternbabbageclunk: it the node interfaces table in the ui the pxe interface is marked with a selected radio button11:20
dimiterns/it/in/11:20
babbageclunkdimitern: hang on, I rebooted the controller after the eni change.11:20
babbageclunkdimitern: http://pastebin.ubuntu.com/17141467/11:27
babbageclunkdimitern: pxe's always on the physical interface.11:27
dimiternbabbageclunk: ok, thanks, I think I see a few things that might be the cause11:28
babbageclunkdimitern: Or do you mean there can't be any tagged vlans hanging off the pxe interface?11:28
dimiternbabbageclunk: I think the gateway_ip is wrong for the 192.168.150.0/24 subnet is wrong11:30
babbageclunkdimitern: Really? Wouldn't that have stopped them from getting to the internet?11:32
babbageclunkdimitern: The 150 subnet was set up automatically at MAAS install time.11:32
dimiternbabbageclunk: I believe the maas rack's ip should be the gateway for the nodes (i.e. gateway ip on the 192.168.150.0/24 subnet in maas), as the .1 address is the libvirt bridge11:33
dimiternbabbageclunk: the rack itself needs to use the .1 ip on ens3 as gateway11:33
dimiternbabbageclunk: i.e. try updating the 192.168.150.0/24 subnet to use 192.168.150.2 as gateway ip, and then deploy a node directly from maas (no juju) and see how it comes up and whether you can ping its IP from maas and vs11:35
dimiternvv.11:35
babbageclunkdimitern: ok. (vv?)11:35
dimiternbabbageclunk: sorry; vice verse (?)11:37
babbageclunkdimitern: Ah, right.11:37
dimiternI was sure it's written as versa but erc syntax check underlines it..11:37
babbageclunkdimitern: I can't change the subnet while things are using it, I'll have to kill my juju nodes.11:38
babbageclunkdimitern: Oh, maybe that's just a limitation in the ui?11:38
dimiternbabbageclunk: ah, I suppose it's like that for safety11:39
babbageclunkDo you think I should blow away my maas install and start again entirely clean?11:39
dimiternbabbageclunk: no need to go that far I think - just release the nodes, update the subnet's gw and try deploying I guess should fix it, hopefully11:40
babbageclunkdimitern: ok, doing that now.11:43
dimiternbabbageclunk: I need to go out btw.. but should be back in 1h or so11:46
babbageclunkdimitern: ok - I'm going to go for a run soon too. Thanks.11:47
dimiternbabbageclunk: np, good luck :) and I'll ping you when I'm back11:47
babbageclunkdimitern: :)11:52
babbageclunkdimitern: you're out, but yay! I deployed a machine and can ping it from the controller on the vlan IP and vice versa.12:13
babbageclunkdimitern: rerunning my bootstrap now and going for a run.12:13
=== akhavr1 is now known as akhavr
natefinchjam: you around?13:47
rogpeppe1anyone wanna review this, which deprecates some fields that wanted to go a long time ago in charm.Meta? https://github.com/juju/charm/pull/21214:01
natefinchrogpeppe1: LGTM with a couple doc tweaks14:10
rogpeppe1natefinch: thanks14:10
dimiternbabbageclunk: nice!14:22
mupBug #1590821 opened: juju deploy output is misleading <juju-core:New> <https://launchpad.net/bugs/1590821>14:55
babbageclunkdimitern: Hmm - now juju run is hanging on me.15:10
babbageclunkdimitern: huh - correction, juju run --unit hangs. juju run --machine is working fine.15:12
dimiternbabbageclunk: try with --debug ?15:17
babbageclunkdimitern: http://pastebin.ubuntu.com/17145175/15:20
babbageclunkdimitern: Ooh, I saw something in the juju run docs about show-action-status15:21
dimiternbabbageclunk: try `juju run --unit haproxy/0 -- 'echo hi'15:21
babbageclunkdimitern: that shows the unit-level jobs I've been running as pending, while the machine ones are completed.15:22
dimiternbabbageclunk: the extra args are confusing 'juju run' I think15:22
babbageclunkdimitern: no difference15:22
dimiternbabbageclunk: ok, so if the unit agent hasn't set the status to started and it's still pending, something didn't work15:23
dimiternbabbageclunk: try looking for issues in the unit-haproxy-0.log ?15:23
babbageclunkdimitern: I did have some work at the start! I can see them completed in the show-action-status output.15:23
babbageclunkdimitern: Ok, checking the log15:23
dimiternbabbageclunk: since juju run is actually handled by the uniter, it needs to run in order to do anything15:24
babbageclunkdimitern: At the end of the log I see a lot of "leadership-tracker" manifold worker returned unexpected error: leadership failure: lease manager stopped15:25
dimiternbabbageclunk: hmm15:26
dimiternbabbageclunk: this sounds bad, but it might be orthogonal.. any other errors?15:26
babbageclunkdimitern: no, nothing that sounds exciting. Blocks of http://pastebin.ubuntu.com/17145415/15:28
babbageclunkdimitern: periodically15:29
dimiternbabbageclunk: ok, how about the output of juju show-machine?15:29
babbageclunkdimitern: http://pastebin.ubuntu.com/17145473/15:31
dimiternbabbageclunk: hmm15:31
dimiternbabbageclunk: well, the only thing left to check is `juju status --format=yaml` I guess15:32
babbageclunkdimitern: I'll look in the controller logs too.15:32
dimiternbabbageclunk: yeah, it might help if e.g. the spaces discovery wasn't completed by the time the unit started to get deployed..15:33
babbageclunkdimitern: nothing interesting in juju status --format=yaml15:34
dimiternbabbageclunk: wait a sec... why machine 0's address is 192.168.10.2 ? I'd have expected to see 192.168.150.x ?15:34
dimiternbabbageclunk: wasn't the .10. subnet on a tagged vlan 10 ?15:35
dimiternbabbageclunk: or maybe it still is, but just the .10. address sorted before the .150. one and was picked as "preferred private address"..15:36
babbageclunkdimitern: yeah, it is on the vlan15:36
babbageclunkdimitern: I had to run sshuttle for juju ssh to work.15:36
babbageclunkdimitern: .10 is the internal vlan15:37
dimiternbabbageclunk: do you mind a quick HO + screen share - it will be quicker to diagnose15:38
babbageclunkok15:38
babbageclunkdimitern: juju-sapphire?15:38
dimiternbabbageclunk: joining yesterday's standup15:38
dimiternyeah15:38
dimiternbabbageclunk: you appear frozen..15:39
babbageclunkdimitern: yeah, my whole machine hung15:40
dimiternooh :/15:40
dimiternbabbageclunk: same thing.. you might be having the same issues as I had before downgrading the nvidia driver from proposed to stable15:42
babbageclunkdimitern: yay, back again!15:43
babbageclunkOk, maybe not screen sharing - what about tmate?15:43
dimiternI haven't used it15:44
frobwaredooferlad: ping16:12
dooferladfrobware: two minutes16:19
frobwaredooferlad: can you jump into sapphire HO when ready - thx16:20
frobwaredooferlad: (reverse-i-search)`check': git checkout f0b4d55bd98e5d1a9089399dc7ecee2c75ecc6a8 add-juju-bridge.py16:36
natefinchahh state tests.... my old nemesis17:02
perrito666heh, I had time for lunch with dessert and possibly a coffee and the suite is still running17:06
natefinchman, my tests do not like to run in parallel... apiserver and state tests both barf when I run all tests, but run fine if I run them by themselves.17:09
=== frankban is now known as frankban|afk
natefinchI wish we had a "please test my branch on CI because I don't trust the tests running on my own machine" button17:53
perrito666natefinch: I use the other machine17:56
cheryljhey cmars - were you able to access that windows system from sinzui  for bug 1581157?18:00
mupBug #1581157: github.com/juju/juju/cmd/jujud test timeout on windows <blocker> <ci> <regression> <test-failure> <unit-tests> <windows> <juju-core:Triaged by dave-cheney> <juju-core 1.25:Triaged> <https://launchpad.net/bugs/1581157>18:00
cmarscherylj, haven't tried it yet18:00
cmarscherylj, ok, i can rdp into it18:06
cmarscherylj, how would i reproduce the hang there? not familiar with the CI setup18:06
cheryljcmars: what I've done in the past is looked at what the GOPATH is18:07
cheryljto see where the src might be18:07
cheryljis GOPATH set?18:07
cmarscherylj, it is, but there's no $env:GOPATH/src18:07
cheryljcmars: okay, then you'll need to scp a tar of the src18:08
cheryljI've used the ones generated by CI, one sec18:08
cmarscherylj, hmm.. i could just use go get to grab the source18:08
cheryljcmars, it's easier to get the tarball :)18:09
cheryljin my experience anyway18:09
cheryljhttp://data.vapour.ws/juju-ci/products/version-4043/build-revision/build-4043/juju-core_2.0-beta9.tar.gz18:09
cheryljget that then scp it to the windows machine18:09
natefinchI wish juju status just had a -v to alias --format=yaml18:10
cheryljcmars: I had to use a path like this in the scp:  $ scp file_windows.go Administrator@<host>:/cygdrive/c/Users/Administrator18:10
natefinchha: https://bugs.launchpad.net/juju-core/+bug/157531018:12
mupBug #1575310: Add "juju status --verbose". <feature> <juju-release-support> <status> <usability> <juju-core:Triaged> <https://launchpad.net/bugs/1575310>18:13
natefinchAnyone have an inordinate amount of free time?  I need a review: http://reviews.vapour.ws/r/5027/    Files changed: 89  +547 -574418:15
alexisbericsnow, ^^^18:17
ericsnownatefinch: looking18:18
natefinchit's all pretty mechanical, honestly18:18
cmarscherylj, ok. i don't know how to untar on windows, but go get worked fine. i've got a loop of `go test ./cmd/jujud/agent` running in a loop, 30 times, on that machine. it's tee'ing output to a log file, will check it after lunch18:28
cmarsit's running against latest master18:29
cheryljcmars: yeah, you have to use that '7z' utility that sinzui mentioned in the email18:29
mupBug #1590909 opened: github.com/juju/juju/state: undefined: cloudSettingsC <juju-core:New> <https://launchpad.net/bugs/1590909>18:34
natefinchhmm.... I don't think juju deploy mysql --to lxd is working18:45
natefinchericsnow: is lxd as a container type supposed to work on trusty machnies?18:45
ericsnownatefinch: I'd expect it to (given LXD is set up correctly)18:46
ericsnownatefinch: and Go is 1.3+18:46
natefinchericsnow: I mean, like, deploy mysql --to lxd  in AWS,  ... should spin up a new machine and deploy a lxd container to it18:47
natefinchand deploy mysql to that container18:47
ericsnownatefinch: not sure18:47
cheryljnatefinch: it should work, but only if the container is also trusty18:47
cheryljerm, maybe18:47
natefinchericsnow: so far, looks like no... juju add-machine lxd works18:48
cheryljthat's how it was with lxc anyway18:48
cheryljn/m me18:48
cheryljheh18:48
natefinchlemme try something that uses xeniel18:48
natefinchxenial18:48
natefinch...that's a no.18:50
natefinchit never creates the base machine18:50
natefinchdamn18:50
natefinchbrb18:50
redirsigh nil vs non-nil mismatch; obtained <nil>; expected <nil>19:02
ericsnownatefinch: fix-it-then-ship-it19:06
=== ericsnow is now known as ericsnow-afk
=== redir is now known as redir_afk
natefinchsinzui: do we test deploying to containers in CI?19:19
natefinchmgz: ^19:20
sinzuinatefinch: all the time19:20
sinzuinatefinch: lxd network still fails19:21
natefinchsinzui: ahh... umm.. shouldn't that be like a blocking bug or something?19:21
sinzuinatefinch: we bring it up several times a week. We are told it isn't as hot as the other bugs...but I am sure when lxc is removed. it will be hot19:22
natefinchsinzui:  lol, yeah... I'm hesitant to remove lxc if we have no replacement (other than kvm)19:22
sinzuinatefinch: kvm isn't a replacement because public clouds don't support it19:23
natefinchsinzui: ahh, well doubly so then19:24
sinzuinatefinch: We have bundles that deploy to lxd. the workloads work. lxd mostly works. its networking is broken though. juju cannot ssh into it as it can with lxc.19:29
natefinchsinzui: ahh, ok... my current branch doesn't work, so that's interesting.  I'll retry with master to make sure I know what it expect19:29
natefinchsinzui: by doesn't work, I mean that if you deploy, no base machine is ever created, so the fcontainer is never created, so the service is never deployed.  But it sounds like that's probably my own fault on my branch19:30
mgznatefinch: specific things are still an issue with lxd, but the common stuff works. you may either have borked something in your branch or have hit a specific sequence of steps that don't19:32
mgzmost of lxd tests just throw a bundle at juju, only one or two use add-machine/--to19:32
natefinchmgz: since I changed 89 files around container stuff, it's probably my fault.  I'll double check19:32
natefinchhmmm ERROR failed to bootstrap model: cannot start bootstrap instance: cannot run instances: Request limit exceeded. (RequestLimitExceeded)19:54
natefinchwonder if my previous aws deployment was retrying the machine deployment too much19:55
natefinchfrom previous controller: machine-0: 2016-06-09 18:05:00 WARNING juju.apiserver.provisioner provisioninginfo.go:526 encountered cannot read index data, cannot read data for source "default cloud images" at URL https://streams.canonical.com/juju/images/releases/streams/v1/index.sjson: openpgp: signatur19:57
natefinche made by unknown entity while getting published images metadata from default cloud images19:57
natefinchunit mysql/0 cannot get assigned machine: unit "mysql/0" is not assigned to a machine19:58
natefinchthat is uh, not the most useful error stack19:59
natefinchreconfiguring logging from "<root>=DEBUG" to "<root>=WARNING;unit=DEBUG"  ... is this our default logging level now?20:00
perrito666bbl20:00
natefinchthat seems... odd20:00
=== thumper is now known as thumper-afk
mupBug #1590947 opened: TestCertificateUpdateWorkerUpdatesCertificate failures on windows <juju-core:New> <https://launchpad.net/bugs/1590947>20:29
cheryljnatefinch: afaik, it's always been at that logging level20:34
natefinchcherylj: weird... maybe I've had a custom logging level set in my environments.yaml for so long that I didn't realize.  It seems like a crazy log level20:34
cheryljyes20:35
cheryljI agree20:35
natefinchcherylj: I mean... not showing info drops a lot of useful context on the floor... and unit=debug? What?   I'll file a bug.20:35
natefinchdoes unit even work?  would't it need to be juju.unit?20:37
natefinchmgz, sinzui: FWIW, juju deploy ubuntu --to lxd does not create base machines using master, at least for me (just tried on GCE since AWS was mad at me)20:41
* natefinch files another bug20:41
sinzuinatefinch: mad at all of us. none of us could launch an instance in us-east-1 for the last two hours20:42
natefinchsinzui: ahh, ok, I thought it was something my code had triggered accidentally20:44
mupBug #1590958 opened: Juju's default logging level is bizarre <juju-core:New> <https://launchpad.net/bugs/1590958>20:50
natefinchbtw, looks like add-machine lxd works, and I can then deploy --to 0/lxd/0 ... it's just the straight deploy foo --to lxd  that isn't working20:57
mgznatefinch: yeah, that sounds possible, we may just not do that in functional tests20:58
natefinchmgz: yep20:59
natefinchgotta run, will bbl20:59
=== natefinch is now known as natefinch-afk
mupBug #1590960 opened: juju deploy --to lxd does not create base machine <deploy> <lxd> <juju-core:Triaged> <https://launchpad.net/bugs/1590960>21:11
mupBug #1590961 opened: Need consistent resolvable name for units <juju-core:New> <https://launchpad.net/bugs/1590961>21:11
=== ericsnow-afk is now known as ericsnow
wallyworldkatco: looks like you have a plan for capturing CLI interactions?21:58
katcowallyworld: CLI interactions? no, API requests21:58
wallyworldah sorry, yeah21:58
wallyworldthat's what i meant21:58
katcowallyworld: it looks like the RPC stuff already has a concept of listening to what goes on, but unfortunately it's constrained to a single type21:59
katcowallyworld: so i'm expanding on that a little21:59
wallyworldkatco: could you outline your idea and email the tech board just to ensure they are in the loop21:59
katcowallyworld: ...seriously? i don't think this is a radical change...22:00
wallyworldok. i was just a little cautious messing with the rpc stuff but i guess it's ok22:00
katcowallyworld: i can email them. i don't think it's a breaking change. it's probably easier to just point them at a diff though22:01
=== thumper-afk is now known as thumper
wallyworldkatco: so the plan is to use export the RequestNotifier and use that?22:02
katcowallyworld: no, the plan is to support multiple observers, one of which will remain the RequestNotifier22:03
katcowallyworld: the other one will be the audit observer22:03
wallyworldok, and you need to export RequestNotifier so you can manage it as an observer22:04
katcowallyworld: well it's in an internal package, so it's scope isn't any different22:04
katcowallyworld: but i wanted to encapsulate all the observers so they're not cluttering apiserver22:04
wallyworldok, thanks for clarifying, just trying to get up to speed22:05
mupBug #1590909 changed: github.com/juju/juju/state: undefined: cloudSettingsC <juju-ci-tools:New> <https://launchpad.net/bugs/1590909>22:06
katcowallyworld: np, lmk if you have any more qs22:06
wallyworldwill do ty22:07
wallyworldgave your pr +122:07
katcowallyworld: ta22:09
=== redir_afk is now known as redir
wallyworldrick_h_: you around?22:26
alexisbwallyworld, rick_h_is out today22:28
wallyworldah, ok22:28
alexisbwallyworld, send him mail22:28
wallyworldywp, will do22:28
alexisbhe has been responding occasionally22:28
thumperwallyworld: for status I am using ModelName() and ControllerName() to get the local names, but how can I get cloud?22:29
wallyworldthumper: get ControllerDetails()22:29
wallyworldthat should have cloud in it IIRC22:29
thumperk22:29
wallyworldyep, and it has region22:30
thumpergah22:30
thumperJujuConnSuite is a PITA22:30
thumperwhere are the tools it can use defined?22:30
wallyworldjeez, you just worked that out22:30
thumperI need a defined version number22:30
thumpera known, static version number22:30
wallyworldthumper: there's UploadFakeTools helpers maybe22:30
wallyworldi think that's what stuff uses22:31
thumperugh...22:31
thumpertoo much hastle22:31
wallyworldit's ugly22:31
thumperjust let me choose a known version22:31
thumperdo you recall where they are?22:31
wallyworldpatch current.Version22:31
wallyworldi can look22:31
perrito666great, my ISP cannot properly route me to argentinian ubuntu mirrors but can do to us ones22:34
perrito666yay the upgrade to xenial sort of worked23:33
anastasiamac"sort of" :)23:34
perrito666I had to finish it  the old way23:34
anastasiamac\o/ there is wisdom in old ways :)23:35

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