/srv/irclogs.ubuntu.com/2017/07/13/#juju-dev.txt

wallyworldexternalreality: review done, i think we can remove the mock store00:57
externalrealitywithout the mock store the tests won't actually read the yaml files.00:59
externalrealityThe yaml files are read twice, once for getting the data and once for validating it.01:00
externalrealityunfortunately I could work around that01:01
wallyworldexternalreality: but only one method is called onthe mock store - we create a mock store just to call the one method. the mock store is not used elsewhere after that that i can see01:02
wallyworldso can't we call that one method directly?01:03
externalrealityHmmm, sounds right. Will fix. :-D01:03
wallyworldty01:04
wallyworldaxw: thanks for review. i may have misunderstood your point about relation macaroon. i've replied to your comment. maybe we need to discuss?02:08
axwlooking02:08
axwwallyworld: for the relation macaroon, you're using for the ID: "relation-"+localRel.Tag().Id(). I'm saying that's OK, but you should include the model UUID in the ID as well. otherwise it'll collide with other models (bakery storage is not model-specific)02:10
wallyworldaxw: ah, right, i missed the bit about bakery storage not being model specific. i thought it was02:11
axwwallyworld: alternatively make it blank, but then you'll get a new key for each register call, even for the same relation02:11
wallyworldaxw: i wanted to give it a name so i could delete it when the relation died02:12
axwwallyworld: yep, makes sense02:12
wallyworldaxw: that was also the reason for naming the offer macaroon. but it can just be cleaned up by the ttl index02:12
axwwallyworld: for the offer macaroon, you can have a single one, and then rely on an additional caveat to force the client to prove itself. then use that for revocation02:13
axwi.e. refresh02:13
wallyworldaxw: the idea was that it would be a bearer token rather than have a caveat to discharge02:14
wallyworldthe controller uses the macaroon, not the user02:14
axwwallyworld: I think it's fine one per consume for now, we can revisit that02:15
wallyworldyeah02:15
wallyworldaxw: relation macaroon now includes model uuid02:20
wallyworldin the id02:21
axwwallyworld: reviewed02:24
wallyworldty02:24
wallyworldyeah, i have got more testing02:24
axwwallyworld: lxd storage PR, if you have time: https://github.com/juju/juju/pull/763503:53
wallyworldaxw: swap you reviews? https://github.com/juju/juju/pull/763705:13
axwwallyworld: ok05:14
axwwallyworld: what do you think about adding special syntax to "add-storage" for enlisting? like "juju add-storage postgresql/0 pgdata=ebs:vol-123456", where vol-123456 is the provider (EBS) volume ID05:15
axwI think that's all the info we need, in order to create a storage instance, volume, and attachments05:16
wallyworldaxw: that would save an extra command for sure05:16
wallyworldaxw: but what about adding an ebs volume as detached storage05:16
axwwallyworld: it wouldn't be possible, but it is it necessary? you can't add new volumes detached05:17
wallyworldaxw: i was thinking of the case where someone adds a unit and then later detaches the storage - that storage is now referenced by the model and be attached again elsewhere. i would think we'd want a way to allow an ebs volume to be made known to juju for later attachment05:18
axwwallyworld: ah yes, it won't work with --attach-storage05:19
wallyworldmaybe we could tweak attach-storage05:20
wallyworldaxw: i'm confused about where "juju-zfs" comes from - it that our (juju's) naming convention?05:23
axwwallyworld: it's specified in DefaultPools05:24
axwwallyworld: the juju storage pool definition includes an attribute "lxd-pool", which identifies the lxd storage pool to use05:24
axwwallyworld: and if the lxd-pool attribute is missing, we use "juju" as the lxd storage pool name05:25
wallyworldand zfs.pool_name s passed to lxd05:26
=== marlinc_ is now known as marlinc
axwwallyworld: yes, things other than driver/lxd-pool are passed directly to lxd05:33
wallyworldaxw: lgtm. with the macaroon storage, other places use json. should we be correct for cmr or consistent? i guess there's no reason we can have cmr use binary05:44
wallyworld*can't05:44
axwwallyworld: thanks05:44
axwwallyworld: not too fussed, your call05:44
wallyworldmaybe leave for now and take a view05:44
wallyworldcan see what others think05:45
axwwallyworld: CreateStoragePool is not idempotent. we check if it exists first. I could create and hceck on failure, but there's no special error code for "already exists"05:45
axwthere is an error message we can check, but that could change05:45
wallyworldyeah :-(05:45
axwwallyworld: I'll just make it do a create, then check if it exists on failure05:46
axwignoring the specifics of the create error05:46
wallyworldi think that would be good05:46
wallyworlds/good/better05:46
wallyworldjam: wtf do you think we need to do with this mongo bug? it seems the pinger is not the root cause? or is it that things get messed up due to the pinger issue and manifest hat way?05:49
jamwallyworld: so my feeling on it is that it shouldn't block 2.2.2. I feel like we have had a latent bug, and the pinger bug exacerbated it05:52
jamso I think it is a separate bug, but one that we've had05:52
jamthe lack of clear reproduction situation, and really the need to do live debugging, because the round-trip info is killing us in investigating it05:53
wallyworldjam: i have been telling myself that if it is not a regression we could ship, but that if 2.1 didn't have the problem, we can't ship05:53
jammissing info, things that you'd pick up on what to do next while you're looking at the exact logs, etc.05:53
wallyworldbut as you say, it could be in 2.105:53
jamwallyworld: nobody has reproduced, and getting information out is taking days, IMO that isn't worth delaying a fix of 10 other things that we concretely made better05:54
wallyworldexactly05:54
wallyworldjam: will eric's PR, we could land as is and follow up with that %q tweak05:54
jamwallyworld: with eric's PR, I also don't feel that's a blocker for 2.2.2 being actually released. If we get it in, great, but not a delay05:55
wallyworldjam: the issue is a bit shit, we should land it. i can do that and easy to make the subsequent little tweak after that05:56
jamwallyworld: sure, but its a little ugly wart that doesn't actually prevent you from doing what you asked to do (hence not a Critical blocker), definitely worthy of a 2.2.X release, I just wouldn't hold anything up on it.05:58
wallyworldyeah, ok. i'll land now and it should make it05:59
wallyworldjam: did you want to move that bug odd the 2.2.2 milestone? also, eric's PR doesn't need the %q instead of %s because the string comes out of whatever the underlying api call is already quoted. or so my manual testing showed06:52
wallyworld*off06:52
jamwallyworld: k. I will say it *didn't* get quoted when he was interpreting the error incorrectly, but I did see that one of his tests seemed to say it was quoted06:57
jamso I wasn't sure06:57
wallyworldnp07:06
wallyworldi wasn't sure either07:06
wallyworlduntil i tested manually07:06
=== frankban|afk is now known as frankban
=== salmankhan1 is now known as salmankhan
mupBug #1704099 opened: Juju state server not starting after reboot <4010> <juju-core:New> <juju-release-tools:New> <https://launchpad.net/bugs/1704099>09:48
=== salmankhan1 is now known as salmankhan
=== akhavr1 is now known as akhavr
=== tvansteenburgh1 is now known as tvansteenburgh
=== frankban is now known as frankban|afk
wallyworldhml: can you join us in release standup to update on release? https://hangouts.google.com/hangouts/_/canonical.com/juju-release21:31
hmlwallyworld: on my way21:31
mupBug #1704099 changed: Juju state server not starting after reboot <4010> <juju:New> <https://launchpad.net/bugs/1704099>21:34

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