Pyogp/Chat Logs/Daily Meeting/23 jul 2008

* [09:30am] Saijanai: we meting today?
* [09:30am] Locklainn: I guess
* [09:30am] Locklainn: I can't log on
* [09:30am] Saijanai: there's enthusiasm for you
* [09:30am] Locklainn: haha
* [09:31am] Locklainn: trying to get in
* [09:31am] Saijanai: ah, I note the same problem
* [09:31am] Locklainn: so maybe irc today?
* [09:31am] MrTopf: I also can't login
* [09:31am] Locklainn: ok, sounds like irc
* [09:31am] MrTopf: osgrid 
* [09:31am] InfinityLinden: hmm.. so it's not just me having problems getting in
* [09:31am] MrTopf: but IRC is ok for me
* [09:32am] Locklainn: infinity, good for u? enus too?
* [09:32am] InfinityLinden: good for me
* [09:32am] enus: sure
* [09:32am] Saijanai: hang on let me spam groupies. O wait
* [09:32am] InfinityLinden: i got nothing to say... i got pulled off to work on other beta stuff
* [09:33am] Locklainn: ok,
* [09:33am] Locklainn: waiting or going?
* [09:33am] enus: spamming on huddles is kinda unnecessary imo
* [09:33am] Locklainn: true
* [09:34am] Locklainn: enus, feel like going next then?
* [09:34am] enus: k
* [09:34am] • MrTopf encountered a bug in the LL AD 
* [09:34am] enus: i reworked the outline of the wiki structure
* [09:34am] enus: and will try and start making edits
* [09:34am] enus: i'll keep track of what i do and post
* [09:34am] Locklainn: nice
* [09:34am] MrTopf: cool
* [09:34am] enus: MrTopf: I still see the deserialization error in libdev/trunk/bin/login
* [09:35am] enus: would like to see that gone
* [09:35am] MrTopf: what was the error message again?
* [09:35am] MrTopf: I got one, too. complaining about text/html
* [09:35am] MrTopf: with that new agent
* [09:35am] MrTopf: we can talk about this after the round maybe
* [09:35am] enus: and i would like to make a pretty wiki for running tests. a 'here's all the test and exactly how to run them to show our code works and the interop instance works'
* [09:36am] Locklainn: nice
* [09:36am] enus: no blockers
* [09:36am] enus: done
* [09:36am] Locklainn: i like that idea
* [09:36am] MrTopf: you mean running the interop tests?
* [09:36am] Locklainn: both
* [09:36am] enus: that, plus the internal unit test
* [09:36am] enus: s
* [09:36am] MrTopf: well, I guess it's just bin/test normally but it would be good to explain how to run individual tests indeed
* [09:37am] enus: i'll let InfinityLinden finish the initial interop test work before i worry about that wiki though
* [09:37am] InfinityLinden: k
* [09:37am] MrTopf: InfinityLinden: do you want me to rename that package? (where it's probably easier to create a new one and delete that one)
* [09:37am] InfinityLinden: sure
* [09:37am] InfinityLinden: i was gonna branch and do it thne
* [09:38am] MrTopf: I also commented on your jira entry
* [09:38am] InfinityLinden: but if you wanna do it before i branch, that works
* [09:38am] MrTopf: well, as there is nothing inside it yet I think we can also directly rename it in trunk
* [09:38am] MrTopf: ok, will do after this meetup then
* [09:38am] MrTopf: so who's next? me? 
* [09:38am] Locklainn: tao, is the testharness (soon to be called interop) set up with a test runner to run tests?
* [09:38am] MrTopf: Locklainn: yes, bin/testharness
* [09:39am] InfinityLinden: which jira is that?
* [09:39am] Locklainn: and that looks in where for the tests?
* [09:39am] Locklainn: right in the folder?
* [09:39am] Locklainn: the main one?
* [09:39am] enus: (login servers are hosed right now btw, hence, no logins)
* [09:39am] MrTopf: your ticket about the rename
* [09:39am] MrTopf: it seatched the testharness egg for tests
* [09:39am] enus: PYO-1
* [09:39am] MrTopf: btw, does JIRA have RSS?
* [09:39am] enus: no clue, but can find out
* [09:40am] MrTopf: I didn't find an option but it would help a lot I think 
* [09:40am] MrTopf: ok, thanks
* [09:40am] InfinityLinden: cool comment, btw... i agree the package names should have some relationship to the names in the spec
* [09:40am] MrTopf: I commented on the versioning on gridnauts btw
* [09:41am] MrTopf: so I cleaned up the buildout.cfg and will check it in shortly
* [09:41am] InfinityLinden: re: rss... look at the little tiny XML link next to the word "Issue Details"
* [09:41am] MrTopf: maybe you can then also update your working copies and check if your buildout and code still runs
* [09:41am] MrTopf: I removed the svn checkouts and replaced them by eggs
* [09:41am] enus: per spec and package: we want pyogp/docs/spec/ to contain: pyogp.lib.base and pyogp.lib.agentdomain and pyogp.interop type pages?
* [09:42am] MrTopf: InfinityLinden: thanks, that's too obvious for my eyes 
* [09:42am] MrTopf: enus: with spec I mean the actual protocol definition now to be found at SLGOGP_Draft1
* [09:42am] enus: ah
* [09:42am] MrTopf: we discussed this yesterday during groupies on how to version it
* [09:42am] InfinityLinden: blergh
* [09:42am] InfinityLinden: that spec is out of date
* [09:43am] InfinityLinden: and one of the things i've been working on the last day and a half is updating it
* [09:43am] MrTopf: see https://lists.secondlife.com/pipermail/gridnauts/2008-July/000016.html
* [09:43am] MrTopf: and Mark's answer (which I have to read)
* [09:43am] MrTopf: well, at some point it hopefully will not be out of date anymore 
* [09:43am] Saijanai: Ifinity are you the new docs person?
* [09:43am] InfinityLinden: nope
* [09:43am] InfinityLinden: but i am one of the three ogp architects
* [09:44am] MrTopf: I also added a jira ticket about implementing some generic pyogp error handling
* [09:44am] InfinityLinden: so my output will often times be in written form
* [09:44am] InfinityLinden: rather than executable form
* [09:44am] MrTopf: which is good 
* [09:44am] InfinityLinden: Tao.. in what sense? generic how?
* [09:44am] MrTopf: that's whyt I wanted to think about 
* [09:44am] InfinityLinden: what is the problem you're trying to solve?
* [09:45am] MrTopf: but in general that we do not pass the 403 Forbidden but have some exception of our own we raise
* [09:45am] MrTopf: with more domain specific information attached
* [09:45am] InfinityLinden: well... there's a general feature of the architecture to use HTTP error codes for transport related errors
* [09:45am] MrTopf: actually that's an urllib2.HTTPError which is raised there
* [09:46am] InfinityLinden: and to return 200 with a serialized error code and reason for "application logic" errors
* [09:46am] Saijanai: should we also be logging errors?
* [09:46am] MrTopf: sure, but I would like to have more specific error messages instead of a generic HTTPError exception
* [09:46am] InfinityLinden: well... you're free to do it that way, of course
* [09:46am] MrTopf: Saijanai: that should be up to the application I think
* [09:46am] InfinityLinden: but it may wind up being incompatible with our stuff here
* [09:47am] Saijanai: well, to log them effectively, seems there neds to be a funnel through which error messages might pass
* [09:47am] MrTopf: but what shall a component raise? an urllib2.HTTPError?
* [09:47am] InfinityLinden: blergh. cross cutting concerns
* [09:47am] MrTopf: what happens if eventlet is used?
* [09:48am] InfinityLinden: this is one of the reasons i wanted to separate "core" from "net" functionality in the base
* [09:48am] InfinityLinden: for "core" application-logic errors, we would raise a PyOGP specific exception
* [09:48am] InfinityLinden: for HTTP errors, we would raise a HTTP error (or it's equivalent)
* [09:48am] MrTopf: well, there is the network subpackage in my networking branch which probably is similar to what you envisioned
* [09:49am] InfinityLinden: but if you want to use HTTP errors to denote agent domain errors, it's gonna get confusing pretty fast
* [09:49am] MrTopf: here is one: http://svn.secondlife.com/trac/linden/browser/projects/2008/pyogp/pyogp.lib.base/branches/mrtopf-networklayer/pyogp/lib/base/network/exc.py
* [09:49am] MrTopf: no, I don't want to do that
* [09:49am] MrTopf: the network layer in that example now returns a generic HTTPError with error code and message
* [09:50am] MrTopf: and is used by the application logic
* [09:50am] MrTopf: which then can raise pyogp specific exceptions
* [09:50am] MrTopf: I guess this is basically what you said 
* [09:50am] InfinityLinden: why don't we have an application exception.. yeah.. what you said
* [09:50am] InfinityLinden: cool. i think we're on the same page
* [09:50am] MrTopf: I am more talking about defining some of these exceptions 
* [09:51am] MrTopf: like the login method might want to return some Unauthorized exception or so
* [09:51am] MrTopf: which in the end is of course triggered by a 403 in the network layer
* [09:51am] MrTopf: but the app does not need to know about i
* [09:51am] MrTopf: t
* [09:51am] InfinityLinden: yeah.. so there are some reasons codes listed in the draft code
* [09:51am] InfinityLinden: er
* [09:51am] InfinityLinden: draft spec
* [09:52am] InfinityLinden: and we're about to push out a few more reason codes for "maintenance"
* [09:52am] MrTopf: yeah, I saw that. I will also use these and put those into my mockup agent domain for testing
* [09:52am] MrTopf: what's your plan on maintenance now?
* [09:52am] InfinityLinden: it's only about 3/4 baked, so we're going to have it go through one more review round internally
* [09:52am] InfinityLinden: before discussing it publicly
* [09:53am] InfinityLinden: maybe at Zero's OOs in the morning
* [09:53am] MrTopf: k, cool
* [09:53am] MrTopf: (though I still hope that these channels will be in the public someday )
* [09:53am] InfinityLinden: but for right now, the idea behind maintenance is we want to a) make sure you don't have to reauthenticated every time you wanna check if maintenance is completed
* [09:53am] InfinityLinden: and
* [09:54am] InfinityLinden: b) you wanna give the client enough info so it can ask the server the right questions
* [09:54am] MrTopf: I just hope you keep it out of the seedcap stuff, would make handling it easier
* [09:54am] InfinityLinden: (like is maintanence for user so-and-so finished yet)
* [09:54am] MrTopf: like some retry time I guess
* [09:55am] InfinityLinden: probably not a seed cap
* [09:55am] InfinityLinden: but a "maintenance cap"
* [09:55am] MrTopf: ok, cool
* [09:55am] enus: (MrTopf: imo, in this context, public channels are so noisy, it's g)ood to have a partially baked plan before approaching them
* [09:55am] InfinityLinden: +1 enus
* [09:55am] MrTopf: sure, but we manage it with Plone and many other open source projects 
* [09:55am] Saijanai: +10 enus 
* [09:55am] enus: Plone <> AWG
* [09:56am] enus: so any more status type things?
* [09:56am] MrTopf: because you discuss too much in-world, that's noisy indeed 
* [09:56am] Saijanai: no regrets about that Pooley thing, but you note I don't spam non-techie groups any more
* [09:56am] enus: ty for that Sai
* [09:56am] Locklainn: working on doing the packing for message building
* [09:56am] MrTopf: Locklainn: are you planning to move that into a subdir?
* [09:56am] enus: w00t Locklainn
* [09:57am] Saijanai: and since that interesting incident with the Magic-bot/person/thing, I'm rethinking spamming period
* [09:57am] Locklainn: I'm not sure. We haven't talked about directory structure
* [09:57am] Locklainn: so I was going to leave it there until we made some decisions
* [09:57am] InfinityLinden_ joined the chat room.
* [09:57am] MrTopf: well, you have a common prefix in those filenames and somehow it calls for a directory 
* [09:57am] InfinityLinden_: hello? this thing on?
* [09:57am] Locklainn: yea of course, but still 
* [09:57am] Locklainn: yep infinty
* [09:57am] Locklainn: haha
* [09:57am] Saijanai: 'lo
* [09:57am] InfinityLinden_: just had a power hit here in the "south of market" office
* [09:58am] InfinityLinden_: but yeah... maintenance will look like an error, but with a nextURL
* [09:58am] MrTopf: ok
* [09:58am] InfinityLinden_: and you keep hitting that url every N seconds until it gives you a seed cap
* [09:58am] MrTopf: so for my main things is how we go about those two branches of mine
* [09:59am] MrTopf: one is about grokifying things, the other about network layer
* [09:59am] Locklainn: right
* [09:59am] Locklainn: great question
* [09:59am] MrTopf: InfinityLinden_: sounds good
* [09:59am] enus: so status would be: 2 pending branchces to merge into the trunk, which has had commits since you branched?
* [09:59am] MrTopf: yes
* [09:59am] MrTopf: it might need some merge work but it should be ok
* [10:00am] MrTopf: the network layer also would make the tests run without having to run the extra server
* [10:00am] Locklainn: so, how do we go about getting things merged into the trunk?
* [10:00am] enus: in this case we ought to freeze trunk for a lil while, let you merge em in, then move on
* [10:00am] enus: ought others commit prior?
* [10:00am] MrTopf: I can do it in my morning, then you all sleep anyway 
* [10:00am] InfinityLinden_: yeah.. and who's gonna be the merge-meister
* [10:00am] enus: yep
* [10:00am] whump joined the chat room.
* [10:01am] MrTopf: Hi whump
* [10:01am] enus: hmm, i could do it if i had experience with it
* [10:01am] InfinityLinden_: ya wanna do merges based on a time-frame
* [10:01am] enus:
* [10:01am] InfinityLinden_: hey whump.. ya missed the big power outage... UPSes beeping and everything
* [10:01am] whump is now known as whumpINT.
* [10:01am] enus: once this initial flurry is done we can formalize timeframes and such (where's that damn roadmap already)
* [10:01am] Locklainn: is that why login is down?
* [10:01am] Locklainn: haha
* [10:01am] enus: login was due to sys issues
* [10:01am] MrTopf: well, in Plone we usually let the person merge who created the branch
* [10:01am] whumpINT: brb interview
* [10:01am] InfinityLinden_: but some folk do merges based on "every week" ... others do it "when the features are finished"
* [10:02am] InfinityLinden_: anyone have any preferences?
* [10:02am] MrTopf: because they know better what they changed and how to resolve conflicts
* [10:02am] Locklainn: right, so it seems to me that the creator should be the merger
* [10:02am] enus: Merge early and often
* [10:02am] Locklainn: but we have to have guidelines on merging
* [10:02am] InfinityLinden_: do we?
* [10:02am] InfinityLinden_: guidelines?
* [10:02am] Locklainn: I dunno
* [10:02am] Locklainn: like
* [10:02am] Locklainn: code review beforehand
* [10:02am] Locklainn: or
* [10:02am] InfinityLinden_: oh oh
* [10:02am] Locklainn: pass all tests
* [10:02am] Locklainn: or something
* [10:02am] InfinityLinden_: sorry.. misread that
* [10:02am] MrTopf: we can also discuss the merge timeframe on a branch by branch basis
* [10:02am] InfinityLinden_: i thought you were saying we _had_ guidelines already
* [10:02am] Locklainn: oh
* [10:02am] MrTopf: some might be simple ideas which you experiment with and can be merged or not within a week
* [10:02am] Locklainn: haha
* [10:02am] Locklainn: have to have*
* [10:02am] Locklainn:
* [10:03am] MrTopf: some might be bigger refactoring which might need some time and should not be merged every week
* [10:03am] InfinityLinden_: Tao.. tru... we can haev a merge schedule on a branch by branch basis
* [10:03am] MrTopf: we can record them on the wiki
* [10:03am] enus: so in this case: MrTopf ought to merge as soon as is convenient, and after confirming that tests pass in a merge branch
* [10:03am] InfinityLinden_: 'k... i'm clearly gonna have to commit my tests
* [10:03am] enus: model internally is something along the lines of
* [10:03am] enus: 1. create a new branch oout of release
* [10:04am] InfinityLinden_: and encourage others to build more tests and all that
* [10:04am] MrTopf: sometimes I also have an idea and might create a branch to not disturb anybody. maybe something like this could also be a non-official branch
* [10:04am] enus: merge feature branch to merge branch
* [10:04am] enus: run tests
* [10:04am] InfinityLinden_: so we'll have a way for peeps to know if they broke the tip
* [10:04am] enus: merge to trunk
* [10:04am] MrTopf: it would be good if tests would pass all the time
* [10:04am] enus: i'd like to see that
* [10:04am] enus: (i don't now myself)
* [10:04am] InfinityLinden_: at least on the trunk
* [10:04am] MrTopf: yes, on trunk
* [10:04am] InfinityLinden_: (tests passing all the time)
* [10:04am] Locklainn: right
* [10:05am] MrTopf: maybe we should also setup a nightly test runner or so
* [10:05am] enus: YES
* [10:05am] enus:
* [10:05am] Locklainn: so, maybe next week (or rest of this week) should be dedicated to testing all our current code to hell
* [10:05am] MrTopf: but what's nightly? 
* [10:05am] enus: 7pm pst
* [10:05am] enus: ?
* [10:06am] MrTopf: well, doesn't matter really, I guess
* [10:06am] InfinityLinden_: or do it every hour...
* [10:06am] MrTopf: as long as it runs once a day
* [10:06am] InfinityLinden_: like a mantra
* [10:06am] MrTopf: well, if a test is broken I don't want an email about that every hour
* [10:06am] enus: i'll take on getting this set up (even if i don;t end up doing it)
* [10:06am] • enus handers to pjira
* [10:06am] enus: wander
* [10:06am] enus: s
* [10:06am] enus: typing is hard
* [10:07am] Locklainn:
* [10:07am] enus: i gotta run.
* [10:07am] MrTopf: enus: and our seriaization problem?!? 
* [10:07am] enus: do we agree MrTopf should merge shortly?
* [10:07am] MrTopf: hm, typing is hard.. 
* [10:07am] InfinityLinden_: sure
* [10:07am] Locklainn: agreed
* [10:07am] InfinityLinden_: i'll branch after his merge
* [10:07am] Locklainn: so grok is in then?
* [10:07am] InfinityLinden_: sure.. what the heck
* [10:07am] enus: do we know the nature of the serialization issue?
* [10:07am] Locklainn: ok
* [10:07am] InfinityLinden_: what's one more dependency that might not work on everyone's platform
* [10:08am] MrTopf: enus. in my case at least it's your AD
* [10:08am] Locklainn:
* [10:08am] MrTopf: which returns a text/html header
* [10:08am] MrTopf: instead of application/llsd+xml
* [10:08am] tess joined the chat room.
* [10:08am] Locklainn: hmm
* [10:08am] MrTopf: and no deserializer for text/html is found because there is none defined
* [10:08am] MrTopf: we can register the llsd one for text/html as well of course
* [10:08am] MrTopf: but it seems more to be a bug
* [10:08am] Locklainn: they redeployed some stuff
* [10:08am] Locklainn: I wonder if that is what caused the break
* [10:09am] MrTopf: not sure if this is the same error you had though
* [10:09am] enus: we need a spec to reference to say "this implementation is bad because the spec says it should be X when it's Y"
* [10:09am] InfinityLinden_: hmm... we're spitting out a text/html header on agent0.aditi.lindenlab.com?
* [10:09am] MrTopf: this would be one test case to collect maybe
* [10:09am] MrTopf: on login
* [10:09am] MrTopf: payload is LLSD though
* [10:09am] enus: can you add that to the list InfinityLinden?
* [10:09am] InfinityLinden_: sure
* [10:09am] InfinityLinden_: i'll also talk to tess
* [10:09am] enus: ty
* [10:10am] MrTopf: in fact if you base interop tests on the lib you now would have a failing test
* [10:10am] enus: yep
* [10:10am] MrTopf: I am not sure if maybe the redirect is the problem
* [10:10am] enus: meeting needs to end so i can run
* [10:10am] tess: I think those should be bugs opened in Jira
* [10:10am] MrTopf: ah wait, it's not on login
* [10:10am] tess: (comment on what Enus said)
* [10:10am] enus: i agree tess
* [10:11am] MrTopf: it's on retrieving a cap I think
* [10:11am] enus: i will do so this morning
* [10:11am] MrTopf: let me check again
* [10:11am] MrTopf: is there a project for the beta where I put these?
* [10:12am] enus: tess/whump, where should OGP jiras go?
* [10:12am] MrTopf: it's on trying to retrieve the place_avatar cap from the seedcap
* [10:12am] tess: I deployed what was on agent1 onto agent0
* [10:12am] whumpINT: enus: I can answer that as soon as I get out of the interview.
* [10:12am] tess: that included rdw's patch for eventlet, but probably some others too
* [10:12am] MrTopf: <?xml version="1.0" ?><llsd><map><key>lastname</key><string>Magic</string><key>firstname</key><string>Zope</string><key>caps</key><map><key>place_avatar</key><string>https://agent0.aditi.lindenlab.com:12043/cap/71db5957-58da-11dd-8a92-005045bbae52</string></map></map></llsd>
* [10:12am] MrTopf: Date: Wed, 23 Jul 2008 17:11:52 GMT
* [10:12am] MrTopf: Content-Length: 275
* [10:12am] MrTopf: Content-Type: text/html
* [10:12am] whumpINT: Otherwise
* [10:12am] Saijanai: BTW, are we putting this conversation up as the daily huddle log?
* [10:12am] enus: cool whump
* [10:12am] tess: public jira, and theres a tag for viewer verses agent domain verses region domain
* [10:12am] enus: and yes sai
* [10:12am] InfinityLinden left the chat room. (Connection timed out)
* [10:13am] enus: great tess, thanks
* [10:13am] whumpINT: http://wiki.secondlife.com/wiki/Open_Grid_Public_Beta/Issue_Tracking
* [10:13am] enus: ty whump
* [10:13am] tess: ohh cuz we changed it to rez_avatar/place
* [10:13am] whumpINT: let me know the ID and I'll attach it to the main tracking task
* [10:13am] tess: ... is that the issue? oh... content type is wrong
* [10:13am] whumpINT: we'll go over this in office hours as well
* [10:14am] MrTopf: thx whumpINT
* [10:14am] MrTopf: tess: yep
* [10:14am] enus: MrTopf: would you file this, or should I? I have a commitment i need to get to right now
* [10:14am] MrTopf: is that the name of the cap? "rez_avatar/place" ?
* [10:14am] enus: transcript is ending....
* [10:14am] MrTopf: sounds strange 
* [10:14am] enus: Here
* [10:14am] InfinityLinden_: 'k.. cheers all
* [10:14am] MrTopf: I am filing it right now
* [10:14am] Locklainn: ok, thanks everyone
* [10:14am] MrTopf: enus: please check later if this is the same problem as you had
* [10:15am] enus: it is MrTopf
* [10:15am] MrTopf: k
* [10:15am] tess: MrTopf: yes "rez_avatar/place" is the name now, although i didnt remove the old "place_avatar" yet to not break stuff
Category: Grid Interoperability Chat Logs
Category: AW Groupies Transcripts
Category: Pyogp Transcripts