/srv/irclogs.ubuntu.com/2016/10/14/#juju-dev.txt

rick_h_ty redir for all the help!00:34
redirnp. I made a joke on standup about joining the docs team. Nobody laughed.00:37
redirseriously though, always happy to help with whatever.00:37
anastasiamacredir: i did not laugh. i thought it was scary :D00:37
rediranastasiamac: :)00:38
anastasiamacbut seriously - awesome job on release notes! tyvm to all involved \o/00:39
redirUse the source, Luke.00:39
anastasiamacredir: haha :D this is good. no lightsabers plz00:40
alexisbwallyworld, do we need to add a blurp in the "whats new for GA" on new bootstrap command00:59
alexisbsequence00:59
* redir eod01:02
alexisbredir, thank you for the release notes help today01:02
alexisbI owe you a beer in december01:02
alexisbor wine :)01:02
redirI'll take the beer or wine:) but it really wasn't a big deal.01:03
alexisbwallyworld, ping01:26
alexisbthumper, I may need you if wallyworld is mia01:27
alexisbmenn0, maybe??? someone??01:31
menn0alexisb: hello?01:34
wallyworldthumper: here now01:34
wallyworldalexisb: sorry, was afk getting coffee01:35
wallyworldbootstrap is all new in 2.0 anyway, compared with 1.2501:35
wallyworldnot sure we need anything special for yesterday's change01:35
thumperwallyworld: ping01:44
wallyworldthumper: hey, just in a call01:44
thumperack01:44
thumperI'll idle in the hangout01:44
wallyworldthumper: hopefully will be there soon01:48
alexisbthumper, wallyworl is occupied01:54
thumper:)01:54
alexisbfeel free to join the party if you want :)01:54
thumperwhere's the party?02:00
alexisbwallyworld, thumper you guys need to stay close02:11
wallyworldclose to each other?02:12
thumperhmm...02:12
alexisbwell you guys do that naturally ;)02:12
alexisbclose to the channel02:12
menn0thumper: https://github.com/juju/juju/pull/644902:27
menn0thumper: that's one of the intermittent failures02:27
* thumper looks02:27
menn0thumper: crap. wrong branch. proposing again.02:37
thumper:)02:37
menn0thumper: with the new workflow does the bot check if someone's reviewed it?02:38
alexisbah wallyworld did you see my request about new for GA release notes02:41
wallyworldalexisb: the bootstrap stuff? did you see my reply?02:42
alexisbno02:42
alexisbwell so something new is new fore GA02:42
alexisband I htink it would be good to note that the this main command as changed02:42
wallyworldisn't there info already that bootstrap is new?02:43
wallyworldi'll take a look02:43
alexisbk02:43
alexisbwallyworld, there could be, the notes all blur after multiple days of looking at them02:43
wallyworldunderstood, i'll take a look02:44
wallyworldstill be held hostage by thumper02:44
alexisbok all, looking for haiku ideas for the release announcement02:49
wallyworldalexisb: looks like someone, probs rick, has already edited all the bootstrap examples in the notes02:49
wallyworldi like haikus but am bad at making them up02:49
alexisbwallyworld, thumper is there  an easy way to get # of bugs fixed since 11/6/201502:51
alexisbor 6/11/2015 if you are not a US persone ;)02:51
alexisbfrom launchpad02:51
wallyworldyou mean the rest of the world?02:51
wallyworldi think if you do a filtered query and specify fix committed, it tells you the count02:52
wallyworldin the results02:52
wallyworldbut we'll need to include juju-core also02:52
wallyworldnot just juju02:52
wallyworldas we switch projects02:52
alexisbOK, haiku idea to kick us off:02:55
alexisbJuju 202:56
alexisbSo Amazing02:56
alexisbModels Big Software02:56
alexisbF*%$&#% Amazing03:07
alexisbModel big software, easy!03:07
alexisbJuju 2 is here!03:07
balloonsalexisb, I used http://reports.vapour.ws/dashboard/juju/all/Critical,High,Medium,Low,Undecided,Wishlist/2015-11-06/2016-10-1303:09
balloonsgiving 845.. not sure if I feel good or bad about that number03:09
alexisbseems like it should be higher :)  and yeah03:11
alexisbman this timezone is boring03:14
balloons::yawn::03:15
alexisb:)03:16
balloons^^ it's a pun.. bored and tired!03:16
balloonsboring is good though.. Feels less chaotic03:16
alexisbyes03:16
=== jog__ is now known as jog
thumperalexisb: Today we are done, Thank God Juju 2 is out, now where is my drink!03:23
alexisb:)03:24
alexisbthere we go03:24
alexisb2.0, so good03:27
alexisbmodels, controllers, oh may!03:27
alexisbbig software for all03:27
cmarsservice application03:31
cmarsmodel controller switcharoo03:31
cmarscant stop juju 203:31
balloonsthumper, wallyworld, any thoughts on # of external contributors?03:31
balloonsor other interesting number nonsense?03:31
wallyworldhmmmm03:31
balloonsat this hour, it's all handwavy03:31
thumpermore than one03:31
alexisblol03:31
alexisbyeah contributers will be a be low given the size of the project03:32
wallyworldand complexity03:32
alexisbcmars, I love switcharoo03:32
alexisblines of code, maybe??03:34
balloonsI should do an infographic03:35
balloonsman, if things weren't so crazy, this would be more fun03:35
alexisb:)03:35
thumper:)03:36
thumperit is friday afternoon and I have run out of fucks to give03:39
thumpertime to go choke someone03:39
alexisbwow03:39
thumperBJJ03:39
thumperwhat were you thinking?03:39
alexisbtrumper ??03:40
thumperhaha03:40
alexisbballoons, I just lost power03:55
alexisbit is likely to go out again03:56
balloonsohh fun03:56
alexisbwallyworld is here to help with announcement review03:56
alexisbwhen you are ready03:56
alexisbjust in case03:56
balloonsI was waxing on about my prose03:56
* wallyworld is waiting with baited breath03:56
alexisb:)03:56
alexisbso close03:56
balloonswe are close -- updating mirrors and waiting for packages to appear03:56
balloonshave at it wallyworld. I keep sounding like an informercial or a corny old man03:57
balloonsI think it should be light and have a touch of fun in it03:58
wallyworldyeah03:58
balloonsMostly we're linking to the docs03:58
balloonsSo no need to rehash or sell it03:58
wallyworldballoons: i reworded "providers" as there's a push to move away from that term03:58
wallyworldbest not to poke the hornet's nest03:58
balloonssemantics semantics!03:58
balloonsty, I'll add that to my mental list of banned words03:58
wallyworldballoons: when will juju 2.0 drop in the official xenial/trusty archives?03:59
wallyworldshould we mention that? mybe not?04:00
balloons*soon* TM04:00
balloonsno, don't jinx me please04:00
balloonsNO promises04:00
wallyworldi would imagine most users would not want to use a ppa04:00
balloonsrc3 is in yakkety.. it's sitting in proposed in xenial04:00
balloonsit would have been REALLY nice to have that in xenial also04:00
wallyworldyeah, it's a shame that we can't issue release notice after juju is properly in the archives04:01
wallyworldnot just a ppa04:01
wallyworldballoons: do we add a link to the official release notes in this announcement?04:04
wallyworldi know it's in introducing page04:04
wallyworldbut that's a step away04:04
alexisbwallyworld, I think that requires it to be publised, which will need the docs team04:05
balloonshehe.. we ran 180m000 test suites over 2.004:05
balloonswallyworld, we can link to anything that's on the site now. It's what was linked from the PR04:05
wallyworldso the introducing link in your doc above goes to https://jujucharms.com/docs/2.0/temp-release-notes04:06
wallyworldwhich is rc304:06
wallyworldso if we issue this notice, people will be directed to old info04:06
balloonswallyworld, yep, so it goes04:06
wallyworldthat doesn't look very professional of us04:07
balloonsstable ppa has the packages04:07
* menn0 is done04:07
alexisbwallyworld, agreed on that one04:07
balloonsincluding precise alexisb.. just for you!04:07
alexisbsigh04:07
wallyworldhow quickly can we get the proper 2.0 release notes up04:08
wallyworldand can we delay any notice of release until then04:08
balloonsalexisb, and precise is gone now ;-)04:09
alexisbballoons it is the doc team that does the release notes commit right?04:09
alexisbcan we send them a note and have someone on teh QA team that is on during EUR hours send the announcement?04:10
balloonsI believe they publish -- even landing it doesn't do anything04:10
* alexisb looks at the rc3 notes04:10
alexisbrc3 announcement04:10
wallyworldballoons: alexisb: also, the instructions for snap say --beta. but this is GA04:11
wallyworldpeople will be very confused IMO04:11
balloonsyep, we can't go to stable channel without leaving devmode :-(04:11
balloonswhich of course would mean it wouldn't work, so ...04:12
wallyworldoh04:12
balloonsI agree it's confusing though04:12
wallyworldeverything is awesome04:12
balloonsand non-stable snaps don't appear in search04:12
alexisbyeah in that case I think we are OK though given the juju snap is development04:12
alexisbbut not have published release notes seems like an issue for announcement04:13
wallyworld+1 to that04:13
* balloons notes this wouldn't be the first time04:13
alexisbtrue04:13
balloonsdid you noticed before? ;-)04:13
wallyworldbut for 2.0 GA it sort of matters04:13
alexisbheh no, but we know how to use it04:13
wallyworld2.0 GA will get a lot of attention and we will be judged on stuff like this. perception and all that04:14
balloonshonestly, I would expect them to follow along with the site update shortly tomorrow. Outside of the "temp-release-notes", I don't think rc3 is mentioned04:14
wallyworldit says RC3 all over the page04:15
alexisbballoons, lets get the anouncement sent to the Juju managers (myself, rick, torsten and brett)04:16
alexisbas if you would send it to the list04:16
balloonswallyworld, if it helps, you are already announced: http://insights.ubuntu.com/2016/10/13/canonical-releases-ubuntu-16-10/04:17
alexisbI will take it from there04:17
wallyworldand all the bootstrap examples are wrong04:17
balloonsthat is technically true04:17
wallyworldballoons: yeah i saw, which is a bit premature04:18
balloonsnever early or late.. precisely on time04:18
wallyworldmaybe no one reads release notes :-)04:19
alexisbobviously we do not04:19
wallyworldso those folks that run to get 2.0 will not be told the wrong info about bootstrapping04:19
wallyworldand see outdated examples04:19
mupBug #1425669 changed: AllWatcher next internal failure for previously removed service. <api> <canonical-bootstack> <juju-core:Expired> <juju-core 1.25:Won't Fix> <python-jujuclient:Invalid> <https://launchpad.net/bugs/1425669>04:20
balloonswallyworld, can you add the command to upgrade from rc. I will mention it04:31
wallyworldto the doc? it's just juju upgrade-juju04:31
wallyworldassuming the streams are all good04:31
balloonswallyworld, if you didn't notice, I asked so I didn't have to think..04:32
balloonsthose braincells are still in yesterday :-)04:32
balloonsty!04:32
wallyworld:-)04:32
balloonsok thumper..04:34
balloonswait, did thumper bail?04:34
balloonsok, everyone who isn't thumper can party now04:35
wallyworldballoons: you did it!04:35
balloonswallyworld, WE did it!04:35
joseOMGOMGOMG CONGRATULATIONS!04:35
wallyworldif it goes well, you did it; if it goes poorly, alexisb did it04:35
balloonswallyworld, <304:36
alexisbthat is how it works :)04:36
balloonsI remember those who stayed the course04:36
balloonsand those who didn't :-)04:36
wallyworldbeen a long road04:36
balloonshere's to the first hotfix!04:36
wallyworldthanks jose, let's hope everything goes well04:37
alexisbWOOT!04:37
joseseriously, I'm very excited04:38
balloonsplease don't break anything..04:38
balloonsnot tonight anyway04:38
balloonspreferably not until next week04:39
balloonsa whole weekend of happiness please04:39
alexisb:) thank you balloons for pushing through04:39
alexisbjose, happy deploying with 2.0 GA :)04:41
alexisbI am off to bed, see y'all later04:41
* balloons collapses too04:42
wallyworldsee ya04:43
josealexisb: oh I'm pretty sure all my live demos will just break04:44
=== frankban|afk is now known as frankban
* frobware celebrates 2.0 by upgrading the firmware on his router. I may even by online later... :-O10:59
dimitern:D10:59
perrito666lol I am celebrating by upgrading ubuntu... it broke10:59
* macgreagoir started on his family machine, not his work one ;-)11:07
perrito666macgreagoir: my family machine is a mac11:11
macgreagoirperrito666: Ssshhh!11:11
perrito666k, finally end up upgrading with dist-upgrade since the upgrade tool just would not work11:12
rogpeppecan we land stuff on master now without fear of breaking the new release?11:14
perrito666rogpeppe: you can no longer land stuff in master, at all11:14
perrito666rogpeppe: did you see rick email about?11:14
rogpeppeperrito666: nope11:15
rogpeppeperrito666: which mailing list?11:15
rogpeppeperrito666: ah, new developer workflow?11:15
perrito666yes11:15
rogpeppeperrito666: ah, ok. so we can propose changes. that's good.11:17
rogpeppeperrito666: i guess existing PRs will have to be recreated, right?11:18
perrito666rogpeppe: sadly yes11:19
perrito666mm, now I need to wait for the ppas I use to add y builds11:27
rick_h_you can retarget an existing PR against a develop11:32
rick_h_don't have to recreate it11:32
rick_h_and morning and such11:32
perrito666rick_h_: really?11:33
rick_h_perrito666: go click the "Edit" button in the upper right11:33
perrito666oh look, that actually works11:33
rick_h_perrito666: you can change the title of the PR and the commit into branch11:33
perrito666and seems develop looks enough like master so it looks decent11:33
rick_h_perrito666: yes, all the new workflow branches were recreated from master after 2.0 lock yesterday11:34
perrito666I feared it would show as if my branch had a ton of diffs11:34
perrito666rick_h_: excelent job11:34
rick_h_no, should be good to go11:34
rick_h_perrito666: thanks for letting me know it wasn't common knowledge. Emailed the list with the nugget.11:36
rogpepperick_h_: ah thanks! I never knew it was possible to retarget a PR.11:36
* perrito666 is most likely the only juju dev that loves git11:38
rogpeppeperrito666: git or github ? :)11:43
perrito666git11:43
perrito666rogpeppe: I am fond of github for floss projects but not so much of how many people  use it11:44
perrito666rogpeppe: you do know you can view and link diffs in gh without making a pr right?11:46
rogpeppeperrito666: yes, but that's not quite the same11:46
perrito666how so?11:46
rogpeppeperrito666: i want it to be a PR because that's what it will be - I'm just not sure that it's exactly the right thing until I actually see it.11:47
rogpeppeperrito666: if I just view a diff, then I might make the PR and perhaps I've done it differently from the diffs I viewed.11:48
perrito666how is this different form a pr https://github.com/juju/juju/compare/develop?expand=111:48
rogpeppeperrito666: it's not a PR :)11:49
rogpeppeperrito666: it can't be commented on for a start11:50
perrito666rogpeppe: you just changed your use case ;)11:50
rogpeppeperrito666: did I? I explicitly mentioned "demo" in my email.11:50
rogpeppeperrito666: there are a few use cases here.11:51
perrito666I might be having a es-> en issue here  but demo is just show it11:51
rogpeppeperrito666: if I show someone something, it's really useful if they can comment on it too.11:51
voidspaceanyone know the repo for the CI tests?11:51
voidspaceperrito666: rogpeppe: dooferlad: frobware: ^^^11:52
rogpeppeperrito666: "here's this WIP that I hope to submit tomorrow - it's a bit broken for the moment, but you might want to comment on the API"11:52
perrito666voidspace: bzr+ssh://bazaar.launchpad.net/+branch/juju-ci-tools/11:52
voidspaceperrito666: thanks11:53
perrito666voidspace: sorry I dont know the short lp thinguie11:53
perrito666rogpeppe: well in that case I understand you can still pr and the tests will run but that is orthogonal to your use of the PR11:53
perrito666as a workaround I have on ocasions made a PR against my own master11:53
voidspaceperrito666: that's fine, i've got it - appreciated11:54
rogpeppeperrito666: i think it's reasonable to make the tests triggered manually. they take a bunch of resources and the developer probably knows best about when best to trigger them.11:54
rogpeppeperrito666: for example, if I've just updated a comment, there's really no point in running the tests again.11:55
rick_h_rogpeppe: but the point is that it's short enough that it's harmless and having it auto means things can't slip by11:55
rogpeppeperrito666: but if I've updated something more substantial, then they should.11:55
rogpepperick_h_: 25 minutes isn't really very short...11:55
rick_h_rogpeppe: ideally, sure noticing that, but for the most part it's not worth the effort11:55
rick_h_rogpeppe: in the light of a PR, with a review and a QA and such, not horrible11:56
rogpepperick_h_: particularly if its double that because the test bot started before I noticed a trivial issue11:56
rogpepperick_h_: personally, I like to make the PR, check that everything looks OK, *then* publish it/run auto tests.11:57
rogpepperick_h_: are the representative tests run for many PRs concurrently?11:57
rick_h_rogpeppe: ok, well apologies it didn't match your personal expectations. Hopefully it's better than it was yesterday and we can smile at progress11:57
rogpepperick_h_: i'm definitely +1 on having some way to run tests before hitting $$merge$$11:58
rogpepperick_h_: do the auto-tests run every time the PR is updated?11:58
rick_h_rogpeppe: I believe it shuold11:58
rick_h_webhooks ftw11:58
rogpepperick_h_: is there a way to trigger the auto-tests to run again (say if there's a test failure that might or might not be intermittent) ?11:59
perrito666can annyone that knows enough bzr tell me how I diff my local copy with lp one?12:01
voidspacemgz: ping12:05
balloonsrogpeppe, there isn't ATM -- no magic words for those tests12:54
rogpeppeballoons: ok, thanks12:54
rogpeppeperrito666: bzr diff lp:somewhere ?12:55
balloonsrogpeppe, please collect your feedback after trying it for a bit. We can tweak as we go12:55
balloonsrogpeppe, running tests on command for instance is certainly doable, so i don't want you to think it's locked in12:57
rogpeppeballoons: it would be great if the $$merge$$ 'bot could recognise when it doesn't need to run the tests again because they've been run on the same code already by the try bot13:12
rick_h_rogpeppe: but it also has to check that develop has had no other changes int he meantime13:15
rick_h_rogpeppe: that's the main reason to rerun13:15
rogpepperick_h_: that's what i'd expect it would do13:15
rogpepperick_h_: keep track of whether tests had been run on a given tree hash13:15
rogpepperick_h_: we could even run a microservice just to keep track of that.13:18
rick_h_rogpeppe: yea, sorry. I'm just happy to get this far so bigger fish to fry atm. I completely agree it could get better over time.13:18
rogpepperick_h_: yeah, it's really nice to get this far.13:19
rogpeppeballoons: out of interest, does $$merge$$ run more tests than the auto-try check?13:21
rick_h_rogpeppe: no13:21
rogpepperick_h_: ok, thanks.13:21
katcorick_h_: hey i'm going to attend the standup, but i can't talk atm13:47
rick_h_katco: k13:51
=== akhavr1 is now known as akhavr
rogpeppeperrito666: ping13:57
perrito666rogpeppe: pong13:57
rogpeppeperrito666: we've run across a perm checking problem with AllWatcher13:58
rogpeppeperrito666: the offending line of code is this: isAuthorized, err := auth.HasPermission(permission.LoginAccess, context.State().ControllerTag())13:58
rogpeppeperrito666: in NewAllWatcher13:58
perrito666aha, what issue are you getting?13:58
rogpeppeperrito666: the question is: why is this checking for login access to the controller in order to be able to watch a model?13:58
rogpeppeperrito666: ah, perhaps it's because it's used by both the WatchAll and WatchAllModels API calls?13:59
perrito666rogpeppe: it comes from the assumption that users created should have login access (in order for us to be able to also take that permission out)13:59
rogpeppeperrito666: but presumably the user wouldn't have been able to create the watcher if they weren't able to log in?14:00
perrito666any model user should have controller login14:00
rogpeppeperrito666: i'm wondering why the explicit check is there14:00
rogpeppeperrito666: that's no longer true FWIW14:00
rogpeppeperrito666: even if true, why did we feel the need to make that check there?14:00
rick_h_voidspace: frobware ping for standup14:01
perrito666rogpeppe: I cant really remember now, it is most likely the translation from the check in place previously or from someone reporting a bug14:01
rick_h_dimitern: ping for standup14:01
dimiternoops omw14:01
wallyworldrogpeppe: all users accessing model indeed need controller login. tim landed that change last week14:01
rogpeppewallyworld: actually they don't14:02
rogpeppewallyworld: we landed a flag that turns off that requirement14:02
wallyworldthe code says they do unless it has changed in the last week14:02
rogpeppewallyworld: allow-model-users14:02
wallyworldright but out of the box it does need it14:02
rogpeppewallyworld: yes, but the code can't make that assumption14:03
wallyworldso it seems that check you are talking about doesn't honour that new flag14:03
rogpeppewallyworld: well, i'm wondering why that check exists in the first place14:03
rogpeppewallyworld, perrito666: it was added here http://reviews.vapour.ws/r/5430/diff/5/ (in watcher.go)14:03
wallyworldnot sure, don't know that bit of code directly14:03
rogpeppeperrito666: i don't really understand the comment there14:03
perrito666rogpeppe: reading14:04
voidspacerick_h_: sorry, omw14:05
perrito666rogpeppe: I would venture it is because its used by WatchAll*, the check might need to be in each WatchAll*14:08
rogpeppeperrito666: i don't understand14:09
rogpeppeperrito666: specifically in the comment i don't understand "this allows us to remove login permission for a user".14:11
rogpeppeperrito666: that seems like something relevant to some other endpoint entirely.14:11
perrito666rogpeppe: sorry was reading the wrong thing14:12
rogpeppeperrito666: :)14:12
perrito666rogpeppe: AuthClient seems to return true even if you have removed "login" from the permissions (or that I imply from my own comment)14:13
perrito666so if I want to revoke login from you, I want the check to ban you from entering if I do14:13
rogpeppeperrito666: but... if you've got access to the AllWatcher facade, you've already logged in by definition, right?14:13
perrito666rogpeppe: we might have named this poorly14:13
rogpeppeperrito666: named what?14:13
perrito666but if you want to be fine grained, if you are there it means you have authenticated, not logged in14:14
perrito666rogpeppe: the permission name14:14
rogpeppeperrito666: what's the difference between authenticating and logging in?14:14
perrito666rogpeppe: I was just trying to make a point, ignore me, what I meant is that we named the basic permission login, but it is a poor name14:15
rogpeppeperrito666: it seems a reasonable name to me - without that permission, you can't log in to the controller14:16
rogpeppeperrito666: (but, given allow-model-access, you can log in to a model even without that permission on the controller)14:16
perrito666rogpeppe: you might then want to change HasPermission to honour "allow-model-access"14:17
rogpeppeperrito666: i don't think we should be calling HasPermission in NewAllWatcher at all14:17
rogpeppeperrito666: i think AuthClient would be just fine14:17
perrito666rogpeppe: you should always be calling haspermission14:17
rogpeppeperrito666: why?14:17
perrito666rogpeppe: because its the interface endpoint for common.authenticator to tell you if you have the right credentials, ideally all should converge there14:18
rogpeppeperrito666: i don't see that any other API facades are checking for controller login access14:18
rogpeppeperrito666: and NewAllWatcher is somewhat special - it can only do something by virtue of the fact that watcher has already been created (and permission checks were done then)14:19
perrito666rogpeppe: grep -r ".HasPermission" | grep -v _test | grep apiserver | wc -lc14:19
perrito666     66    825614:19
rogpeppeperrito666: try grepping for LoginAccess14:20
perrito666rogpeppe: if you are asking if the user has any of Login, AddModel, Superuser you are implicitly checking for login access14:20
rick_h_natefinch: katco either of you have osx?14:21
perrito666now, if you want to state that NewAllWatcher is special, and you can stand by that just change it and add a rich comment about it14:21
rick_h_natefinch: katco I need a volunteer to help  sinzui with https://bugs.launchpad.net/juju/+bug/1633495 please14:21
mupBug #1633495: Panic MacOS Sierra <osx> <juju:Triaged> <https://launchpad.net/bugs/1633495>14:21
rogpeppeperrito666: but surely when you're watching a model, the right thing to check would be the model perms, not the controller perms, right?14:22
katcorick_h_: i do not, sorry14:22
katcorick_h_: 100% ubuntu here14:22
rick_h_voidspace: ? ^14:22
sinzuirick_h_: katco: I am going to attempt to use https://github.com/juju/utils/commit/28c01ec2ad930d41fe5acd9969b96284eb61660b as a patch to unblock hombrew14:22
natefinchrick_h_: I have no apples14:23
frobwaredimitern: let's sync on monday for the juju side of nss-juju14:23
dimiternfrobware: sure14:23
katcosinzui: rick_h_: i think that should be easy to dx/fix though? no hw required other than for the final test?14:23
rick_h_katco: yea, just figured it'd be good to get a verify. I thuoght bdx's patch would have taken care of it and it landed pre GA14:24
voidspacerick_h_: sorry, I'm 100% ubuntu these days too14:24
sinzuikatco: indeed no hardware. pass it to me. I am seeing this issue as I prepare the homebrew request14:24
perrito666rogpeppe: as I said before, when we assume that a user has Login by default  and we want to use that as a way to block the user from accessing then checkign for that permission makes sense. Remember that until a couple of weeks for a user to do anythiung, Login to controller permissino was a must14:24
voidspacerick_h_: perrito666 has a Mac14:24
rogpeppeperrito666: when i grepped for '\.HasPermission\(.*Controller', AllWatcher is the only one that seems to be checking controller perms when acting on a model14:24
rick_h_katco: can you please help sinzui out and if we need a final verify use sinzui's hardware or perrito666's ?14:24
perrito666voidspace: my wife has, but I might be able to check whatever that bug is)14:24
katcorick_h_: sure. sinzui ramping up on bug14:25
rick_h_ty14:25
rogpeppeperrito666: well, actually it changed quite recently14:25
rogpeppeperrito666: but anyway, i do think that watchers are special14:25
rogpeppeperrito666: because a watcher facade can't do anything at all by itself14:25
rogpeppeperrito666: i'll propose a change14:25
rogpeppeperrito666: thanks for the useful discussion.14:26
perrito666rogpeppe: propose a change, be very verbose on the comments since this overall knowledge is not shared across the team sadly14:26
perrito666rogpeppe: sure, just ping me if you need to discuss it more14:26
rogpeppeperrito666: https://github.com/juju/juju/pull/645314:48
rogpeppeballoons: y'know what would be really good - if we could abort an auto-test half way through if another update is seen14:50
rogpeppehmm, looks like it runs two jobs concurrently anyway, cool. http://juju-ci.vapour.ws/job/github-check-merge-juju/14:51
rogpeppeperrito666: would you be able to review the above PR, please?14:52
perrito666rogpeppe: otp will review in a moment14:53
rogpeppeperrito666: ta14:53
rogpeppeballoons: FYI I just pushed another commit to https://github.com/juju/juju/pull/6453 and it doesn't seem to be running the auto-test job again14:56
dooferladis anyone else having trouble with the magic auto-upload tools stuff not working? I have a different md5sum of jujud on my local machine to the one I just asked for by doing an add-machine...14:56
rogpeppedooferlad: it generally seems to work ok for me, but i haven't checked checksums much14:57
dimiternI'd appreciate a review on https://github.com/juju/juju/pull/6454 (finally all seems to be working and tested exhaustively)14:57
dooferladrogpeppe: I thought I was going crazy when some logs didn't turn up that I expected :-|14:57
rogpeppedooferlad: i know the feeling well14:57
sinzuikatco: I just confirmed that the patch I made from the juju/utils Sierra commit does fix the issue.14:58
rogpeppedooferlad: that's why i wanted there to be a "please make sure you're really uploading local binary" flag to juju bootstrap14:58
katcosinzui: cool; i'm working on a comprehensive fix14:58
sinzui:)14:58
dooferladrogpeppe: yea, magic is fine until it doesn't work14:58
katcosinzui: i had to pull in a newer version of juju/testing and we don't need to panic there anyway14:58
voidspacemgz: ping15:00
mgzvoidspace: yo15:00
voidspacemgz: you said I should run the bootstrap (for vsphere) in "the same way CI tests do"15:00
voidspacemgz: I have juju-ci-tools and juju-release-tools15:01
voidspacemgz: the readme doesn't say how to run tests (is that documented elsewhere) and I can't find the entry point15:01
voidspacemgz: I can see a "bootstrap_with_env" function call, but that's from jujupy and I can't see which package provides that15:01
mgzvoidspace: as in, just look at the ci test on jenkins15:03
mgzand literally run that script15:03
perrito666rogpeppe: add QA Steps to your PR please15:03
voidspacemgz: ah...15:03
rogpeppeperrito666: ah yes, will do15:04
rogpeppeperrito666: in a call right now; after that15:05
katconeed very short review of juju/utils which precludes fixing critical 2.0 bug: https://github.com/juju/utils/pull/24615:05
mgzvoidspace: I'm happy to just go over running a ci test on hangout in like 20 mins?15:05
mgzif that helps?15:05
voidspacemgz: I'll be going to fetch daughter then15:06
voidspacemgz: I'll see how I get on and shout again, maybe sometime after that if you're free?15:06
mgzsure, after pickup also fine15:06
katcorogpeppe: what do you think of getting rid of that once all together?15:07
rogpeppekatco: i'd take a look at where it's used15:11
katcorogpeppe: it's used in various places around Juju, but the once functionality should be managed there, not in a lib15:11
rogpeppekatco: tbh i'd probably keep it as was and just set it to "" or "unknown" on failure15:12
rogpeppekatco: at least initially15:13
katcorogpeppe: that sounds good for now15:13
katcorogpeppe: see if you like that?15:14
rogpeppekatco: when i said "as was" i meant "as it was before the PR"15:14
katcorogpeppe: oh, no. i need the ability to not panic15:15
rogpeppekatco: no need to panic. just initialise the variable to "unknown" on error.15:15
voidspacemgz: where is the juju release build job on CI?15:16
katcorogpeppe: that's what the pr is doing15:16
dimiternmgz: it seems my PR #6454 pre-check job failed on trusty and lxd for unknown reasons15:16
dimiternmgz: do I need to push another commit to re-trigger it?15:16
rogpeppekatco: the PR is adding two exported functions15:16
voidspacemgz: when I follow the links from reports.vapour.ws for release builds I get 404 and they don't show up on the jenkins dashboard (that I can see)15:16
katcorogpeppe: HostSeries was "exported" previously via the global variable15:17
katcorogpeppe: i'm making HostSeries not panic, and introducing MustHostSeries for those who want to panic15:17
mgzvoidspace: log in using the credentials in cloud-city consoles.txt15:18
rogpeppekatco: i was thinking we could probably keep the global for the time being15:19
katcorogpeppe: why? it serves no purpose15:19
voidspacemgz: hah15:19
voidspacemgz: ok, thanks15:19
rogpeppekatco: easy patching :)15:20
katcorogpeppe: hm, on juju we don't allow patching any longer15:20
katcorogpeppe: is this used somewhere other than juju?15:20
natefinchkatco: when did we blanket stop allowing patching in juju?15:20
katconatefinch: mm... i think around july? let me check15:21
katconatefinch: june 8th15:21
rogpeppekatco: ok, without patching you'll need to pass in HostSeries as an explicit dependency everywhere.15:22
rogpeppekatco: good luck!15:22
katcorogpeppe: that's the idea15:22
katcorogpeppe: so, where does this leave us with this PR?15:25
* rick_h_ goes for lunchables, biab15:27
* dimitern really thinks we should have an option to say $$retry$$ on a PR when the pre-check job fails15:27
natefinchkatco: what's the title of the email about patching?  I'm trying to find it, but not seeing anything that looks relevant15:30
rick_h_dimitern: there is a command for that. !!build!! i think15:30
dimiternrick_h_: oh? trying now.. thanks!15:30
dimiternrick_h_: yeah, that worked - it needs to be on its own as a comment though15:33
rogpeppekatco: you do what you need to. if you're really going to pass it in explicitly, then you don't need anything more than a function that reads host series and doesn't cache it15:50
rogpeppekatco: you can then pass in the series string as the explicit dependency15:50
katconatefinch: sorry was otp: https://github.com/juju/juju/wiki/Boring-Techniques#do-not-use-global-variables15:51
katcorogpeppe: yeah that's a great point: code at the edges shouldn't have to actively introspect series, just be told15:52
rogpeppekatco: then you don't need to worry about caching the value15:53
katcorogpeppe: yep, exactly!15:53
katcorogpeppe: so sorry, i'm still unclear: what do i do with this PR?15:54
rogpeppekatco: i'd change it to just expose HostSeries15:55
rogpeppekatco: and dispense with all the globals15:55
katcorogpeppe: including the once functionality?15:56
rogpeppekatco: yup16:00
rogpeppekatco: just a simple function to read the series16:00
katcorogpeppe: i am in love16:00
rogpeppekatco: :)16:00
katcorogpeppe: ok updated PR16:01
dimiternok, so the pre-check job is broken with lxd, it's not just for me16:04
rogpeppekatco: i added a few more comments :)16:17
katcorogpeppe: ta! just one left to address (logger)16:17
perrito666rogpeppe: your patch failed on windows16:18
katcorogpeppe: ok, responded w/ new patch16:19
rogpeppekatco: i don't understand your link response to "why isn't it concurrent safe?"16:20
katcorogpeppe: sorry, i'll add more detail16:20
rogpeppekatco: that function isn't called from readSeries16:20
katcorogpeppe: indirectly it is16:21
katcorogpeppe: readSeries -> updateSeriesVersionsOnce()16:21
katcorogpeppe: oops, actually it is direct ;p i was thinking of HostSeries16:21
rogpeppekatco: hmm, i see. that seems like a bug to me.16:22
rogpeppekatco: readSeries could just call UpdateSeriesVersions16:22
katcorogpeppe: i think it probably has something to do with OS's. looks like we have some OS specific files in here16:23
rogpeppekatco: but tbh i think that given your policy decision, i think you should remove all the global state16:23
katcorogpeppe: that would be ideal, but probably not prudent for this pr16:23
rogpeppekatco: well in general in Go, global functions should be safe to call concurrently16:24
katcorogpeppe: wow, really? i had never noticed that16:24
katcorogpeppe: that's kind of awesome16:24
rogpeppekatco: methods on a type are in general *not* safe to call concurrently unless documented as such16:25
rogpeppekatco: tbh that whole package is a bit spaghetti-like and could use some love16:26
katcorogpeppe: yeah i noticed that...16:26
katcorogpeppe: there is a lot of redirection16:26
rogpeppeperrito666: i'm pretty sure that windows failure is nothing to do with my change16:28
katcorogpeppe: so +1 on pr?16:28
rogpeppekatco: if you've made the function concurrent-safe, sure16:28
katcorogpeppe: oy... i don't think i can do that in a short amount of time16:28
katcorogpeppe: i don't think it was concurrent-safe before16:29
katcorogpeppe: e.g. you would get different results depending on whether you were the first in16:29
rogpeppekatco: there was no function to call, so it was16:29
katcorogpeppe: ?? yes there was... it was exposed through that global variable `HostSeries`16:29
rogpeppekatco: ha, no i lie16:29
rogpeppekatco: but it *was* concurrency safe16:30
katcorogpeppe: i don't think so? it had a RC16:30
rogpeppekatco: it used a sync.Once16:30
katcorogpeppe: right, so if you were 2nd in but 1st in hadn't completed, you'd get "", nil16:31
rogpeppekatco: nope, that's not how sync.Once works16:31
katcorogpeppe: ohhh yeah, i forgot subsequent calls block16:32
rogpeppekatco: so given that HostSeries is using global state anyway, you could easily just continue to use a global variable.16:32
rogpeppekatco: i hadn't realised about all the other global state stuff.16:33
katcorogpeppe: yeah, sad state of affairs :(16:33
rogpeppekatco: well to be fair, it is all about a global thing16:34
katcorogpeppe: leaning towards taking the "once" out of "updateSeriesVersionOnce"16:37
katcorogpeppe: wow nm... that really spider-webs out... you're right, everything is global16:38
rogpeppekatco: i'm not sure i see the problem - you could just change hostSeries to return "unknown" rather than panicking.16:38
rogpeppekatco: tbh i think that would be the better solution until you can fix the whole package16:38
katcorogpeppe: ok i'll once again revert back to that16:39
katcorogpeppe: do you think it should return an error every time?16:42
katcorogpeppe: or just "unknown", err 1st and then "unknown", nil16:43
mupBug #1633554 opened: juju ssh uses old/invalid known_hosts data <juju-core:New> <https://launchpad.net/bugs/1633554>16:48
katcorogpeppe: pr updated16:49
mupBug #1633554 changed: juju ssh uses old/invalid known_hosts data <juju-core:New> <https://launchpad.net/bugs/1633554>16:57
=== frankban is now known as frankban|afk
mupBug #1633554 opened: juju ssh uses old/invalid known_hosts data <juju-core:New> <https://launchpad.net/bugs/1633554>17:03
redircrazy weather here in the easy bay, today.17:14
katcorick_h_: what am i doing wrong? https://github.com/juju/juju/pull/645517:20
rick_h_katco: /me looks17:21
katcorick_h_: for context, i am successfully rebased off of staging17:22
katcorick_h_: no conflicts17:22
rick_h_katco: so a conflict with something else on develop?17:22
rick_h_katco: so this is a window where someone's landed something on develop, and it's not yet landed on trunk (staging) and that is causing a conflict?17:22
katcorick_h_: i think that's the case?17:22
katcorick_h_: but it looks like there's PRs included from Sep. 6th?17:23
rick_h_katco: oh ic, sec17:23
katcorick_h_: unless i'm reading this wrong17:23
rick_h_katco: can you update staging from upstream, create a new branch from that, and cherry-pick your commit over to the new branch and see if that's better?17:24
katcorick_h_: wait i think i see... my local staging was out of date17:24
rick_h_katco: I'm wondering if it was something off between when you started and now?17:24
katcorick_h_: which is weird... i just updated that17:24
katcorick_h_: i think this is human error on my part17:25
rick_h_katco: hmm, ok. If you find it's something too easy to do let me konw so we can adjust/warn folks17:25
katcorick_h_: no i guess there was an error updating my local refs that i missed, or i just did something else wrong17:26
katcolooks like rogpeppe is off for the day; still need a +1 on https://github.com/juju/utils/pull/24617:27
rick_h_natefinch: perrito666 can either of you please look at ^ ?17:27
rick_h_redir: as well? ^17:27
perrito666ill tal17:27
rick_h_ty perrito66617:27
redirtx perrito666 :)17:29
katcota perrito66617:29
katcosinzui: also could use a review on this: https://github.com/juju/juju/pull/645517:32
rogpepperogpeppe: sorry, i was pairing getting a critical fix out17:33
rogpeppekatco: ^17:33
* rogpeppe talks to himself once again17:33
katcorogpeppe: oh sorry17:33
rogpeppekatco: i'll take another look17:33
katcorogpeppe: ta17:33
sinzuikatco: do you need me to build and run n Sierra?17:36
katcosinzui: to test the fix, i think so17:36
sinzuikatco: okay, you fix matches my expectations. I will ping you back in about 15 minutes17:36
katcosinzui: ta17:36
rogpeppekatco: reviewed17:37
katcorogpeppe: good call on the bug#, making those changes. ta for the review17:38
katcoperrito666: you are off the hook if you like17:38
* perrito666 unhooks himself17:38
perrito666katco: shout if you want the review anyway17:38
katcorogpeppe: do you think that should be a single meta bug, or one specific to those lines?17:39
katcoperrito666: ta17:39
perrito666rogpeppe: approved https://github.com/juju/juju/pull/645317:39
rogpeppekatco: dunno :)17:43
rogpeppeperrito666: ta!17:43
katcorogpeppe: i'll make it a meta-bug for all of utils17:43
rogpeppekatco: yeah17:44
rogpeppekatco: no global loggers, eh?17:44
katcorogpeppe: i think loggers might be OK, but once the framework for injecting things in is established, often it's just as easy to inject a logger17:45
rogpeppekatco: injection is just a parameter, right?17:45
katcorogpeppe: parameter, or member-variable17:45
rogpeppekatco: ok17:45
katcorogpeppe: or a type which can retrieve those things17:46
katcorogpeppe: have you done anything with IoC before?17:47
rogpeppekatco: tbh i've argued for non-global loggers before17:47
rogpeppekatco: i think it's worth doing17:48
rogpeppekatco: (that was in the context of go-kit)17:48
katcorogpeppe: i don't know anything about go-kit, what is it?17:49
rogpeppekatco: it might be nicer to do loggo a bit differently if that's what we're doing17:49
rogpeppekatco: a set of packages for microservices17:49
rogpeppekatco: loggo is oriented around global loggers17:49
katcoyeah17:49
rogpeppekatco: but if it wasn't, i think you'd probably ask for a sub-logger of an existing logger17:49
rogpeppekatco: anyway, i'm late, gotta go17:50
katcorogpeppe: tc, ta17:50
sinzuikatco: LGTM18:02
katcosinzui: cool... it says tests failed...18:03
katcosinzui: but... i don't see any failing tests18:04
sinzuikatco: indeed I don't see a reson for the failure18:05
katcosinzui: can you take that and run with it on your end? i'll go ahead and merge this into develop18:05
sinzuikatco: I cannot ^ balloons any insight into why the build check failed to unblock katco18:06
balloonsPR?18:07
sinzuikatco: balloons: is there a problem with the lxd test? http://juju-ci.vapour.ws/job/github-check-merge-juju/60/console18:07
balloonsSee /var/lib/jenkins/workspace/github-check-merge-juju/artifacts/lxd-err.log18:07
katcoballoons: ah i see it now... is that anything the code can influence?18:08
balloonsthe LXD test failed..18:08
katcoballoons: "Failed to copy file. Source: /var/lib/jenkins/cloud-city/jes-homes/merge-juju-lxd/models/cache.yaml Destination: /var/lib/jenkins/workspace/github-check-merge-juju/artifacts/lxd/controller"18:09
katcoballoons: i don't know what that means18:09
balloonskatco, that's not the issue here.. It's weird it shows there18:11
balloonsthe lxd.err log is with full debug, so it's hard to parse imho18:11
katcoballoons: oh, so we look at trusty-out.log for unit test failures, and lxd-err.log for lxd failures?18:12
katcoballoons: hmmm i see a python exception... what is causing it? "juju --debug expose -m merge-juju-lxd:merge-juju-lxd dummy-sink" ?18:14
balloonskatco, I was just going to say the same thing18:14
balloonsthat's why it failed18:14
balloonsnow, as to what that error is about, well, let's see18:14
balloonskatco, ahh timeout. Look how long it was waiting18:15
balloonsjuju --debug expose -m merge-juju-lxd:merge-juju-lxd dummy-sink never did anything18:16
katcoballoons: ah from the timestamps? 20m or so?18:16
balloonsyea.18:16
katcoballoons: so the question is immediately: is this intermittent? wondering if there's anything in the version of this lib i pulled in that would cause this18:17
balloonskatco, if you think it's spurious I can run again. And if it is, we'll need to investigate18:17
katcoballoons: well, i already did a $$merge$$ before you popped into the conversation, so i think we'll get our answer in a bit18:18
balloonskatco, so I kicked it again. We'll see and followup on our end, or you'll know on yours ;-)18:18
katcohehe18:18
balloonsohh, hheheh18:18
katcoballoons: sorry about that; got my other data point in sinzui's comment and went with it18:18
katcoballoons: looks like it timed out again... huh18:34
balloonskatco, you have another run still going of the pre-check18:35
balloonsthey ran at the same time..18:35
katcoballoons: ah ok18:35
katcoballoons: guess we'll see what happens there. otherwise i'm in for some fun debugging18:35
balloonskatco, so just a datapoint, but looking like it's you ;-)18:35
katcoballoons: i dunno i'm looking at the changes from 406e7197d0690a3f28c5a147138774eec4c1355e to 28c01ec2ad930d41fe5acd9969b96284eb61660b for this library, and there's like... nothing18:40
balloonskatco, that gave me an idea -- I think I've solved it18:42
katcoballoons: in fact, here's the diff: https://github.com/juju/utils/commit/28c01ec2ad930d41fe5acd9969b96284eb61660b18:42
balloonskatco, it's the dreaded LXD too many container bug. I'll have to apply the sysctl values to this host too18:42
katcoballoons: oh? what was it?18:42
katcoohh18:42
balloonsyea..18:42
balloonssorry about that18:42
katcoballoons: i.e. too many tests running at once = run into this?18:43
katcoballoons: and since we're now running tests for every pr...18:43
katcokablooey18:43
balloonskatco, exactly18:43
balloonswe're at magic number 13.. where things end18:44
katcoballoons: not even x^2 (shakes head)18:45
balloonskatco, sending $$merge$$ should land you now. Sorry for the trouble18:45
katcoballoons: no worries, thanks for the help18:45
=== perrito667 is now known as perrito666
katconatefinch: https://twitter.com/i/moments/78260000154125107318:50
=== sinzui_ is now known as sinzui
=== Spads_ is now known as Spads
=== xnox_ is now known as xnox
=== iatrou_ is now known as iatrou
=== cppforlife__ is now known as cppforlife_
=== freyes__ is now known as freyes
natefinchkatco: ha. Goats are the cutest, sorry puppy lovers19:00
cmarsgoats get my votes19:00
katcosinzui: your MacOS fix is committed19:21
sinzui:)19:23
balloonsrogpeppe, remember when I said you can't ask for a build.. Seems like I lied19:31
balloonsrogpeppe, !!.*!! seems to be working19:31
natefinchlol, it's like you're swearing at the bot19:32
balloons!!ilovebots!!..19:32
balloonsor just !!build!!19:32
mupBug #1566450 opened: Juju claims not authorized for LXD <bootstrap> <ci> <intermittent-failure> <lxd> <juju-core:Triaged> <https://launchpad.net/bugs/1566450>19:37
natefinchrick_h_: in your bug, you say "Accounts should only be available to the admin of the controller and not for anyone that can read the data", but the only account it shows is the one you're logged in as, so I presume it's ok to show your own account and ACLs.19:37
mupBug #1566450 changed: Juju claims not authorized for LXD <bootstrap> <ci> <intermittent-failure> <lxd> <juju-core:Triaged> <https://launchpad.net/bugs/1566450>19:40
mupBug #1566450 opened: Juju claims not authorized for LXD <bootstrap> <ci> <intermittent-failure> <lxd> <juju-core:Triaged> <https://launchpad.net/bugs/1566450>19:43
rick_h_natefinch: +120:00
natefinchrick_h_: actually, it looks like non-admins can't see any controller details at all, which is kind of silly.20:10
* redir lunches20:10
perrito666natefinch: yup that was by design20:12
natefinchperrito666: most of it is information the client already has.... like api endpoint, list of models the user has read access to, what account you're using to connect to it, what your curent model is, etc20:13
natefinchperrito666: the only information that definitely must be hidden is the ca-cert and models the user doesn't have read access to.  I don't think showing the cloud type or region is going to hurt anything20:14
natefinchperrito666: also, just returning empty json is really ugly.20:15
perrito666natefinch: in which context?20:16
perrito666to users?20:16
perrito666in that case any form of json is ugly :p20:16
natefinchperrito666: I guess show-controller always outputs yaml, so empty json is fine.... we just should have had a tabular output that outputs a nice message when you don't have rights to see the controller info20:17
natefinchrick_h_: so the long and the short of it is, I'm not sure what to do with this bug.  I think it's sort of a "it's already done slash not applicable" unless we want to change how the whole thing works to show some data to non-admins20:20
hackedbellinihey! I'm trying to setup juju 2.0 with lxd/zfs following this: https://jujucharms.com/docs/stable/getting-started21:58
hackedbelliniWhen I run bootstrap, everything seems to go right. But at some point it fails in this line: 2016-10-14 21:53:20 DEBUG juju.tools.lxdclient client.go:199 connecting to LXD remote "remote": "192.168.99.4:8443"21:59
hackedbellinithat because 192.168.99.4 is not the machine that I'm running it (the machine is 192.168.99.3). That ip is from the broadcast machine21:59
hackedbelliniI don't know from where it is getting that config. Do someone have a clue on what is going on here?22:00
hackedbelliniit is something like this comment: https://bugs.launchpad.net/juju/+bug/1547268/comments/1922:16
mupBug #1547268: Can't bootstrap environment after latest lxd upgrade   <2.0-count> <juju:Triaged by rharding> <https://launchpad.net/bugs/1547268>22:16
hackedbellininote that it is doing a GET on the gateway ip and not on the bridge address22:17
hackedbellinianyone?22:31

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