/srv/irclogs.ubuntu.com/2014/09/10/#juju-dev.txt

perrito666menn0: what is the error?00:00
=== axw_ is now known as axw
axwwallyworld: did you see my last message? sorry, dodgy wifi00:00
axwaxw_> "bad HTTP response" means the API server failed to find the tools locally, and failed to find them remotely00:00
menn0perrito666: some machine agents are unable to download tools for upgrade. they get a HTTP 400 error.00:00
wallyworldaxw: yeah, i found where that's being generated - the sendError(400). but we need extra info00:01
wallyworldhence my earlier request for more logging00:01
wallyworldin that area00:01
axwactually hrm, it also means it found an entry in simplestreams but failed to download it00:01
axwweird00:01
wallyworldyeah00:01
perrito666menn0: mm I doubt it but you could very well try a rever tand see what happens00:04
axwperrito666: I'm pretty certain it's not your change00:04
perrito666man hot oil realy burns00:10
axwwallyworld: https://github.com/juju/juju/pull/71800:18
wallyworldlooking00:19
wallyworldlet's land this and see wtf is happening00:20
axwwallyworld: hmm, wtf00:29
axwthere's weirdness in the simplestreams00:29
axwwallyworld: http://paste.ubuntu.com/8304581/00:30
axwis that version at the top meant to be there?00:30
axwI guess it's not actually a problem though, since it's finding the tools...00:30
wallyworldthat version at the top will be used for the containing elements unless overridden. ideally we wouldn't be generating mixed streams like that00:32
wallyworldsinzui: bug 1366887 is starting to look like it's caused by that known mongo issue https://jira.mongodb.org/browse/SERVER-1180700:49
axwinteresting, IBM just sent a patch to gccgo to support Linux s/39000:54
perrito666uff, sounds large review task00:56
axwwtf mate01:05
axwthumper: is this related to identity changes?01:05
axwError details:01:05
axwinvalid entity name or password01:05
axwI just upgraded from 1.20.6 to master, got that01:05
perrito666axw: I believe wtf is the stronges language I have see coming from you01:07
axwI meant, oh bother01:09
perrito666axw: you are going to go into a craziness rampage during a sprint and kill us all right?01:10
* axw twitches01:10
menn0davecheney: thanks for the review. did you see my replies to https://github.com/juju/juju/pull/715 ?01:23
thumperaxw: probably01:25
thumperaxw: oh fuck01:25
thumperoh fuck oh fuck ...01:25
thumperheh01:25
thumperoops01:25
thumpershit shit shit shit shit...01:26
* thumper thinks01:26
thumperwaigani: this relates to the change we landed yesterday where the  env user is now needed for api login01:27
thumperum...01:27
thumperaxw: actually, no01:27
* perrito666 notices this is coprolalia day01:27
thumperaxw: maybe?01:27
thumperaxw: we should chat01:27
thumperaxw: you'd get that error response if you tried to access the API as a client before the upgrade steps ran to add in the env user01:30
axwthumper: sorry went afk for a bit. I tried again and it worked...01:30
thumperaxw: yeah, we changed auth a little yesterday01:31
thumperaxw: there now needs to be an envuser in the environment01:31
axwthumper: I tried it a few times in that run, over a few minutes01:31
thumperaxw: which gets added in an upgrade step01:31
axwso maybe the upgrade went pear shaped01:31
axwwill collect logs if I see it again01:31
thumpercheers01:32
thumperwallyworld: are you OK if I JFDI the landing for https://github.com/juju/juju/pull/717?01:35
thumperwallyworld: at the very worst, we get more logging context for failures01:35
thumperwallyworld: at the best (?) we don't fail as much01:35
wallyworldi think that sounds ok01:35
thumperjust wanted someone else to agree with me :)01:36
wallyworldscaredy cat01:36
thumperis it JFDI or __JFDI__01:36
wallyworldcan't recall01:36
thumperdue diligence01:36
* wallyworld was yanking thumper's chain01:36
* thumper consideres his chain yanked01:37
thumperwallyworld: did you remove the "retry the tests if you fail first time" in the bot?01:37
wallyworldyup01:37
thumpercool01:39
* thumper goes to walk the dog and get antibiotics for sick child01:39
* thumper back soon01:39
perrito666thumper: beware, dont mi those two activities01:40
axwwallyworld: getting a different error now, unexpected deletion of resource catalog entry with id "941af6aa084ab96c30440ee74d4a321761c47bc5f069b8297d387578b919e12544227eed4fc9db1eb03d978c998e33b1": resource with id "941af6aa084ab96c30440ee74d4a321761c47bc5f069b8297d387578b919e12544227eed4fc9db1eb03d978c998e33b1" not found02:11
wallyworldone sec, otp02:12
wallyworldaxw: so something is deleting the same record twice, not sure without digging why02:18
axwwallyworld: in the branch, I don't remove blobs at all. blobstore must be doing that02:18
axwwallyworld: it does handle concurrent uploads to the same path right? :)02:18
wallyworldsupposed to02:18
wallyworldif uses the assert txn stuff02:19
wallyworldand ref counts02:19
wallyworldaxw: ah, that message is a bit misleading; it's an error doing a Get()02:20
wallyworldit's saying it tried to fetch something that wasn't there02:21
axwwallyworld: I don't think so, this is in the code that's trying to cache the tools to storage02:21
axwwallyworld: full error message:02:21
axw2014-09-10 02:11:01 ERROR juju.apiserver tools.go:55 GET(/environment/a7aca243-c2ef-4912-883b-049182059330/tools/1.21-alpha1.1-trusty-amd64?%3Aenvuuid=a7aca243-c2ef-4912-883b-049182059330&%3Aversion=1.21-alpha1.1-trusty-amd64&) failed: error fetching tools: error caching tools: cannot store tools tarball: unexpected deletion of resource catalog entry with id "09d4e310662142df8fc5304484ca33fc5b1ab9d1e5e1fecc09cef1369227fa71aa38c63be34dca95d1c702:21
axw6ff6f488df64": resource with id "09d4e310662142df8fc5304484ca33fc5b1ab9d1e5e1fecc09cef1369227fa71aa38c63be34dca95d1c76ff6f488df64" not found02:21
wallyworldlook in putResourceReference02:22
wallyworldit's a sanity check at the end02:22
axwyep, I see it02:23
wallyworldit could be there's a race there02:23
menn0axw: I'm getting a vet warning when I push. looks like something you did recently02:23
wallyworldmaybe existingResourceId comes back as != ""02:24
menn0axw: logger.Infof("%v tools not found locally, fetching")02:24
menn0in apiserver/tools.go02:24
menn0missing arg to Infof02:24
axwmenn0: sorry, was adding logging in a rush, will fix02:24
menn0axw: np02:24
wallyworldaxw: how often does that error occur?02:25
axwwallyworld: that's what's tripping up CI from the looks of things02:25
axwit's occurring over and over again02:26
wallyworldhmm, ok. but it works locally for you02:26
axw2014-09-10 02:06:33 WARNING juju.storage managedstorage.go:183 cleaning up resource catalog after failed put02:26
axwyep02:26
wallyworldaxw: i might have an idea02:44
axwwallyworld: I've reproduced it locally now... not sure if it's timing related or not02:44
thumperwallyworld: agh... write error: No space left on device02:44
thumperwallyworld: for the bot02:44
thumperwallyworld: that is a try again error isn't it?02:44
wallyworldthumper: retry02:44
wallyworldyup02:44
thumperwhy does it happen?02:44
wallyworldit seems it could happen if a 2nd upload happens and the ref count is attempted to be updated before the first upload finishes02:44
wallyworldthumper: nfi02:45
thumperwallyworld: got a minute to talk through a failure?02:45
thumperlooking at the port in use one02:45
wallyworldthumper: sure, give me a sec02:45
axwwallyworld: can you point at code in blobstore?02:45
wallyworldaxw: putResourceReference02:46
wallyworld// Sanity check - ensure resource catalog entry for resourceId still exists.02:46
wallyworld_, err = ms.resourceCatalog.Get(resourceId)02:46
wallyworldif the blob is still being uploaded, that Get() will fail02:46
axwwallyworld: ah, because pending02:46
axwright?02:47
wallyworldso if it's the 2nd caller, it's suposed to +1 to ref count02:47
wallyworldye02:47
wallyworldp02:47
wallyworldbut if 2nd caller occurs before upload is done, then boom02:47
wallyworldi think02:47
axwwallyworld: so we should only error if err != nil && err != ErrUploadPending02:47
wallyworldi think so, let me take one more look02:48
axwthough I suppose PutForEnvironment shouldn't really return nil if it's pending still...02:48
wallyworldyeah, i think for now, if err != nil && err != ErrUploadPending should do it02:49
wallyworldaxw: if you can reproduce, can you try that fix?02:50
axwwallyworld: I'll have a play with it02:50
wallyworldty02:50
wallyworldthumper: did you want to talk now?02:50
thumperwallyworld: just on with menn0, shortly?02:51
wallyworldsure02:51
wwitzel3waigani: I'm confused, didn't you tell me to delete that comment?03:08
waiganiwwitzel3: which one?03:08
wwitzel3waigani: the RunCommandsArgs03:08
wwitzel3waigani: also thanks for the review :)03:09
waiganiwwitzel3: If I did it was a mistake, exported types should always have comments03:10
waiganiwwitzel3: I'm just trying to see if/where I said that ?!03:10
waiganiwwitzel3: btw a lot of the error cases are not covered by tests, but often the error states are from funcs/packages that have already been covered. But just as a suggestion maybe think if any new functions you've introduced need to be tested for expected behaviour when they crap out.03:12
wwitzel3waigani: ok03:19
wwitzel3waigani: thanks :)03:19
waiganinp03:20
thumperwallyworld_: onyx hangout?03:25
wallyworld_ok03:25
waiganidavecheney: do we have a rule on underscores in var names?03:36
waiganidavecheney: I haven't seen them in juju, but a PR uses them03:36
thumperwallyworld_: https://github.com/juju/juju/pull/72003:40
davecheneywaigani: you know i'm not a big fan of rules03:40
davecheneyi'm more into shouting and throwing my weight around03:40
waiganilol03:40
davecheneythis_isnt_considered_kosher()03:41
davecheneybutThisIs()03:41
davecheneyis all i know03:41
waiganiokay, I'll s/rule/tend to03:41
waiganidavecheney: I stand corrected: format_1_18Suite03:42
thumperwaigani:  plx fix - http://paste.ubuntu.com/8305704/03:44
thumperwaigani: pls fix - http://paste.ubuntu.com/8305704/03:44
thumperwaigani: should be "equal(now) || after(now)"03:44
axwwallyworld_: https://github.com/juju/blobstore/pull/1503:44
wallyworld_looking03:45
waiganithumper: is that trunk?03:45
thumperwaigani: yes03:45
thumperwaigani: slipped through03:45
waiganiyikes, on it03:45
thumperwaigani: just hit it landing a branch, ta03:45
wallyworld_axw: thanks for fixing that, if tests pass i'll merge03:50
axwwallyworld_: they do, I'm just going to test in juju now...03:50
wallyworld_ok03:51
wallyworld_let me know and i'll merge then03:51
axwwallyworld_: do you think it would be prudent to use a different path in storage when uploading tools? e.g. generate a UUID to add to the path03:51
axwI'd rather not, seems like blobstore should be doing this03:52
wallyworld_axw: you mean and then make them available at the right path when done?03:52
axwwallyworld_: actually... I don't think the path matters does it. the resource catalog entry is based on the hash of the content, riught?03:53
wallyworld_yep03:53
waiganithumper: https://github.com/juju/juju/pull/72103:53
axwwallyworld_: juju likes that better03:57
axwit still surfaces ErrUploadPending, but it recovers03:57
axwi.e. the upgrading agent bounces and tries again03:57
wallyworld_axw: that's good enough for now :-)03:58
wallyworld_that pending thing should be fixed in the blob store i agree03:58
wallyworld_it just wasn't implemented03:58
waiganithumper: searched, found one other place, updated.04:00
waiganithumper: merge?04:01
axwwallyworld_: https://github.com/juju/juju/pull/722 please04:02
axwanyone actually04:02
axwthanks waigani04:05
waiganiaxw: that was a big one!04:05
axwI know, it's a hard life :(04:06
jamwwitzel3: shouldn't you be asleep around now ? :)04:08
wallyworld_axw: sorry, lost my network again right when i saw your PR04:09
thumperboo... hiss... FAIL: firewaller_test.go:460: FirewallerSuite.TestRemoveMultipleServices04:14
thumpernew intermittently failing test04:15
* thumper hasn't had much luck landing this branch04:15
axwwallyworld_: no worries04:18
menn0thumper: regarding our earlier conversion regarding clearing the upgradeinfo doc... it will mean a pre 1.21 client won't be able to clear it. only newer clients will have the client side support to sort out a problem04:32
menn0thumper: does that matter?04:32
thumpermenn0: I don't think so04:33
menn0thumper: good. that's what I was thinking too but thought I'd better check04:33
thumperdavecheney, waigani: here is the user tag branch - https://github.com/juju/juju/pull/72304:43
thumperdavecheney: I'd like you to look, but perhaps as a mentor for waigani04:43
thumperwallyworld_: how do I check the landing bot status?04:44
wallyworld_http://reports.vapour.ws/ i think04:44
wallyworld_h, maybe not04:45
wallyworld_it should accept new jobs as soon as the blocker is marked fit comitted04:45
thumperbad-record-mac ... again04:46
* thumper head desks04:46
thumperI think I'm approaching a record again04:46
wallyworld_thumper: oh, you want to look at your job?04:46
wallyworld_http://juju-ci.vapour.ws:8080/job/github-merge-juju/04:46
wallyworld_click on the dot next toy yours to see console output04:47
thumperah04:47
thumperta04:47
wallyworld_the sooner we move to mongo 2.6, the better04:47
thumpertrue that04:48
davecheneythumper: AAAAAAAAAAAAARGH04:52
davecheneyparams.Status is SO INCIDIOUS04:53
davecheneythere is an interface defined in state which reuqires a params.Status04:53
davecheneythey joined like simaese twins04:53
thumperick05:02
thumperwallyworld_: success finally \o/05:02
wallyworld_\o/05:02
menn0davecheney: so is the spelling of insidious05:02
* menn0 ducks05:02
davecheneyhar har05:07
davecheneyi'm useless without the little red line05:07
menn0sorry :)05:07
davecheneymenn0: anyway, back at the pooit05:07
davecheneyi don't know how to undo this05:07
menn0yeah the actual point sucks05:07
davecheneywe have types in the apiserver that have to implment the state.StatusSetter interface05:07
davecheneyand that StatusSetter interface depends on types in   the apiserver/params package05:08
davecheneyi've just stashed a whole buttload of changes05:08
davecheneyand i'm going to see what happens if I move state.StatusSetter to the apiserver05:08
davecheneyas it's really the api that presents that interface now05:08
davecheneynobody gets to talk to the state server directly anymore05:08
davecheneyso that fact that state implements that interface is tangental05:09
davecheneymenn0: does that sound sane ?05:11
davecheneystate doesn't need to implement StatusSetter as that is an api method now, not a state method05:11
* davecheney waves hands furiously05:11
=== uru_ is now known as urulama
davecheneyuh, why is there an apisever/client package05:21
davecheneyhow is that not05:21
davecheneyapi/ ??!05:21
thumperdavecheney: I think that is the server side part of the client (read CLI) facade05:23
thumperas opposed to worker facades05:23
davecheneyo_O05:24
davecheneyno, wait05:25
davecheney    _   /|05:25
davecheney    \'o.O'05:25
davecheney    =(___)=05:25
davecheney       U05:25
davecheneyACK!05:25
davecheneygo test here/goes/nothin05:29
wwitzel3jam: yeah, probably, sometimes it is just more productive late at night :)05:32
urulamawallyworld_: ping05:37
urulamawallyworld_: did you get my e-mail?05:37
jamwwitzel3: I just remember you also waking up at 5am...05:37
wallyworld_urulama: hi, um, not sure, when did yuo send?05:37
urulamawallyworld_: 10min ago05:37
wallyworld_urulama: ah, you are uros05:38
wallyworld_yes, and i just replied :-)05:38
wwitzel3jam: yeah, it is more like 7 now, since no one on my team is around at 5 anymore.05:38
wwitzel3so even if I don't get to bed until 2, I still get a solid 5 hours05:38
jamwwitzel3: I'm not sure if 5 can be considered "solid", but if it is enough for you05:38
urulamawallyworld_: great, saw that PR for the fix in the e-mails, yes. thanks05:39
wallyworld_urulama: i copied william so he's in the loop about the use of env namespace05:39
wwitzel3jam: generally more is better, I really just mean it is better than 305:41
urulamawallyworld_: ok, i'll do that as well in the future05:43
axwwallyworld_: are you still doing something with https://github.com/juju/juju/pull/714 ?05:49
axwwallyworld_: are you still doing something with https://github.com/juju/juju/pull/714 ?05:51
davecheneyi made gocheck panic, do I get a prize ?05:52
wwitzel3you probably should05:52
wallyworld_axw: i wasn't going to because it just reduces the spam, rather than eliminating it. i did test my solution and it worked, but didn't seem worth it05:53
wallyworld_i should close the pr i guess05:53
axwok. it will be less spammy in 1.21 anyway05:53
axwyes please05:53
wallyworld_yeah05:53
wallyworld_axw: i was procrastinating as to whether tp proceed or not05:54
axwnps, just wondering what to review next05:54
davecheneyaaaaaaaaaaaaand, kaboom06:02
davecheneyfunc (s *BoolSuite) TestNonBooleanValues(c *gc.C) { c.Assert(nil, jc.IsFalse)06:02
davecheney}06:02
davecheneyoh no, and other tests depend on this behavior06:07
davecheneyaxw: wallyworld_ can you do06:09
davecheneygo test github.com/juju/testing/checkers06:09
davecheneyfor me06:09
davecheneyi think the test suite is broken06:09
axwsure06:09
axwdavecheney: what commit are you on?06:10
davecheneycommit 503e61bd033592d7b6003174389f68454deb7b7a06:10
davecheneyMerge: 9f90119 ed4eedd06:10
davecheneyAuthor: Andrew Wilkins <axwalk@gmail.com>06:10
davecheneyyup, still broken at tip06:10
axwdavecheney: works for me06:11
davecheneyooops06:11
wallyworld_me too06:11
davecheneysorry lads06:11
davecheneyPEBKAC06:11
axwnps06:11
davecheneyi had local changes06:11
davecheneythanks for confirming06:11
wallyworld_happens to the best of us, and tim :-)06:11
* davecheney rimshot06:12
davecheneywhile i have you pity06:12
davecheneydoes anyone know if there is a c.Check check that does not mark the build as failued06:12
davecheneyfailure06:12
davecheneybasically, I need to write a check that will fail06:12
wallyworld_hmmm, not sure06:12
davecheneybut it should fail, not panic06:13
davecheneymaybe I can use c.Panics or something06:13
davecheneyc.Assert(nil, jc.IsFalse)06:13
davecheney^ this panics06:13
wallyworld_isn't that what Check does:06:13
wallyworld_?06:13
davecheneyi have a fix, but can't write a test06:13
jamdavecheney: c.Check(func(), gc.PanicMatches("text"))06:14
davecheneymaybe I can just call the checker direclty06:14
davecheneyjam:  the problem is c.Assert(nil, jc.IsFalse)06:14
davecheneypanics gocheck06:14
davecheneybut thereis no value of nil that will ever be jc.Istrue06:14
jamdavecheney: c.Check(func() {c.Assert(nil, jc.IsFalse}, PanicMatches()) ?06:14
davecheneyjam: thanks, will try06:14
jamor you don't want it to panic, but to just assert false06:14
davecheneywell, nil is neither false nor true06:15
davecheneyso we can't evne write nil, gc.Not(jc.False)06:15
davecheneymaybe I should just call the checker directly06:15
davecheneyso even if the checker doesn't panic06:15
davecheneyit will still mark the test as a fail06:15
jamto be pedantic, gc.Not(jc.False) != jc.True, exactly because of stuff like nil (or a digit, or string, etc). I don't really know what the expectation is for jc.IsFalse, but I personally would expect it to fail the assert if it got nil06:16
davecheneyhmm, bool_test.go:42: c.Assert(nil, jc.IsFalse)06:18
davecheney... obtained = nil06:18
davecheney... expected type bool, received <invalid Value>06:18
davecheneyths is the problem06:18
davecheneyi have to test this06:18
davecheneysod it, i'll just call the checker directly06:20
davecheneyhttps://github.com/juju/testing/pull/3406:26
davecheneyjam: https://github.com/juju/testing/pull/3406:26
davecheneyi was making it way to hard for myself06:26
jamdavecheney: lgtm06:30
davecheneyjam: ta06:30
davecheneynow back to what is _was_ doing06:31
=== urulama-afk is now known as urulama
mattywmorning all07:44
dimiternmattyw, morning07:57
menn0anyone know why merges are still blocked? The 2 blockers that are currently in place are marked as "Fix Committed"07:58
rogpeppemenn0: ping08:12
menn0rogpeppe: pong08:13
rogpeppemenn0: just looking at https://codereview.appspot.com/92560043/08:13
menn0rogpeppe: really? that's from over 3 months ago08:14
rogpeppemenn0: wondering if there was a particular reason for disallowing a leading digit in user names there08:14
menn0right08:14
* menn0 reads08:14
rogpeppemenn0: the issue was raised as to why we don't allow leading digits in user names when launchpad does allow them08:14
rogpeppemenn0: and it looks like that CL was when the change was introduced08:15
rogpeppemenn0: (before then, we did allow leading digits)08:15
menn0I'm pretty sure the regex has changed again since that PR08:15
menn0but I see it still doesn't allow leading digits08:15
rogpeppemenn0: right08:16
menn0I know there was talk at one point about making juju accept whatever LP does08:16
menn0I think someone looked at LP's code08:16
menn0but clearly we don't have exact parity08:17
rogpeppemenn0: clearly :-)08:17
menn0I don't think there's any particularly good reason but I haven't been too involved with this work08:17
menn0thumper and waigani are the best ppl to talk to08:17
rogpeppemenn0: ok, thanks08:18
menn0I don't think you'll find much argument if this needs to be changed08:18
menn0who raised the issue?08:18
jamdimitern: voidspace: TheMue: I'm probably going to miss the standup today, my son's b-day party at school got moved to the end of the school day.08:55
voidspacejam: ok08:56
TheMuejam: ok, won't wonder then08:56
TheMuejam: have fun and grats to your son08:56
dimiternjam, sure, have fun! :)08:57
voidspacejam: TheMue: dimitern: I have a doctors appointment tomorrow morning - vaccinations for India - so I'll be a bit late starting09:40
voidspacejam: TheMue: dimitern: back in plenty of time for standup though09:41
TheMuevoidspace: ah, ok, some vaccinations? had it once I gave talks in India too.09:41
TheMuevoidspace: but it has been a fantastic trip, I liked it.09:42
dimiternvoidspace, no worries09:42
* TheMue remembers the fantastic food there09:44
=== gsamfira1 is now known as gsamfira
davecheneyvoidspace: im going to india next feb10:14
davecheneywhat vaccinations do I need ?10:14
tasdomasdimitern, ping?10:18
voidspacedavecheney: ah10:19
dimiterntasdomas, hey10:19
voidspacedavecheney: heh, I'll tell you when I come back from the doctors10:19
davecheneyvoidspace: right, brimming over with confidence10:19
voidspacedavecheney: they did tell me a few weeks ago what they would do to me10:19
voidspacedavecheney: but I've forgotten10:19
voidspacedavecheney: it does depend where in India you're going - I'm going to Bangalore10:19
voidspacedavecheney: where are you going?10:19
tasdomasdimitern, the bug you assigned to me - what version of juju did you experience this with?10:19
davecheneyvoidspace: same, bangaloe10:20
voidspacedavecheney: I'll let you know tomorrow then :-)10:20
voidspaceIt was four injections IIRC10:20
dimiterntasdomas, sorry, which one?10:21
davecheney go tool 7l a.7 m.710:21
dimiterntasdomas, I'm going over your port ranges handover document and reassigning the bugs to myself10:21
davecheneysplendid10:21
tasdomasdimitern, ah, ok10:22
dimiterntasdomas, the one I reassigned back to you is https://bugs.launchpad.net/juju-core/+bug/1359837 I believe, a fix for which landed with your PR #66710:22
mupBug #1359837: expose open_port fails with no-op change <expose> <regression> <juju-core:Fix Committed by tasdomas> <postgresql (Juju Charms Collection):Invalid> <https://launchpad.net/bugs/1359837>10:22
tasdomasdimitern - I was talking about the postgresql on local provider one10:22
tasdomasdimitern, yes10:22
dimiterntasdomas, yes, it's not exactly about postgres, but heh :)10:23
tasdomasdimitern, yeah - I know10:23
dimiterntasdomas, thanks for the writeup btw - I managed to get into what's going on quickly10:26
tasdomasdimitern, if you have any questions - ping me10:26
dimiterntasdomas, sure, np10:27
dimiterntasdomas, my plan so far is to take your https://github.com/juju/juju/pull/517 and split it as suggested to re-propose it; then to continue with the https://github.com/tasdomas/juju/tree/port-ranges-relation-specific-port-ranges branch you started10:28
dimiterntasdomas, also, when you have some time, can you please have a look at the port ranges status doc and confirm I haven't missed a relevant filed bug?10:30
tasdomasdimitern, I will10:31
dimiterntasdomas, cheers10:31
dimiternvoidspace, standup?10:46
voidspacedimitern: oops10:46
voidspacedimitern: omw10:46
axwnatefinch: hey, is there a bug# already for the sshstorage thing?10:59
axwif not I'll log one10:59
natefinchaxw: lemme check my IRC history, I don't think so11:00
natefinchaxw: no bug, thanks for making one.11:01
axwnatefinch: thanks11:01
perrito666ericsnow: ping11:27
=== gsamfira1 is now known as gsamfira
voidspacedimitern: the ipv6 parsing bug in mongo is fixed in 2.7.412:33
voidspacedimitern: https://jira.mongodb.org/browse/SERVER-543612:33
=== jheroux_away is now known as jheroux
voidspacedimitern: mgo bug fixed https://github.com/go-mgo/mgo/issues/2212:38
voidspacedimitern: the only test failure I have with my current replicaset branch is because changing the replicasets can have a delay of several seconds before CurrentConfig returns the new member set12:38
dimiternvoidspace, great news!12:38
voidspacedimitern: so I might need to go back to an attempt loop, or have WaitFor*Healthy  functions take an expected number of members and have them wait12:39
dimiternvoidspace, so nothing needed for mgo?12:39
voidspacedimitern: well, only if we move to mongo 2.7...12:39
voidspacedimitern: I have still filed an issue for mgo12:39
dimiternvoidspace, ah, I see12:39
dimiternvoidspace, using an attempt loop sgtm, we'll see tests passing more quickly anyway12:41
* voidspace lunch12:41
voidspacedimitern: yep12:41
voidspacedimitern: I wouldn't like to add an extra parameter to those functions, so I'd have to create a parallel set12:41
voidspacedimitern: which is just messy12:41
voidspacedimitern: it's a shame though, attemptLoops make the tests yuckier12:42
dimiternvoidspace, yeah, but at least let them pass more reliably :)12:42
jamvoidspace: waiting for an expected number of members sounds reasonable when we are explicitly setting replicaSet to a specific value13:24
jamvoidspace: it seems like it would just be a helper internally (potentially)13:25
jamWaitForNHealthy13:25
jamwhich Majority passes the right number and All passes a different number, but then you have just one wait13:25
jamthoughts?13:25
wwitzel3natefinch: I'm in moonstone13:32
ericsnowperrito666: back13:52
ericsnowthe CI bot is saying we're blocked on bug #1366802, but it looks like that one is no longer a blocker13:54
mupBug #1366802: juju.-gui fails with a config-changed error when used under juju 1.21alpha <ci> <regression> <juju-core:Fix Committed> <juju-gui:Incomplete> <https://launchpad.net/bugs/1366802>13:54
perrito666brb new bike14:02
mfoordjam: that's not a bad calls as Add, Remove, Set almost always (maybe always) know the expected number of members14:06
mfoordjam: if they *always* know then it needn't be exposed any further up14:06
sinzuinatefinch, jam , do you have a minute to review https://github.com/juju/juju/pull/72914:09
sinzuiWe are about to reopen CI.14:10
natefinchsinzui: LGTM'd14:10
sinzuithank you natefinch14:11
mfoordjam: hmmm... not quite implemented like that14:18
mfoordjam: when we do a remove the status will initially report *more* members than we want14:18
mfoordjam: we want to wait for the new config to be applied (in the case of a Set the number of new and old members may be the same - just *different* members)14:19
mfoordjam: so wait for config to match *then* wait for healthy14:19
bachi jcastro15:03
perrito666natefinch: wwitzel3 stand up15:05
wwitzel3perrito666: thanks, sorry15:07
* wwitzel3 shakes fist at test15:08
=== hatch__ is now known as hatch
mfoordSo I've added a wait for the config to be applied and for CurrentMembers to reflect the new addresses of the replicaset15:47
mfoordI can see from logging that this happens - CurrentMembers returns 3 entries15:47
mfoordAnd then *immediately* afterwards the next call to CurrentMembers returns the old config with 5 members15:47
mfoordand the test fails15:48
mfoordmaybe it depends which mongo instance the CurrentMembers call goes to - and the change has to propagate to them all15:48
jammfoord: sounds plausible15:49
mfoordjam: very annoying15:49
mfoordjam: I can see in the logging the right number of members, immediately followed by an assert fail due to the wrong number15:49
jammfoord: "let your reads and your writes choose their own destiny" (have you seen that talk?)15:49
mfoordjam: no, I'll search for it15:50
mfoordjam: I can refresh the session inside the check that the config has been applied15:50
mfoordjam: but that doesn't guarantee that the next call will succeed15:50
mfoordjam: so I think we *have* to brute force wait on that one15:51
mfoordjam: and be aware that config propagation isn't instant - even after all members are reporting healthy15:51
jammfoord: http://vimeo.com/9506682815:51
mfoordjam: thanks15:52
mfoordbut first, exercise and coffee15:52
=== tvansteenburgh1 is now known as tvansteenburgh
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: see calendar | Open critical bugs: None
katcothank god... nice way to start the day fighting overheating issues16:00
wwitzel3where can one find an example of bumping the API version and adding backwards compatibility checks?16:10
wwitzel3this came up as a review comment for a PR of mine and I've never done it16:11
niemeyermramm: Where is the meeting taking place? There's nothing in the calendar event17:03
niemeyerhazmat: ping17:05
hazmatniedbalski_, pong17:06
hazmatniemeyer, pong17:06
hazmatniemeyer, i'm in london this week at a sprint17:06
niemeyerhazmat: Cool17:08
hazmatniemeyer, i'm joining we're just wrapping up at the sprint for the day17:08
hazmatniemeyer, per mramm just going to cancel for this week17:10
niemeyerhazmat: Yeah, cool17:11
rick_h_jcw4: lots of good conversation for you? :)17:38
jcw4rick_h_: sorry missed your comment  -  yeah, I'm very happy by the response17:48
ericsnowperrito666: FYI, I've landed that latest backups patch and have then next PR up18:04
perrito666:D18:05
=== tvansteenburgh1 is now known as tvansteenburgh
perrito666does anyone knows where charm proof comes from?19:34
natefinchmarcoceppi: ^^19:34
marcoceppiperrito666: lp:charm-tools19:34
perrito666ouch19:34
perrito666tx marcoceppi19:35
marcoceppiperrito666: why ouch?19:35
perrito666marcoceppi: I was about to re-use it for something and It would have been a tiny bit easier if it was part of juju already19:35
marcoceppiwell, that would be cool19:36
perrito666ok, getting to actually browse code in launchpad is not the happiest ux of my life19:38
natefinchperrito666: lol19:38
natefinchperrito666: yuuup19:38
* perrito666 ports to go19:53
natefinchperrito666: what are you porting to go?19:53
perrito666natefinch: a subset of what proof does19:54
natefinchperrito666: interesting19:55
perrito666I want to be able to figure out if a given path is a valid charm19:55
natefinchperrito666: we should already have that, right?  We use it for deploy from local19:55
perrito666natefinch: good point19:55
perrito666mm I was expecting proof to do more than what I see19:56
=== meetingology` is now known as meetingology
katcocan someone have a look at: http://juju-ci.vapour.ws:8080/job/github-merge-juju/607/console20:40
katcomy landing keeps failing for different reasons (3rd attempt). this one looks like it's the package we've created to randomly create errors?20:41
katcoi.e. "wrench"?20:41
katcoack disregard... didn't see other test failures. it looks like maybe there's some consistency at least20:42
=== jheroux is now known as jheroux_away
rick_h_perrito666: let's chat on that as we'll be doing the same thing as part of upcoming charmstore work.21:25
rick_h_perrito666: some of the proof stuff calls out to services we run for checks against data in the store and the like.21:25
perrito666rick_h_: I can tell you what I am trying to do and you tell me if I am on the same grounds as you are21:25
rick_h_perrito666: sounds good21:25
perrito666rick_h_: I am working on something called charm sync21:26
perrito666which allows you to edit your charm locally and then upload the edited version to the unit21:26
perrito666and retry whatever hook you where working on21:26
perrito666so the idea is21:26
perrito666I need to check if what I am trying to upload looks like a charm21:27
rick_h_ok, but looks like a charm is a bit loose as far as proof goes.21:28
rick_h_are you just looking at sanity checking the metadata and config files for syntax or more?21:28
perrito666rick_h_: indeed, I just began reading proof to begin somewhere21:28
perrito666rick_h_: well what drives me is to be able to guess if the cwd is a charm so if the user does not specify a path we can infer it21:29
rick_h_perrito666: ok, well whever you stick the code for what you do we'll be interested. We'll be looking up kind of run with the 'juju charm' command by updating it to be in Go and work with the charm store changes and a 'juju publish' spec in the coming months.21:30
rick_h_perrito666: right, so I'd assume that's just a metadata.yaml and a hooks directory tbh.21:30
* rick_h_ actually isn't sure if a hooks dir is required. 21:30
rick_h_perrito666: ok, well will be on the lookout for what you do to make sure we don't redo stuff already there.21:31
perrito666rick_h_: Ill make sure to ask before reinventing the whel21:31
menn0anyone able to do 2 easy reviews?21:40
menn0https://github.com/juju/juju/pull/72421:40
menn0https://github.com/juju/juju/pull/72621:40
menn0waigani: looks like you can merge this now: https://github.com/juju/juju/pull/72121:42
waiganimenn0: done, cheers21:42
waiganimenn0: oh is thumper away today?21:43
waiganiI thought it was tomorrow21:43
menn0waigani: I'm not completely sure but I thought he might be away for part of the day21:44
waiganiright21:44
menn0he's definitely out all of tomorrow due to Kiwi PyCon21:44
waiganihe asked me to look at tags vs strings but I don't know what he wants to know about tags vs strings21:45
waiganimaybe dave will know when he comes on21:46
wwitzel3axw: ping22:00
ericsnowmenn0: I've reviewed both those patches22:15
menn0ericsnow: thank you22:16
ericsnowI could use a review on https://github.com/juju/juju/pull/731 (from anyone)22:17
josehello, I'm having troubles bootstrapping on EC2, it gets stuck on "Bootstrapping Juju machine agent" and the --debug log doesn't show anything interesting22:33
joseI have to leave for now but will check in later with some more info if I find it22:34
waiganithumper: did you see my email about tags and strings?22:41
thumperno, not yet22:41
waiganihmm22:41
thumperhttps://github.com/juju/juju/pull/73322:46
thumpersorry, was out a bit this morning, then fixing that ^^^ branch22:46
thumperabout to look at email now22:46
waiganithumper: sigh, sorry I'll try that again22:48
ericsnowwaigani: thanks for your review BTW22:48
waiganiericsnow: np22:48
mwhudsonhey so juju in trusty seems unable to parse the current tools streams data22:49
mwhudsonthis seems bad?22:50
mwhudsonhttp://pastebin.ubuntu.com/8313609/22:50
mwhudson(might only be an arm64 problem)22:50
thumperhmm... [LOG] 0:00.676 DEBUG juju.mongo TLS handshake failed: local error: unexpected message22:53
thumper[LOG] 0:00.676 ERROR juju.worker exited "machiner": cannot get machine 0: Closed explicitly22:53
thumperhmm... intermittent22:56
wwitzel3so who wants to assist me with figuring out version for a juju run cmd?23:48
davecheneywwitzel3: sure23:49
wwitzel3davecheney: so I've been poking around the code, but I really just not sure what to grep for or how are versioning works23:50
wwitzel3davecheney: axw suggested that I version the API for the new juju run --relation stuff23:50
davecheneywwitzel3: hmmm, can you clarify what you mean by version ?23:51
davecheneydo you mean the rsult of juju version ?23:51
wwitzel3nope, sorry, the API version23:52
wwitzel3davecheney: https://github.com/juju/juju/pull/705/files#diff-b2014e29ee443dbbf3c97c215229c162R15623:52
davecheneyhmm, does this mean a facade ?23:52
davecheneywallyworld_: r, gc.ErrorMatches, t.error)23:53
davecheney... error string = "cannot read info: write /mnt/tmp/gocheck-1598098976185383115/2/home/ubuntu/.juju/environments/.46495aaf107a487881aefccea1b84637518527581/held: no space left on device"23:53
davecheney^ build blew up 'cos of that23:53
wallyworld_davecheney: that happens occasionally for some reason, i need to ask sinzui about it23:54
davecheney:sad face:23:54
wallyworld_should work 2nd time23:54
davecheneyrighto23:54
=== cory_fu2 is now known as cory_fu
davecheneyoh snap23:58
davecheneyi'm on call reviewer23:58

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