/srv/irclogs.ubuntu.com/2019/12/17/#juju.txt

veebersthumper oh lol, sorry to blank you - I'm not actually online atm (EOY leave :-D) How's things?01:26
hpidcocktlm: can you review this plz https://github.com/juju/juju/pull/1104401:51
thumperveebers: I thought it could have just been a bouncer reconnect01:52
thumperveebers: I'm good, you?01:52
thumperveebers: we should catch up for a coffee sometime01:52
veebersthumper can't complain - busy with the boy. Aye I would be keen!01:53
thumperveebers: he must be getting a lot bigger now01:55
veebersthumper grows faster than a weed! On a fine day we could go play a round of disc golf if you wanted something more energetic than coffee :-D In the week after xmas  I could bring Link too01:56
tlmhpidcock: sure01:56
thumperveebers: not sure how energetic I'll feel :)01:57
thumperbabbageclunk: I think I need you again01:57
veebers:-D01:57
wallyworldhpidcock: and here it is https://github.com/juju/juju/pull/1104501:58
wallyworldbabbageclunk: you ready for me to look at your test issue?01:59
hpidcockjust a casual 222 files changed01:59
wallyworldmostly imports :-)01:59
thumperhpidcock, babbageclunk: https://github.com/juju/juju/pull/11046 for 2.7 merge02:25
thumpercan I get you two to cast your eyes over it to make sure I didn't fubar it02:25
hpidcockthumper: yep, the files I was concerned about look how they should02:28
thumperhpidcock: coolio02:29
hpidcockwallyworld: I'm halfway and the green lines are starting to merge with the red lines haha I'm going to take a break from this PR for a bit02:34
wallyworldsure, np02:34
babbageclunkthumper: looking02:47
wallyworldbabbageclunk: so in https://github.com/juju/juju/pull/11013, what test is it that is failing?02:49
babbageclunkwallyworld: hang on, getting you a link...02:50
wallyworldand PR has latest code pushed?02:50
babbageclunkit's in api/crossmodelrelations02:50
babbageclunkyup02:50
babbageclunkwallyworld: https://github.com/juju/juju/pull/11013/files#diff-d93493a140cf12285d568802cca83761R36302:51
wallyworldrighto02:52
babbageclunkfails with: https://paste.ubuntu.com/p/wwgkyScvFY/02:53
babbageclunkInstead of coming in as something that I can assign a value to, result comes in as just interface{}02:53
babbageclunkPresumably it's because of the dance that happens with the commonWatcher inside the client-side watchers (constructing a new result type and passing it around as interface{})?02:54
wallyworldnot sure yet, will look03:00
wallyworldjust finishing a fight with go dep. go dep sucks03:01
babbageclunkit's just dep03:26
babbageclunkthanks - no rush, still wrestling with the remoterelations worker tests03:27
hpidcockthumper: you still handling that forward port?03:37
thumperhpidcock: yeah, got an expected error03:41
thumperin babbageclunk's stuff03:41
thumperbabbageclunk: may need your assistance again03:41
babbageclunkok03:42
thumperthat was easier than I thought it was going to be03:48
thumper... which is good03:48
babbageclunkthumper: normally it goes the other way03:56
thumperbabbageclunk: true that03:57
wallyworldbabbageclunk: i'm not sure either at this point how to deference that ptr. Goland knows how to so it clearly can be done04:09
wallyworldbabbageclunk: actually, this works, but need to figure out how to do the assert04:16
wallyworldres := reflect.ValueOf(result).Elem()04:16
wallyworldres.Set(reflect.ValueOf(&params.RelationUnitsWatchResult{}))04:16
wallyworld//c.Assert(res, gc.FitsTypeOf, &params.RelationUnitsWatchResult{})04:16
wallyworld*(res.Interface().(*params.RelationUnitsWatchResult)) = params.RelationUnitsWatchResult{04:16
wallyworldError: &params.Error{Message: "STOPPED"},04:16
wallyworld}04:16
hpidcockyou should be able to dereference a interface ptr https://play.golang.org/p/mlyAZHqvWPJ04:17
wallyworldyeah, that works need to see if it works with the assert stuff04:19
wallyworldhmmm, we still need all the reflect machinery to wrie stuff up. but can add a check to start with and avoid the checker04:31
wallyworld_, ok := result.(interface{}).(*params.RelationUnitsWatchResult)04:31
wallyworldif !ok {04:31
wallyworldc.Fail()04:31
wallyworld}04:31
wallyworldres := reflect.ValueOf(result).Elem()04:31
wallyworldres.Set(reflect.ValueOf(&params.RelationUnitsWatchResult{}))04:31
wallyworld*(res.Interface().(*params.RelationUnitsWatchResult)) = params.RelationUnitsWatchResult{04:31
wallyworldError: &params.Error{Message: "STOPPED"},04:31
wallyworld}04:31
wallyworldbabbageclunk: the above will unblock for now at least04:32
thumperhttps://github.com/juju/juju/pull/11047 for someone...04:38
thumperprovides exposing the underlying replicaset status in juju_metrics and juju_engine_report04:38
wallyworldthumper: done04:53
thumperwallyworld: ta04:53
wallyworldtlm: you going ok on the pylibjuju bug?04:53
tlmbug yes04:54
tlmpython venv no04:54
wallyworldjoy04:54
wallyworldhpidcock can probs help04:54
wallyworlddon't forget to add a trello card04:54
tlmit will work soon, hpidcock has been. Having an issue installing requirements. Might be a version mismatch04:54
tlmyep will do now04:54
wallyworldty04:54
hpidcockwallyworld: I won't let him drown04:56
wallyworldhpidcock: did the pr explain ok how bakery.v2-unstable in places still?04:57
hpidcockwallyworld: haha yep makes sense sorry. I must have read it. Went in this ear and out the other04:59
wallyworldno worries, sorry about the snark :-)04:59
hpidcockI appreciated the snarky comment05:00
tlmrage quit, problem is because python remove a function from an interface between 3.7 3.8. So much for backwards compatibility05:02
hpidcockgo 1.0 promise keeps me loving go05:03
hpidcockwallyworld: I'm happy with the PR now. Hopefully it lands without 🔥05:06
wallyworldhpidcock: awesome, and many thanks, those sorts of prs are horrible to review (and even worse to write, took me ages to get stuff sorted).05:07
hpidcockthey are fine, one day I'll return the favour with a 1000 file PR :P05:07
wallyworldhuh, only 1000, i eat then for breakfast05:08
* thumper EODs05:13
thumpersee y'all tomorrow05:13
hpidcockwallyworld: can a subordinate unit be a subordinate to multiple parents?06:06
hpidcockhmm I dunno if that makes sense06:06
wallyworldno, you need to install the charm a second time and alias the app name06:06
hpidcockok06:06
hpidcockweird how the "subordinate-to" field is an array06:07
wallyworldhmmm, maybe i'm wrong then06:07
wallyworldi would have been 99.9% sure i was right06:07
hpidcockyeah I'm getting more and more confused as I read the code06:17
hpidcockprocessApplicationRelations in apiserver/facades/client/client/status.go06:19
hpidcockmakes me think it "could"06:19
=== tyldis_ is now known as tyldis
=== niemeyer_ is now known as niemeyer
=== skay_ is now known as skay
=== nniehoff_ is now known as nniehoff
=== petevg_ is now known as petevg
=== davecore_ is now known as davecore
=== coreycb_ is now known as coreycb
=== nottrobin_ is now known as nottrobin
=== skay is now known as Guest62328
=== arif-ali_ is now known as arif-ali
stickupkidI find it interesting that on first use of juju, we break --format directives :|10:11
=== wpk_ is now known as wpk
=== Guest62328 is now known as skay
gnuoystickupkid, do you know when the next release to pypi might be for libjuju ?14:08
stickupkidgnuoy, might be worth pinging rick_h14:09
gnuoystickupkid, ack, thanks14:09
rick_hgnuoy:  sorry, it'll be after the break I think. There's some WIP that's going into the next release for some missing items that we're doing on roadmap14:19
gnuoyrick_h, sure, np, thanks14:20
rick_hgnuoy:  the other half of Juju is doing them so I don't have really solid insight into what % of the way they are but it feels a bit like there's another weekish of work there14:20
achilleasahml: I am looking at the code in runner/debug/server.go:43. Can you tell how it figures out what script to run?16:35
hmlachilleasa:  looking16:36
hmlachilleasa:  I think i know - HO?16:37
achilleasagive me 5'16:37
hmlachilleasa:  sure - it’s related to juju debug-hooks16:38
hmlachilleasa:  a hook is not actually run, just does setup to the debug-hooks tmux session to let the user know what hook would have been run.  so the user can run it themselves and debug the results, try again etc.16:49
hmlwe do need a way to “hook” into that for process-hook.16:50
achilleasahml: can you join daily?16:54
hmlachilleasa:  omw16:54
=== gurmble is now known as grumble
babbageclunkwallyworld: ah, so it seems the problem is that it's an interface{} wrapping another interface{} wrapping the real type, and the checker machinery is only going down one level?22:01
wallyworldbabbageclunk: yeah, i think that's the case22:02
babbageclunkawesome - thanks for picking that apart! Think I've got all of the other tests fixed, just incorporating that now.22:02
wallyworldawesome22:03
babbageclunkwallyworld: hmm, I don't think that does it - that code always succeeds, even if the result type is wrong22:29
babbageclunkie, I've changed the newResult func to use the wrong type, and I can't get the test to fail22:31
wallyworldhmmm, well that sucks22:32
wallyworldbabbageclunk: this line is meant to cater f rot that22:33
wallyworld_, ok := result.(interface{}).(*params.RelationUnitsWatchResult)22:33
wallyworldok should be false if the type is wrong surely?22:33
babbageclunkdoesn't seem to fail...23:09
babbageclunkwallyworld: oh yeah - that fails, but it also fails if the type is right.23:09
hpidcocksmall forward port from 2.7 - develop https://github.com/juju/juju/pull/1104823:18
babbageclunkhpidcock: did you have any conflicts?23:22
hpidcock0 conflicto23:22
babbageclunksweet23:22
babbageclunkI'm going to get so many when I merge the remaining cmr/appdata stuff23:23
babbageclunkreally looking forward to it23:23
hpidcockpffft, you'll only have 500023:23
babbageclunkhpidcock: approved anyway23:26
hpidcockthanks :)23:27
wallyworldbabbageclunk: i ran the unit test with the code i pasted and it worked as expected when the type was correct23:34
wallyworldi didn't test when the type was wrong, but i can't see how it wouldn't fail23:34
babbageclunk:(23:35
babbageclunkmight try in the debugger23:35
wallyworldso it passes for you? but dosn't fail?23:37
babbageclunkno, that check always fails23:39
babbageclunkif I take it out, the res.Set always succeeds23:39
wallyworldwhaaaat23:39
babbageclunkikr23:40
wallyworldmaybe get someone else to pull the code and try it23:40
babbageclunkLooking at the watcher code I can see that I'm missing a case where the watch result has an error - I'm going to handle that and then tweak the test some more23:40
babbageclunkwallyworld: you don't believe me! It's true though23:40
hpidcockI'm happy to help, let me know23:41
babbageclunkthanks hpidcock - just trying something else, will v likely hit you up after that23:44
babbageclunkugh, trying to read the json unmarshalling code to see how it manages to store info into the result in this circumstance23:52
babbageclunkyeah, that's too Lovecraftian for my taste23:54

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