/srv/irclogs.ubuntu.com/2018/02/27/#juju-dev.txt

anastasiamacwallyworld: show-credential cmd \o/ PTAL when u get a chance?...  https://github.com/juju/juju/pull/842901:03
mupBug #1488245 changed: Recurring lxc issue: failed to retrieve the template to clone  <canonical-bootstack> <landscape> <lxc> <oil> <juju-core:Won't Fix> <https://launchpad.net/bugs/1488245>01:15
thumperanyone... https://github.com/juju/juju/pull/843001:26
thumperit is an intermittent test fix01:26
anastasiamacthumper: lgtm01:30
thumperta01:45
anastasiamacanother simple review plz, duplicate warning msg on blocked operations...  https://github.com/juju/juju/pull/843102:35
* thumper looks02:53
wallyworldanastasiamac: i reviewed - have a question about yaml output03:01
wallyworldIMO we should try and stay consistent with list-credentials03:01
wallyworldpeople don't want to have to re-parse stuff when running different commands03:02
wallyworldwhen it's essentially the same info03:02
anastasiamacwallyworld: so I am k with re-ordering output... say, cloud 1st etc... however, personally, i do not think that how we display credentials in list-credentials is helpful, in particularly because there is no distinction btw hidden fields (secrets), etc...03:16
wallyworldthat's the bit i like about it :-)03:17
wallyworldeasier to look at the complete set of attrs in one map03:18
anastasiamacwallyworld: also do not forget that attributes are stored as maps so while u can kind of re-order some attributes to certain degree when u r reading them from a file (locally stored credential case), there is no guarantee what would be pulled from a controller (especially, say a year down the track form an original bootstrap)03:18
anastasiamactrying to find consistency sometimes can be an insane pursuit..03:18
wallyworldyaml can give you ordered maps03:19
anastasiamacwallyworld: without separating secrets into a separate collection, the user will not immediately know whther they got a complete content or not03:19
wallyworldthey will know if they typed --show-secrets :-)03:20
wallyworldbut this is just IMO03:20
wallyworldhappy to get input from someone else03:20
wallyworldi may well be on my on here03:20
wallyworldmaybe thumper can be a tie breaker :-)03:20
anastasiamacwallyworld: k03:21
wallyworldif we agree on field ordering, it comes down to whether to group gred attrs and whether to be consistent with list-credentials03:21
* thumper looks03:21
wallyworldwhich means we avoid showing the same info in different ways03:22
wallyworlddeoending only on what command was run03:22
anastasiamacwallyworld: bleh :-P how do i preserve formatting in github comments?03:25
thumpertriple quotes03:25
anastasiamacno ;(03:25
thumpertriple single quotes03:25
thumpersorry03:26
thumpertriple backticks03:26
thumper```03:26
thumperfoo03:26
thumperbar03:26
thumper```03:26
anastasiamac\o/ hooray \o/ thnx03:26
thumperanastasiamac, wallyworld: what is the issue with formatting? formatting what and where?03:26
anastasiamacthumper: pr 8429 - show-credential command output03:27
wallyworldthumper: the output is different to list-credentials (which ostensibly shows the same info) and the splitting of attrs into differnet buckets rather than one map like elsewhere03:29
thumperisn't it just showing one credential rather than multiple?03:31
anastasiamacwallyworld: there is also additional info like models...03:31
anastasiamacthumper: it can show more than one03:31
anastasiamacthe command shows controller-stored credential(s)03:31
wallyworldsure, models will be a new block03:32
anastasiamaci would have prefered to b explicit tha the credentials are coming from different places.. one way is t diplay /format output differently03:32
wallyworldor we could have local-credentrials: vs controller-credenrials:03:32
wallyworldas the top level field name03:32
wallyworldthe content though is essentillt the same03:33
wallyworldone will have a models block, one won't03:33
wallyworldall imo03:33
thumperactually I quite like the local-credentials vs. controller-credentials top level idea03:34
thumperI was leaning the other way until you mentioned this03:34
thumperI like consistency,03:35
anastasiamacwallyworld: controller-credentials is awesome at the top here03:35
thumperwe shouldn't make the users think too much03:35
thumperso having similar output would be ideal03:35
anastasiamaccredentials: for locallly stored comes from a file... to change it to local-credentials is a bit more work ...03:35
thumperanastasiamac: I think you can use struct embedding with a special tag so it doesn't get an extra level of indentation in yaml03:35
thumperanastasiamac: we don't have to make it look like a file03:36
wallyworldand there's map ordering support as well03:36
thumperjust show what the controller has03:36
thumperbut showing generally similar structure helps with the general cohesiveness03:36
anastasiamacthumper: yes, so for controller, i.e. this command output, i can have a header of controller-credentials03:36
wallyworldto order a map, have a slice of MapValue (I think) and it wil render as a map03:36
thumperwe should change list-credentails to say "local-credentials" too03:36
wallyworld+103:37
anastasiamacthumper: for local credentials, i.e.e the output of list-credential, the header is what we have in credentils.yaml file which is "crednetials"03:37
anastasiamack03:37
thumperyeah, but we should be able to override that for the output03:37
thumperwe don't have to change the file format03:37
thumperjust the output03:37
anastasiamacthumper: we dont? we usually try to output what can be put into the file... if we change the output, we'd need to change the file content too...03:38
thumperno... we don't03:38
thumpermost people should never edit the file03:38
thumperI'm happy for it to be different03:38
anastasiamacthumper: k03:39
thumperthe only reason we had that early was because we were missing commands03:39
wallyworldthe other reason perhaps is that the file is quite simple in structure so the output naturally looks similar03:39
anastasiamacthumper: re: no-access, there is a bit of thorn that wallyworld and i discussed yesterday.. it'll b related to further work... for now, only tests have that... in real life, credential owner will always have some (in fact, probably only) admin access to the model that uses the cred03:40
anastasiamacthumper: there will beother re-work (happy to discuss) that will fix the no-access in a few places.. ;D03:41
anastasiamacwallyworld: as part my testing, added a comment...04:49
anastasiamaci'd need to separate "content" from "models", see the sample on the PR...04:49
wallyworldanastasiamac: lgtm, thank you. did you have plans be asking stakeholders if it meets their expectations in case we need to iterate a bit on the output?07:15
anastasiamacwallyworld: there have been a lot of conversations when cred UX re-design came up. None of it eneded up being definitive. we r in the position now where we need to do it and iterate if needed07:32
wallyworldexactly. i think we are saying the same thing.07:32
anastasiamac:D07:34
=== frankban|afk is now known as frankban
jamveebers: I don't know if you've noticed but the merge description that you have is repeating the first line a bit: https://github.com/juju/juju/commit/29f2a73c702fdacb20eaa231b4db7bcd417b75f107:57
jam(hard to tell from github, because one is the subject field, and then the first line is repeated)07:57
jamI think just dropping it to the URL would be ok07:57
jamits a bit more obvious in 'git log'07:58
jamveebers: https://paste.ubuntu.com/p/p8jrHnHR5k/07:58
jammy suggestion is to change it to: https://paste.ubuntu.com/p/wTzvdqh9j9/08:00
jamthoughts?08:00
jamwallyworld: ^^ do you agree on the alternative merge message?08:00
wallyworldlooking08:00
jam(I also don't think we need 2 blank lines)08:01
wallyworldyeah, there has been whitespace there08:01
wallyworldlgtm to remove the dupes08:01
wallyworlddupe messages08:02
veebersjam: hey just passing through, yeah makes sense. Seems my reading of the (almost no) docs was wrong and it would always include that header text anyway08:10
veebersjam: Have you deployed any of the jenkins jobs before?08:10
jamveebers: so I tried to update jobs/github/github-merge-juju-description.yml08:10
jamveebers: but jenkins-jobs ...08:10
jamsays that its doing something08:11
jambut I don't see it actually changing the ci page08:11
jam.../configure still has the old text in it.08:11
veebersjam: What's the output of jenkins-job, also have you refreshed the configure page? :-)08:11
jamveebers: refreshed and loaded on another machine08:12
veebersack08:12
jamveebers: https://pastebin.canonical.com/p/nTkNw2GyjN/08:12
jamveebers: I pushed the change to github, so it should be in the master branch08:13
jamveebers: I can certainly edit the live site, but I'm pretty sure that's the wrong way about it.08:13
veebersjam: github-merge-juju-description has updated. Not sure if your pastebin was cut short but it doesn't seem right08:15
jamveebers: ah, nm, I updated only 1 of them, probably my fault.08:15
jamveebers: it was intentionally cut short08:15
veebersjam: oh you only  . . . hah yeah what you just sai08:16
veeberssaid*08:16
jamveebers: but I don't see that text in the other one08:16
jamam I just missing it08:16
jamveebers: looks like it had folded off the screen08:17
veebersjam right down the bottom, in the Post Build Action section08:17
veebersjam: there is github-merge-goose too :-)08:19
veebersSorry about that, I'm surprised it will always have that header text in the merge.08:19
jamveebers: np. I was just being blind searching for it08:42
jamballoons: when you're around, I had some questions about interpreting CI11:36
jamfor example, http://10.125.0.203:8080/job/ci-run/393/ seems to be saying that it has been in the "BuildJuju" stage for 7hrs11:38
jambut if I go to BuildJuju, all of them are not blinking and are 'green'11:38
jamthough green vs blue is odd to me11:38
jamI assumed it meant active11:38
jamalso, the console output has lots of: "java.lang.NullPointerExceptionFinished Build :"11:39
jamwhich looks buggy to me11:39
jambut it is the same content as http://10.125.0.203:8080/job/BuildJuju/323/console11:39
jamballoons: hm. looks like the arm64 slave is down, thus it never built the arm64 content11:56
jamwhich is why it got hung11:56
jamballoons: also, http://10.125.0.203:8080/computer/arm64-slave/ seems to say its both offline and has low disk space12:06
jamare there obvious tricks for how to clean them up?12:11
balloonsGood morning12:29
balloonsjam, green and blue are the same. Tim wanted green, but it's cached so your browser might be mixing them12:30
jamballoons: morning. I think it was just that yesterday or so they were blue, today they're green, and I didn't know why12:31
jamhope nobody is red/green color blind :)12:31
jamlifeless was, IIRC12:31
balloonsIndeed :)12:31
rogpeppejam, wpk: hiya. just wondering if you remember if there's any portability problem with doing: l, _ := net.Listen("tcp", "localhost:0"); net.Dial("tcp", l.Addr().String) ?12:34
balloonsso jam, on the arm64-slave, /tmp is full of artifacts from unit test runs12:35
balloonsa bunch of juju-store-locks, test-mgo, etc. Why aren't those being cleaned up I wonder?12:35
balloonsI'm just rebooting the slave which will clear /tmp12:36
jamrogpeppe: I don't think there is a problem, testing now, though.12:37
rogpeppejam: it definitely works in most cases, but i have a nagging feeling that it might not in some cases.12:38
jamrogpeppe: AFAICT, its valid on all platforms12:38
rogpeppejam: there's a comment that worries me: // A net.TCPAddr cannot be directly stringified into a valid hostname.12:38
jamit might give you an IPv6 or an IPv412:38
jamrogpeppe: sure, but that's "valid hostname"12:38
jamTCPAddr is likely an IP address, and Addr() would have a port on it, as well12:38
rogpeppejam: yeah, but it's not being used there in a place that actually needs a hostname AFAICS12:39
rogpeppejam: i *think* the comment is bogus, but i thought you might remember more12:40
jamrogpeppe: if you could link me to context, but AFAIK its valid12:40
rogpeppejam: the code i'm looking at right now is (in apiserver) func (s *serverSuite) TestStop(c *gc.C) {12:41
rogpeppejam: unfortunately we've lost the reviews for that period of juju's history so context is difficult to know12:41
rogpeppejam: but the commit says: http://paste.ubuntu.com/p/ppcXVQF5pW/12:42
jamrogpeppe: my best guess on that test is that it wants to allow for either ::1 or 127.0.0.112:42
rogpeppejam: ah! i see why12:43
rogpeppejam: it's a bug in newServerWithConfig12:43
rogpeppejam: oh... except12:43
rogpeppejam: it can't explicitly listen on localhost there12:43
rogpeppejam: ok, it's all starting to come back now12:44
rogpeppejam: if you listen on ":0", you're not guaranteed that Addr returns a valid dialable address12:44
balloonsjam, slave is online again. But it will fill /tmp again until we figure out why those tmp files aren't going way12:44
jamrogpeppe: why is listen :0 not valid?12:46
rogpeppejam: listen :0 is valid, but the address you get from the listener after that doesn't necessarily provide a dialable address12:51
rogpeppejam: on Linux, it gives me an address like [::]:3675812:52
jamhm. my testing says it works, but it does tend to give an IPv6 vs an IPv412:52
rogpeppejam: which is OK under linux as a dialable address but probably not under all platforms12:52
jamrogpeppe: oddly, Dial worked fine for that, but shouldn't it be ::1 to dial it?12:52
rogpeppejam: i think it's an oddspecial case in the network stack12:52
jam(tested on Win10 Dial succeeded, though I don't know if it would allow packets)12:52
balloonsmanadart, externalreality have you guys started the release at all?12:54
rogpeppejam: so this code works for you on Windows? http://paste.ubuntu.com/p/QV3BYJGv9v/12:55
manadartballoons: Hi, yes. Sent the release notes to Nick and Peter. 2.3 branch is bumped. Working through now.12:56
jamrogpeppe: I get "some traffic" before it exits. That said, will it work on all versions of all Windows?12:57
jamThis is Win10, the server tests are on 201212:57
balloonswhich hash are you using?12:57
manadart0303e5213:02
manadart10.13.0.0/16 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.18.0.0/20 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.20.0.0/16 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.22.96.0/21 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.22.112.0/21 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.24.0.0/15 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.26.0.0/16 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.33.0.0/19 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.34.0.0/15 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.35.64.0/22 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.38.0.0/16 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.40.0.0/19 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.48.0.0/15 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.50.0.0/16 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.55.0.0/17 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.55.160.0/24 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.70.0.0/24 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.74.0.0/16 via 10.172.192.1 dev tun0  metric 100013:13
manadart10.76.0.0/16 via 10.172.192.1 dev tun0  metric 100013:13
manadart10.80.0.0/24 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.85.48.0/24 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.88.0.0/15 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.96.0.0/16 via 10.172.192.1 dev tun0  metric 100013:13
manadart10.98.0.0/16 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.100.0.0/21 via 10.172.192.1 dev tun0  metric 100013:13
manadart10.101.52.0/23 via 10.172.192.1 dev tun0  metric 100013:13
manadart10.105.0.0/24 via 10.172.192.1 dev tun0  metric 50013:13
manadart10.110.0.0/16 via 10.172.192.1 dev tun0  metric 100013:13
manadart10.122.36.0/22 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.124.0.0/21 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.125.0.0/21 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.172.0.0/16 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.172.192.0/18 dev tun0  proto kernel  scope link  src 10.172.193.8413:14
manadart10.189.0.0/18 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.189.64.0/24 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.189.72.0/23 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.189.74.0/24 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.189.75.0/24 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.189.84.0/24 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.189.90.0/24 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.189.128.0/18 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.193.0.0/16 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.198.200.0/21 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.211.37.0/24 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.222.36.0/22 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.222.64.0/20 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.222.128.0/18 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.227.32.0/20 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.227.240.0/21 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.228.0.0/16 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.229.0.0/16 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.230.0.0/16 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.231.64.0/21 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.231.96.0/21 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.231.128.0/21 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.231.144.0/21 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.232.0.0/16 via 10.172.192.1 dev tun0  metric 100013:14
manadart10.235.64.0/22 via 10.172.192.1 dev tun0  metric 50013:14
manadart10.244.0.0/18 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.244.128.0/18 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.244.192.0/18 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.245.0.0/16 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.245.80.0/22 via 10.172.192.1 dev tun0  metric 50013:15
manadart10.245.128.0/21 via 10.172.192.1 dev tun0  metric 50013:15
manadart10.245.136.0/21 via 10.172.192.1 dev tun0  metric 50013:15
manadart10.245.160.0/19 via 10.172.192.1 dev tun0  metric 50013:15
manadart10.246.0.0/19 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.40.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.48.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.56.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.64.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.72.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.80.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.88.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.96.0/20 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.246.112.0/21 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.247.0.0/21 via 10.172.192.1 dev tun0  metric 50013:15
manadart10.247.0.0/16 via 10.172.192.1 dev tun0  metric 100013:15
manadart10.248.0.0/16 via 10.172.192.1 dev tun0  metric 100013:15
manadart91.189.88.0/21 via 10.172.192.1 dev tun0  metric 50013:15
manadart91.189.91.0/24 via 10.172.192.1 dev tun0  metric 100013:15
manadart162.213.32.0/22 via 10.172.192.1 dev tun0  metric 50013:15
manadart185.125.188.0/22 via 10.172.192.1 dev tun0  metric 50013:15
manadart192.168.64.0/23 via 10.172.192.1 dev tun0  metric 50013:15
manadart192.168.89.0/24 via 10.172.192.1 dev tun0  metric 50013:15
manadart192.168.211.0/24 via 10.172.192.1 dev tun0  metric 50013:15
manadart192.168.220.0/24 via 10.172.192.1 dev tun0  metric 100013:15
manadart192.168.224.0/22 via 10.172.192.1 dev tun0  metric 100013:15
manadart192.168.228.0/23 via 10.172.192.1 dev tun0  metric 100013:16
manadart192.168.230.0/23 via 10.172.192.1 dev tun0  metric 50013:16
manadart192.168.233.0/24 via 10.172.192.1 dev tun0  metric 50013:16
manadart192.168.236.0/22 via 10.172.192.1 dev tun0  metric 100013:16
manadart192.168.240.0/24 via 10.172.192.1 dev tun0  metric 50013:16
manadart192.168.246.0/23 via 10.172.192.1 dev tun0  metric 100013:16
manadart192.168.248.0/22 via 10.172.192.1 dev tun0  metric 100013:16
manadartOops.13:16
balloonssurprised you weren't flood kicked13:18
balloonsjam, do you know why juju-store-lock files stick around in /tmp?13:21
jamballoons: not explicitly13:23
jamballoons: I'm blaming charmstore, but I'm actually digging into it13:23
balloonsjam, it's odd because we're building and testing in containers, but the host machine ends up being filled with those files in /tmp13:24
balloonsahh, well, actually we're using tmpfs, so that does make sense13:24
jamballoons: yay, 'juju-store-lock' doesn't exist anywhere in the code base, so its clearly a built-up string and I'm sure its using 'juju' 'store' and/or 'lock' to build it up... ugh13:25
balloonsohh jam, well it comes from jujuclient/file.go:return fmt.Sprintf("store-lock-%x", fullHash[:8]) ?13:26
jamballoons: presumably we're supposed to be putting those into $JUJU_HOME ?13:31
balloonsjam, I'm not sure. I'm just noticing we setup tmpfs for the unit tests, but not the builds. And it seems we clean it, probably for that reason. Still, a testrun really shouldn't leave things behind13:34
jamballoons: this has the smell of someone escaping our IsolationSuite (which is supposed to set things like JUJU_HOME to invalid values so it doesn't accidentally leak)13:54
balloonsjam, perhaps a card to have a look?14:01
jamballoons: looks like all of our on-disk lock objects don't have a Cleanup function, which sort of makes sense, as if it is a shared lock, you don't want to clean it up on process exit, but we *should* be cleaning them up for testst14:03
jamballoons: is it actually a lot of disk-space in them?14:04
jamthat part should be quite small14:04
jambut potentially lots of them14:04
balloonsjam, yes. it adds up quickly surprisingly. the filelist is too long to run rm juju-store-lock* :-) So eventually it burns all the disk space up14:04
balloonsjam, 20g was burned in about 3 days, which is the size of that slaves /tmp14:05
balloonsthe other slaves all have massive disks, so we wouldn't know for a long time14:05
jamballoons: wow. k. I would have thought each juju-store-lock would be tiny, but I can see it still burns inodes, etc.14:06
jamballoons: so *an* option is to set TMPDIR for a test run, and then 'rm -rf TMPDIR' when its done14:36
balloonsjam, yea I'm updating things now to clean out /tmp. We were cleaning up test-mgo* files, so I'm adding juju-*.14:37
jamballoons: you *might* need to check for gobuild as well14:39
jamnot sure whether thats 'go-build' or 'gobuild'14:39
jambut I've seen bogus stuff there14:39
jamthat said, I'd like us to have a way to not leave cruftn.14:39
jamthough the mechanism flock uses makes it hard.14:39
balloonsjam.. ohh, ok, I'll add a check for that too14:44
=== frankban is now known as frankban|afk
thumpermorning19:46

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