/srv/irclogs.ubuntu.com/2018/04/18/#juju-dev.txt

wallyworldveebers: reviewed, a couple of questions, see what you think00:28
* veebers looks00:56
veeberswallyworld: have responded, essentially they're all good points I'll make the change. I did respond re: the status-log question though as it needs further comment.01:02
babbageclunkwallyworld: that seems to work fine for the ifPrimaryController! Unfortunately the other use of the singular worker is in the model manifolds - it's not so simple to get rid of that one without actually implementing leases, or else running a set of raft workers in each model. :(01:05
wallyworldveebers: sorry, was eating, looking now01:27
wallyworldbabbageclunk: well that sucks. those model workers ultimately run on a controller. i wonder if there's a way to gate their startup in the engine definition somehow. not sure off hand01:30
wallyworldveebers: makes sense, thank you, left a couple of comments01:34
babbageclunkwallyworld: Yeah, I think we could feed the state of the raft-leadership flag from the machine manifolds into the model manifolds, but then that would have the effect of making all those workers run on the machine that was the raft leader, which I don't know that we'd want.01:38
wallyworldbabbageclunk: that may be true. i guess we want them spread around a bit01:39
wallyworldbabbageclunk: maybe use a separate named raft fsm for that :-)01:40
wallyworldor just use the lease fsm or something01:40
babbageclunkYeah, it seems like just exposing the lease store would do it.01:48
veeberswallyworld: hah no worries; eating is way more important than my PR ^_^ have made the suggested changes and all pushed up.01:53
veeberswallyworld: you mentioned a site that had details re: tomb.v2 -> tomb.v3, is that just github and release notes or is there something more substantial?01:54
wallyworldveebers: v1->v2. not sure off hand, i know there's a home page somewhere01:55
wallyworldmaybe just gh01:55
veeberswallyworld: ack, I'll have a look. cheers01:56
wallyworldveebers: bug 1745031 is fix committed now right?02:00
mupBug #1745031: gce add credentials "Enter file" absolute path msg improvment <juju:In Progress by veebers> <https://launchpad.net/bugs/1745031>02:00
veeberswallyworld: aye it is, I'll update status02:04
wallyworldta, and move card02:05
veeberscard is done, forgot to update bug :002:05
wallyworldveebers: tiny one https://github.com/juju/juju/pull/862302:20
* veebers looks02:20
veeberswallyworld: LGMT, have made a suggestion on it02:23
wallyworldok, ty02:23
wallyworldveebers: would $PROJECT_DIR work?02:23
wallyworldi should just try it02:24
veeberswallyworld: I don't think so, because it's using PROJECT which is a relative path, really just the project name02:27
wallyworldveebers: i just tried it and it seemed to work.       $make -C /home/ian/juju/go/src/github.com/juju/juju pre-check02:28
wallyworldwhere i was in some other dir02:28
thumperwallyworld: have you confirmed that make check fails if go vet isn't happy?02:28
wallyworldyes of course!02:28
veeberswallyworld: oh cool, ah right go list is probably smart about what the project is and knows GOPATH etc.02:28
* thumper is now in the coffee shop up the road02:28
wallyworldveebers: yeah i think so02:29
veebersthumper: if the house wasn't a total madhouse I would invite you up so you could consume our power and internet02:29
thumperwallyworld: have you got a link to the release notes for 2.4?02:29
thumperveebers: that's fine, getting coffee while I'm here, have the kids too02:29
wallyworldthumper: https://docs.google.com/document/d/1kz1NGMEeHdmSMs3PSxsDVej_tR4bjyAIcRWyx0UwohE/edit02:29
vinowallyworld: have a min02:32
wallyworldsure02:32
wallyworldstandup ho02:32
vinohangout02:32
vinook.02:32
veebersbabbageclunk: you seen or used magithub? (https://github.com/vermiculus/magithub)02:35
veeberswallyworld: to confirm, for the resolve test do you still want to use show-status-log to confirm hook execution?02:38
wallyworldveebers: i reckon that could maybe be overkill?02:48
wallyworldseems the charm behaviour helps verify it's all correct02:48
veeberswallyworld: agreed, sorry was a bit confused by PR comments. It seems you where asking that again. I'll leave as is using charm, no log check02:50
wallyworldveebers: i  may not have been clear02:50
wallyworld+1 to using charm02:51
veebersmean, I'll merge now then :-)02:52
babbageclunkveebers: ooh, no I have not02:55
kelvinliu_wallyworld: I think bug  https://bugs.launchpad.net/juju/+bug/1764649 is not a juju bug but a `interface-mysql` bug02:57
mupBug #1764649: juju caas remove-relation does not work <juju:New for wallyworld> <https://launchpad.net/bugs/1764649>02:57
thumperwallyworld: there was something we were talking about recently that we wanted to add to charms metadata.yaml, do you recall what it was?02:57
thumperwe have a request to add some charm-version info02:58
thumperbut if we were going to modify metadata.yaml I'd like to get both changes in at once02:58
wallyworldthumper: hmmm, yeah i do recall something, i think it was a version field for when charms supported application level data bags02:59
thumperwhat would that version be used for?03:00
wallyworldkelvinliu_: i don't think the mysql charm for IAAS clouds has the same issue? or does it?03:00
thumperthe charm-version I'm thinking about relates to charm releases03:00
thumperlike adding "pike" for keystone03:00
thumperor something03:00
wallyworldthumper: so a v2 charm would support X whereas V1 would not. that's different to your version03:01
wallyworldmaybe we need a capabilities list03:01
wallyworldlike series03:01
wallyworlda charm supports "app data bags" and ....03:01
thumperhmm...03:01
thumperI know there was one where we wanted to add lxd devices to pass through etc03:02
kelvinliu_wallyworld: remoteUnitName will be empty for non relation hook or relation-broken hook from juju side. So in `relation-broken hook` handler, we can't access `self.conversation()` unless the `scope` of the `Relation class in provides.py` set to `scopes.GLOBAL`03:02
wallyworldthumper: yeah, that rings a bell too03:02
thumperwallyworld: I'm going to make a quick doc for charm metadata updates03:02
thumperso we can have one place...03:03
wallyworldkelvinliu_: oh, i see, i didn't realise remote unit name was empty for relation-departed03:03
kelvinliu_wallyworld: but the scope of `interface-mysql` is set to `scopes.SERVICE`03:03
wallyworldthumper: yup03:03
wallyworldkelvinliu_: i wasn't sure what it was set to. i think service scope has different behaviour in getting the conversation03:04
kelvinliu_kelvinliu_: `remoteUnitName` is empty for `relation-broken`, `relation-departed` is fine.03:04
kelvinliu_wallyworld:`remoteUnitName` is empty for `relation-broken`, `relation-departed` is fine.03:05
wallyworldhmmm, i wonder why that is. i might need to go and read the uniter code03:05
wallyworldthere must be a reason that someone had, but it seems the mysql charm expects it03:05
wallyworldto not be empty03:05
kelvinliu_wallyworld: i guess, when we got `relation-broken` event triggered, we may lose the remote unit context in this case. So the context of remote unit will be not guaranteed to be there.03:10
wallyworldkelvinliu_: just saw this in some doc: The "relation-broken" hook is not specific to any unit, and always runs once when the local unit is ready to depart the relation itself03:10
wallyworldi have to check code, but it does seem relation-broken hook does not set remote unit03:11
wallyworldhence the charm interface layer is wrong03:11
wallyworldi'm quickly testing on an iaas model to confirm03:11
kelvinliu_wallyworld: yes, I changed `'{provides:mysql}-relation-{broken,departed}'`  to `'{provides:mysql}-relation-departed'`, and `juju resolved mysql/0` is resolved successfully03:12
wallyworldkelvinliu_: so it seems we don't even want to run the relation broken hook03:13
wallyworldwe would look to do a PR against the mysql interface layer if we 100% confirm the right thing is to skip the broken hook03:15
kelvinliu_wallyworld: if do need to run `relation-broken`, we have to parse `scope` manually to get the `correct conversation`.03:20
wallyworldkelvinliu_: so i checked the standard mysql charm. it is not a reactive charm. it uses relation broken to revoke all privileges for the user03:24
wallyworldwe should check bugs filed against the reactive interface layer to see if its a known issue03:25
kelvinliu_wallyworld: yes, I am looking03:26
wallyworldjam: forgot - you and manadart need to update 2.4 beta1 release notes for tomorrow's release05:34
jamwallyworld: ack05:34
wallyworldkelvinliu_: how goes it with mysql interface layer. do you think we could do a patch and fork the code?05:44
manadartwallyworld: Ack.05:52
kelvinliu_wallyworld: to make it working, we will just make the handler to listen `departed` event. I just read all the other interface repos, I only see `relation-broken` handlers if the scope sets to `GLOBAL`. from what I read from the code, `remote unit name` is required for non `GLOBAL scope.`06:16
kelvinliu_wallyworld: we probably should set the scope to `GLOBAL` to handle the `relation-broken`.06:18
wallyworldkelvinliu_: sounds right i think06:19
wallyworldkelvinliu_: the author of the layer is cory who works for canonical. if you could do a patch and put up a PR, we can get him to look at it06:21
wallyworldraise a bug and link the PR to the bug06:21
wallyworldhttps://github.com/johnsca/juju-relation-mysql06:22
kelvinliu_wallyworld: I saw you set the scope to `GLOBAL` actually. But it seems the interface includes in `layer.yaml` did not use the local interface version at `./deps/interface/juju-relation-mysql`. I am reading to the docs to see how to fix this06:22
wallyworldi'm not overly familiar with the detail of the reactive layers here06:23
wallyworldat EOD today, you could raise a bug with as much detail as has been discovered in the bug and cory should see that when he starts06:24
wallyworldhe's in US timezone06:24
kelvinliu_wallyworld: i was reading this https://github.com/juju-solutions/interface-mysql-root    not sure how did `charm` know which one to download 'interface:juju-relation-mysql'06:26
kelvinliu_wallyworld: yes, I will do that, thx06:26
wallyworldkelvinliu_: yeah, that's not the one the charm uses. maybe that one is more suitable06:26
wallyworldi'd need to look06:27
wallyworldthe charm knows which one to use because it's in a layers file, i'll look it up06:27
wallyworldkelvinliu_: see layes.yaml06:27
kelvinliu_where did u get this ./deps/interface/juju-relation-mysql from?06:27
wallyworldlayers.yaml06:27
wallyworldin the root dir of the mysql charm06:28
wallyworldcharm build uses this layers file06:28
=== frankban|afk is now known as frankban
wallyworld ./deps/interface/juju-relation-mysql is put there by charm build06:28
wallyworldbased on layers.yaml06:28
kelvinliu_ic06:30
wallyworldkelvinliu_: that mysql-root one is not what we want06:30
wallyworldit's for the admin db06:30
kelvinliu_wallyworld: in the r`equires.py`, the scope is set to `GLOBAL`. donot know why they are different.06:31
wallyworldkelvinliu_: that's for the requires side06:32
wallyworldkelvinliu_: sorry, had someone at door. the bit that is failing here is on the providers side, the mysql end06:40
kelvinliu_wallyworld: would you give more details?06:44
wallyworldrelations have a requires end and a provides end06:45
wallyworldmysql defines an interface that is the provides end06:45
wallyworldthe logic for that is in provides.py06:46
wallyworldyou can look at the charm metadata.yaml file to see the endpoints06:46
kelvinliu_ah, ic. so the requires.py -> gitlab, provides.py -> mysql, in this case06:46
wallyworldyup, that's it06:46
kelvinliu_more clear now, thx06:47
wallyworldand the reactive framework plugs in the requires vs provides bit of that mysql interface layer06:47
kelvinliu_ic. so the problem is provides/mysql can't get the remote name(`gitlab`) to get the correct conversation when the scope sets to `service` for event `relation-broken`.06:50
kelvinliu_wallyworld: created this issue here, https://github.com/johnsca/juju-relation-mysql/issues/3   plz let me know if you have more questions, thx07:04
wallyworldkelvinliu_: bug report looks ok, i'll just make a small correction - "operator" is a caas specific term which is not widely in use07:07
wallyworldkelvinliu_: i can't edit, can you change operator to "uniter hook runner"07:07
kelvinliu_wallyworld: updated, thx for the correction.07:09
wallyworldgreat ty07:09
wallyworldkelvinliu_: next steps include adding CI test coverage for caas deployments07:11
kelvinliu_wallyworld: yup, should I create a card on A team board for this?07:16
wallyworldkelvinliu_: yes please07:23
wallyworldkelvinliu_: we can talk more tomorrow with chris on how to get started. all the CI code is in the source tree07:24
wallyworldin the acceptancetests dir07:25
kelvinliu_wallyworld: ok, thx. let's talk this tmr morning07:27
wallyworldkelvinliu_: sounds good07:27
manadartI have added release notes for the new controller config options for spaces. Subject to editorial intervention :)07:37
=== hml_ is now known as hml
=== frankban is now known as frankban|afk
veebersMorning o/20:38

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