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

* thumper is now grumpy, sore and hungry00:09
thumperspecialist appointment for shoulder isn't until 26th of November00:09
davecheneyo_O00:14
menn0thumper: bugger00:17
menn0thumper: sounds very NHS-ish00:17
menn0thumper, davecheney: so what are we doing about the standup? I have an errand to do so just trying to plan the rest of the day.00:18
thumpermenn0, davecheney: now?00:22
menn0thumper, davecheney: works for me00:22
davecheneysure, i'll see you in the hangout00:23
davecheneymenn0: one for you http://reviews.vapour.ws/r/120/diff/01:04
menn0davecheney: cool. will look shortly.01:04
davecheneykk01:06
menn0davecheney: apparently the review request is private and I'm not allowed to look01:34
menn0davecheney: I don't think you've hit publish yet01:45
davecheneymenn0: wut01:50
davecheneyis there a flag to rbt to say "yes, i'd actually like to review this "01:50
davecheneydone01:50
davecheneymenn0: try againplease01:50
davecheneymenn0: i've got a few more changes like this that are trying to pull apart the multi watcher to make it more unstandable (for me)01:53
menn0davecheney: finished chatting to Tim now. looking at your change.02:00
menn0davecheney: Ha ... I kept reading InfoId and "Infold"02:02
menn0s/and/as/02:02
thumperaxw: sha'ping02:04
davecheneyrb is a useless sack of shit02:04
davecheneyif it do rbt post on a branch that has already been posted, it creates a new review02:04
davecheney% rbt publish 12002:05
davecheneyERROR: Error publishing review request (it may already be published): Object does not exist (HTTP 404, API Error 100)02:05
davecheneywhy is this an error ?02:05
davecheneycan't the tool look at the status of ther view and see it's been published02:05
davecheneymenn0: what is the command to upload a new diff to an existin greview ?02:07
menn0"rbt post -r <the review id>"02:07
davecheneyrbt can rbt remember that an existing branch is attached to a review ?02:07
davecheneyok, that review is totally screwed02:09
davecheneyjust getting 500's02:09
davecheneyi'll make another one02:09
davecheneyhttp://reviews.vapour.ws/r/120/diff/#02:09
davecheneyshould be correct now02:09
menn0davecheney: review of 120 done. thumper needs to meta-review.02:10
davecheneymenn0: I have to remove that type because otherwise I cannot break the import look between apiserver/params and state/multiwatcher02:11
davecheneymenn0: fwiw, i disagree with your comment02:11
davecheneythis type adds nothing in terms of type safety02:11
menn0davecheney: I know you do, we've discussed this before :)02:11
davecheneyit leads people to think that f(id multiwatcher.InfoId) takes things of a specific type02:12
davecheney(it doesnt')02:12
menn0davecheney: I know it doesn't add type safety but it does add the other benefits I mentioned02:12
davecheneyand I am neurtral on the reability argument02:12
* thumper looks02:12
menn0davecheney: if it helps with the import loop breaking then let's do it. that's a bigger win.02:12
davecheneykk02:13
menn0davecheney: probably should have mentioned that reason in the commit message or review description02:13
davecheneyyes, my bad02:14
* menn0 is out for a bit. errands to run.02:14
davecheneyreviewboard is telling me I have -1 Open incoming reviews02:36
davecheneynow i have -202:36
davecheneyanyone seen this failure ?02:50
davecheneyhttp://paste.ubuntu.com/8452331/02:50
davecheneyit's sporadic02:50
davecheneyhttp://reviews.vapour.ws/r/122/diff/02:56
davecheneymenn0: can you tell me how to do a dependent change with rbt ?03:22
davecheneyi'm guessing there is a flag for rbt post03:22
menn0davecheney: I've never done it myself but I believe it hinges on the --parent option03:28
menn0davecheney: re that failure - I have seen it before but it looks like a ordering problem that might be fixed by using SameContents03:30
davecheneymenn0: same03:36
davecheneylp has forgotten my login03:36
davecheneyi'll log a bug when I go downstairs and get my key for 2fa03:36
menn0davecheney: k03:36
davecheneymenn0: if you ahve time, http://reviews.vapour.ws/r/122/diff/03:37
davecheneyopens the door to my next fix which makes params.EntityId an interface03:37
menn0davecheney: give me a little while03:39
davecheneyclient_test.go:2448: c.Assert(client.AddCharm(curl), gc.IsNil, gc.Commentf("goroutine %d", index))03:42
davecheney... value *params.Error = &params.Error{"", "cannot add charm to storage: unexpected deletion of resource catalog entry with id \"47d6e7812099383e8266f590d37b7f5369ef43931aecc72a4b86674e7052f346a39164803:42
davecheney209b8e69ea5b649d2c0e86da0\": Resource not available because upload is not yet complete"} ("cannot add charm to storage: unexpected deletion of resource catalog entry with id \"47d6e7812099383e8266f590d03:42
davecheney37b7f5369ef43931aecc72a4b86674e7052f346a391648209b8e69ea5b649d2c0e86da0\": Resource not available because upload is not yet complete")03:42
davecheney... goroutine 003:42
davecheney[LOG] 0:00.462 DEBUG juju.storage managed resource entry created with path "environs/90168e4c-2f10-4e9c-83c2-feedfacee5a9/charms/cs:precise/wordpress-3-082e539d-946e-44ef-8684-489fc4bcfc3f" -> "47d6e7803:42
davecheney12099383e8266f590d37b7f5369ef43931aecc72a4b86674e7052f346a391648209b8e69ea5b649d2c0e86da0"more03:42
davecheneymore intermediate failures03:42
thumperaxw: ping03:51
thumpermenn0: where are we on these branches?03:55
thumperdavecheney: re 122 above, shipit03:55
menn0thumper: just about to push the API server change again03:55
davecheneythumper: ta03:55
menn0thumper: then one more manual test of the env uuid unit change and that can be merged03:56
thumpermenn0: ok03:56
thumpermenn0: let me know when I need to look at that review again03:56
menn0thumper: just manually testing that branch now03:57
thumperkk03:58
menn0thumper: ok. http://reviews.vapour.ws/r/119/04:01
* thumper looks04:01
davecheneymenn0: still LGTM04:03
davecheneytrying to auth as an aribtrary user is pretty gross04:03
davecheneywould you consider raising a ticket/card/smoke signal04:04
davecheneyto have a proper method added somewhere to do this ?04:04
thumpermenn0: one small thing04:04
thumpermenn0: now that we are treating any error as maintenance in progress04:05
menn0davecheney: *nod* I'll create a ticket04:05
thumpermenn0: you don't really need to create a fake user tag04:05
thumpermenn0: you could just pass through the agent tag04:05
menn0thumper: well not quite04:05
thumperno?04:05
menn0thumper: the loging validator in jujud returns nil for the local machine04:06
thumperah...04:06
* thumper nods04:06
menn0thumper: because the local machine is always allowed to login04:06
thumperyeah...04:06
menn0thumper: but if that breaks due to db migrations then we still want to know we're in upgrade mode04:06
thumpergot it04:07
thumperplease add that to the comment04:07
menn0thumper: ok04:07
thumperso the next person doesn't change it04:07
menn0thumper: and as per davecheney I'll add a TODO referring to a ticket to get this done in a cleaner way04:07
davecheneythanks04:08
davecheneythe next person will probably be me04:08
davecheneyand i'll go through trampling that04:08
davecheney% echo $?04:15
davecheney004:15
davecheneysweet, sweet, tests04:15
thumpernumber of tests run: 004:16
menn0thumper: do you want to see that change again or should I land it?04:20
menn0hmm my env uuid for units branch is getting lots of merge conflicts with upstream ... for files I haven't touched04:27
menn0I wonder what's up with that04:27
davecheneythumper: menn0 i think i'm at the point that I have to stop nibbling around the edges and invert the dependenceies between state/multiwatcher and apiserver/params04:27
thumpermenn0: just land it04:35
menn0thumper: doing it now04:35
thumperdavecheney: I'm ok with that04:36
thumpermenn0: NFI re conflicts04:36
menn0thumper: it's ok. there were tiny unit env uuid changes in those files. lots of conflicts with recent ports ports.04:37
menn0thumper: i'm almost done resolving.04:37
thumperugh04:37
thumperok04:37
* thumper EODs04:45
thumperdog walk time04:45
=== uru_ is now known as urulama
dimiternmorning all05:47
dimiterntasdomas, as OCR, can you please review http://reviews.vapour.ws/r/117/ ?05:48
dimiternfwereade, jam, TheMue, you might be interested as well ^^05:52
jammorning dimitern, looking05:53
dimiternjam, cheers!05:53
jamdimitern: I'd like to see it tweaked, but I'm willing to discuss it05:59
dimiternjam, thanks, I realized I've missed something06:03
jamdimitern: what's that?06:03
dimiternjam, we shouldn't be opening and closing ports like that at every hook commit06:04
dimiternjam, even though there won't be an error as they will be opened or closed already06:04
jamdimitern: do you commit hooks before they are done?06:04
jamah, this is pre-populated, not the stuff which is currently changing06:05
jamdimitern: yeah06:05
dimiternjam, it's not pre-populated because I realized it needn't be06:05
dimiternjam, the uniter hook commands is the only way to open and close ports on *that* unit06:05
dimiternjam, so we should cache what's opened and closed, to show it later with the opened-ports hook tool (in a follow-up), but use temp lists for pending ports, which are cleaned up at hook commit time06:07
jamdimitern: sgtm06:11
tasdomasmorning06:31
=== barrypri1 is now known as barryprice
dimiternjam, updated - http://reviews.vapour.ws/r/117/diff/1-2/06:47
jamdimitern: so why do we track "Closed" ports in the portRanges map, isn't everything closed that hasn't been opened ?06:49
jamor this is both "things I've requested" and "things that were already there"06:50
dimiternjam, I was thinking we can have both "opened-ports" and "closed-ports" hook tools in a follow-up, which will use the map06:51
dimiternjam, it might be useful for charms to see what ports it requested to be closed as well as opened06:51
jamdimitern: k, "opened" or "opening" ? I'm just trying to figure out what portRanges buys us above just openingPorts and closingPorts06:51
dimiternjam, the portRanges map is not reset between hooks, unlike the slices06:53
dimiternjam, and they need to be reset so we don't unnecessarily issue api calls on each hook commit for the port ranges already opened before06:54
TheMuemorning06:55
dimiternmorning TheMue06:55
tasdomasdimitern, I've submitted a review07:01
jamdimitern: am I *very* choppy ?07:02
jamor just a little?07:02
dimiterntasdomas, cheers, I've updated the review and some of your suggestions are implemented, can you take another look?07:02
tasdomasdimitern, is there a need to add the OpeningPorts and ClosingPorts methods to the interface?07:14
dimiterntasdomas, what do you suggest instead?07:16
tasdomasdimitern, am I missing something or are they only used in tests?07:19
dimiterntasdomas, for now yes, but this might change07:19
dimiterntasdomas, but then again, it makes sense to only add them to export_test07:20
tasdomasdimitern, exactly07:20
dimiternas of today07:20
dimiternfwereade, ping07:25
tasdomasdimitern, I'm also a bit concerned about how conflicting operations will be handled07:28
tasdomasdimiter, open(100-200) followed by a close(100-200) should probably result in a nop?07:29
tasdomasdimitern, unless 100-200 was already open07:29
fwereadedimitern, heyhey07:32
jamtasdomas: I'd probably say "yes but that is a bit of an edge case in a buggy charm" so we're allowed to have it be slightly undefined behavior07:32
jambecause you'd have to determine that the first open() is actually the noop.07:32
jamIf we really want it, then we could make the total list of open + close ordered07:32
jamso one slice with (true, 100-200), (false, 100-200), (true, 100-200) etc07:33
jammorning fwereade07:33
fwereadejam, heyhey07:33
dimiternfwereade, I'd appreciate it if you find some time to review my open/close-port sandboxing branch  http://reviews.vapour.ws/r/117/ - and read a bit of scrollback with comments from jam and tasdomas07:33
fwereadedimitern, will do, but I have to do gsamfira's ones first of all07:34
dimiternfwereade, sure07:36
dimiternfwereade, it will be easier maybe if we do a quick g+ talk when you can07:37
fwereadedimitern, ok, I had a quick look at that because it seemed smaller ;p08:06
fwereadedimitern, the things I immediately wonder are:08:06
fwereadedimitern, do we have some mechanism for checking against what's already opened/closed?08:07
fwereadedimitern, and, how will we integrate this with per-relation port open/closes?08:07
dimiternfwereade, well, that's why I suggested a g+, it will be easier talking than typing08:08
fwereadedimitern, ok then :)08:08
dimiternjam, tasdomas, ok, after a chat with fwereade I'll discard http://reviews.vapour.ws/r/117/ and do a prereq first that adds a method to uniter api to retrieve all machine ports and cache them in the uniter, so we can both check for conflicts and do sandboxing08:30
jamdimitern: well, I would guess you can use most of what you already have, just an extra step at  the start?08:31
tasdomasdimitern, understood - I was thinking about that solution, I'm just worried that there would still be a window present, where conflict could emerge08:32
dimiterntasdomas, even with the extra checks against machine ports, there will still be a very minor possibility for open/closePorts to fail at finalize time, but that's OK, as we'll catch and handle most other cases08:34
tasdomasdimitern. sound good to me08:35
=== fabrice_ is now known as fabrice|lunch
jamTheMue: standup?10:48
TheMueomw10:48
perrito666morning11:23
rogpeppei just wanted to use juju with a local environment. it's not working... anyone got any idea of what might be happening here and how I might be able to fix it? http://paste.ubuntu.com/8454648/11:24
rogpeppehmm, perhaps it was as simple as just apt-get install lxc. somehow that must have got uninstalled at some point.11:26
rogpeppeha, it works now. phew.11:26
rogpeppethose error messages were not great though.11:26
mgzwow, that is a bit of a mess rogpeppe11:33
rogpeppemgz: mmm11:33
mgzI was expecting the "must install juju-local" message11:33
=== fabrice|lunch is now known as fabrice
dimiternfwereade, jam, http://reviews.vapour.ws/r/123/ - uniter api changes, as discussed11:49
fwereadedimitern, cheers, just popping out but back shortly11:49
dimiternfwereade, sure, np11:49
jamdimitern: my first thought is "why does *Uniter* have a Machine implementation", it seems the wrong thing for a uniter to think about.12:45
jammaybe it needs to know the machine it is on isn't dying?12:45
dimiternjam, because the ports are on the machine, not on a unit anymore12:45
dimiternjam, and the only reason to have a Machine object is to be able to call AllPorts() on it12:46
jamdimitern: so looking at the data structures, you expose MachinePortsResults which holds a slice of MachinePortsResult which holds a slice of MachinePortRange which uses a UnitTag and a PortRange12:47
jambut nothing there uses the NetworkTag12:47
jamAnd what do we do if more than one Unit asks for a similar port to be open?12:47
jamIs it just a conflict ?12:47
dimiternjam, the idea is to return all ports on the machine, regardless of network12:51
dimiternjam, when more the one unit tries to open a conflicting range, we'll detect and not allow it to happen12:52
jamdimitern: but especially in the case of ranges, saying "I want these open" doesn't actually have to be a problem does it?13:00
dimiternjam, I'm not sure I follow - can you expand a bit?13:02
jamif I say "i need this machine to expose 10-100, and someone else says 90-200", we could just open 10-200 and be done13:03
jamI suppose it would be clearer for the charm to fail with "you can't actually use 90-100" so it doesn't try to configure the application to use them?13:03
jamdimitern: ^^13:06
dimiternjam, nope13:07
jamdimitern: nope ? not sure what you are saying no to13:08
dimiternjam, if unit 0 says open 10-100/tcp, that's fine; later unit 1 says open 90-100/tcp - there's a conflict and we won't allow it13:08
dimiternjam, we can't have concurrently running open-port requests, as there's only one hook running at a time on the machine13:08
dimiternjam, port ranges are bound to units that requested them, so 10-100/tcp + 90-200/tcp for different units != 10-200/tcp13:14
=== ericsnow_ is now known as ericsnow
wwitzel3perrito666, natefinch: standup14:02
perrito666wwitzel3: going14:03
natefinchwwitzel3: coming one sec, grabbing my coffee from the other room14:03
jamnatefinch: wwitzel3: did you see the email from menno about syslog and cert issues?14:04
wwitzel3jam: yep, the one about log message spam?14:05
jamwwitzel3: about not being able to connect because of an issue with "no IP SANs"14:05
jamafter upgrade14:05
wwitzel3jam: looking at it now14:05
jamwwitzel3: k, I'd chat with nate about it, because I think he discovered the golang issue for the HTTP API stuff14:06
jamI think the issue is that whatever workaround we did for the API we need to do for syslog14:06
wwitzel3jam: ack14:07
=== jheroux_away is now known as jheroux
alexisbfwereade, ping14:26
fwereadealexisb, pong14:26
alexisbhey there14:26
alexisbdo you mind if I reschedule our 1x1?14:26
alexisbmy little guy is still sleeping and I dont want to wake him to go to his nanny given he has been sick14:27
alexisbso I will be on the road for our normally scheduled time14:27
alexisbfwereade, ^^14:27
fwereadealexisb, np14:27
alexisbthanks14:27
alexisbany particular day that works best for you?14:28
alexisbfwereade, ^^14:31
fwereadealexisb, tomorrow isn't great, how about weds?14:31
fwereadealexisb, or thurs?14:32
alexisbI can do a thursday morning, I will reschedule for them, thanks for being flexible fwereade !14:33
fwereadealexisb, no worries, glad to be of service14:33
=== kwmonroe_ is now known as kwmonroe
ericsnownatefinch: FYI, I fixed that issue on http://reviews.vapour.ws/r/103/14:38
natefinchericsnow: can you print the name and the type of the value, instead of a generic string?  Would make debugging easier.14:40
ericsnownatefinch: sure14:40
ericsnownatefinch: you know, you can leave comments on the review :)14:41
natefinchericsnow: sometimes it's faster just to talk on irc, but I just left a message there too14:41
ericsnownatefinch: thanks14:41
hazmatfwereade, didn't you have some writing provider getting started docs? not seeing them in tree.. got  a partner thats interested15:41
=== fabrice is now known as fabrice|family
dimiternfwereade, TheMue, jam, tasdomas, re-proposed open(close)-port sandboxing for the uniter, please take a look http://reviews.vapour.ws/r/125/15:50
jcw4mgz: this error looks suspiciously like a build script merge failure -16:39
jcw4/var/lib/jenkins/juju-release-tools/make-release-tarball.bash: line 115: syntax error near unexpected token `<<<'16:39
jcw4natefinch: do we have a UTC-0400 to -0700 timezone person who knows the build server stuff?16:41
jcw4perrito666: surely I can count on at least you to be around :)16:42
mgzthat looks odd16:43
jcw4whew16:43
jcw4mgz: still not sure if that's the issue but the last couple builds failed with that error16:43
mgzwassit on? a landing?16:43
mgzokay, fixing.16:43
jcw4yep16:44
jcw4http://juju-ci.vapour.ws:8080/job/github-merge-juju/837/ and http://juju-ci.vapour.ws:8080/job/github-merge-juju/838/16:44
=== seelaman is now known as IS_hr_bot
mgzyup... conflictishy16:44
mgzokay, should work now16:45
jcw4wow.  thanks mgz16:45
mgzI'm also going to make another change with some fixes, will notify when it's through16:45
=== IS_hr_bot is now known as seelaman
jcw4thanks mgz  should we start to land again or wait for your fixes?16:46
mgztry a landing now if you're waiting16:46
jcw4k16:46
bodie_mgz++16:50
=== niemeyer_ is now known as niemeyer
ericsnownatefinch: could you have another look at 103?17:55
natefinchericsnow: ok17:57
ericsnownatefinch: thanks17:58
natefinchericsnow: ship it18:01
ericsnownatefinch: thanks18:01
=== uru_ is now known as urulama
arosalesthumper: fyi we got some new info @ https://bugs.launchpad.net/juju-core/+bug/137526820:55
mupBug #1375268: Juju Panic'ing on MAAS Power8le Environment <bootstrap> <maas-provider> <ppc64el> <juju-core:Triaged> <https://launchpad.net/bugs/1375268>20:55
thumperarosales: ta, looking20:55
arosalesthumper: natefinch had done some debug to identy the panic, but didn't have anything conclusive20:55
thumperarosales: I've read all that...20:56
arosalesthumper: let us know if you need any other info, or access20:56
thumperaccess to the maas would be helpful20:56
thumperand the instance that is having problems20:56
arosalesmbruzek: do you have docs you can send over to thumber on accessing the maas IBM system?20:56
thumperthe logs don't show any information for the stack frame that actually is the one panicing20:56
thumperwhich is somewhat surprising to me20:57
thumperarosales: mbruzek: info also to davecheney plz20:57
arosalesmbruzek: also be interesting to see if you have reproduced on the other maas environment20:57
mbruzekthumper: arosales I will send that out right now.  Tim from IBM needs to make him an account.  We could jump in a hangout if you want to see my screen now.20:58
thumpermbruzek: I have meetings starting in a minute for a while20:58
arosalesmbruzek: I guess the VPN is specific to individuals20:59
thumperdavecheney: are these the lines that indicate a bad compiler? juju[5386]: bad frame in setup_rt_frame: 0000000000000000 nip 0000000000000000 lr 000000000000000021:22
davecheneyyes21:24
davecheneythumper: hold fire21:24
davecheneywriting you a long email so that you too can know all there is to know21:24
perrito666wow an email containing "all there is to know" must be instanely long21:27
perrito666I would really dig doc strings on things like state/watcher.go21:34
davecheneyperrito666: brevity is not my strong suit21:35
* perrito666 imagines thumper getting an email with 42 as body text21:36
perrito666I would also dig a trackball, I have too much junk on my desktop to be able to move the mouse :/21:46
jcw4thumper: per our hangout last week: http://reviews.vapour.ws/r/127/22:18
thumperjcw4: cheers, will look when I have the kids back from swimming :)22:19
jcw4menn0: it's about EnvUUID so your feedback appreciated too :)22:19
jcw4thx thumper22:19
=== thumper is now known as thumper-afk
menn0jcw4: having a look22:33
menn0jcw4: review done23:04
jcw4menn0: much appreciated23:06
perrito666menn0: tx for your mail it was enlightening23:07
menn0perrito666: good! it was useful for me to write it. I learned a few things while making sure I was giving you correct information :)23:12
perrito666sadly I cannot have a watcher since I am nuking the db in this process so I am looking another way to signal my worker23:15
davecheneyhttp://reviews.vapour.ws/r/126/23:31
davecheneywhat's going on here23:31
davecheneyi thought that backups were going to be streamed back to the client, not shoehorned into the api server23:32
perrito666davecheney: as per fwereade design and I believe we agreed on that in Las Vegas, backups are stored in the state server and downloaded on demand23:33
perrito666Iam not sure if any of those things include shoehorning since I am having some difficulty picturing the meaning of it in my head :p23:33
davecheneyperrito666: yes23:34
davecheneythat is no in question23:34
ericsnowdavecheney: That patch provides all the boilterplate needed plus a very basic implementation of the data transfer23:34
davecheneybut downloading them via encoding them into json is bad23:34
ericsnowdavecheney: I agree sending a []bytes over the wire is not a valid solution23:34
davecheneyericsnow: i thought the plan was to add some bulk download api23:35
davecheneyi thought that had happened23:35
ericsnowdavecheney: not that I'm aware23:35
davecheneybummer23:36
ericsnowdavecheney: I agree that download should support bulk calls23:36
ericsnowdavecheney: upload as well (when we get to that)23:36
=== thumper-afk is now known as thumper

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