PyOGP
Overview
AWG (in-world discussion group page) and Linden Lab plan to share the effort in writing a test harness which executes tests against implementations of the Open Grid Protocol (OGP). The intent is not to test SL or OpenSim (or gridX) themselves. Rather, the desire is to create a framework where the implementations of the protocols can be tested in any virtual environment implemented per the Open Grid Protocols as documented. We plan to be able to test at the smallest functional level possible, akin to unit testing, and to have the ability to use the framework to sequence steps to enable state specific tests to be run.
The longer term vision is essentially a client library, capable of navigating the grid and interacting with the various hosts, sitting next to a testing framework, happily running along telling us what works where, and where something needs a little attention to work according to specification...
For a smidge more detail on OGP, see a visual representation of the upcoming projects and a general introduction.
Project Status
- June 26, 2008 - We have begun to write some code to prototype the client library framework. We have also discussed some of the details of the client lib and how we should begin to structure it.
Project Tasks
These are tasks that need to be accomplished for the overall project. Each part of the project (library and harness) also has its own task list.
- Set up collaboration
- Discussion Times - Despite Enus heading out for a 3 week vaca on the right coast of the usa, I'll set up an office hours time of sorts to meet with AWG and Lindens to chat about progress and next steps. Coming soon to a gcal near you.
- Mailing list - should probably set this up to
- (complete?)Repository - So Mercurial, aka hg, was looking promising, but we decided internally that we aren't quite ready for that. There is a move toward Mercurial internally, but we need to work this out before moving forward with it on this effort. It is quite possible that this library and test harness work will become a guinea pig for hg with Linden Lab in the open source arena. Until then, I bring you pyogp on SVN: http://svn.secondlife.com/trac/linden/browser/projects/2008/pyogp.
- (complete?)Contributions - As we are going to be hosting the source code for this, contributions will be subject to Linden Lab's standard contributor's agreement. I hope this doesn't prevent good work here...
- (complete?)License - The Apache V2 License has been selected as the license of choice for pyogp (or whatever name we agree upon, see next point).
- (complete?)Naming (I'd like to not debate for an hour on these. Tao had suggestions, I like em. Please speak up if you have strong reservations about the suggested naming).
- Python client library name - pyogp
- Python test framework (unittest/doctest) - ogptest
- Start planning structure for Client Lib (see client lib page tasks)
- Start planning structure for test harness (see test harness page tasks)
Technical Detail
- The beta grid has an agent domain login accessible at https://login1.aditi.lindenlab.com/cgi-bin/auth.cgi
- Currently available Regionuri list (log into the agent domain running on aditi, show up on vaak!). Use the regionuri parameter in viewers built from http://svn.secondlife.com/trac/linden/browser/branches/interop-2, or better yet for this effort, use a pyogp script!
- Regionuri list (log into the agent domain running on aditi, show up on vaak!). Use the regionuri parameter in viewers built from http://svn.secondlife.com/trac/linden/browser/branches/agent-domain-2
- http://sim1.vaak.lindenlab.com:13000 Dore
- http://sim1.vaak.lindenlab.com:13001 Card
- http://sim1.vaak.lindenlab.com:13002 Grigiano
- http://sim1.vaak.lindenlab.com:12035 Island for Misfit Toys
- http://sim2.vaak.lindenlab.com:12035 Ahern
- http://sim2.vaak.lindenlab.com:13000 Miramare
- http://sim2.vaak.lindenlab.com:13001 Morris
- Regionuri list (log into the agent domain running on aditi, show up on vaak!). Use the regionuri parameter in viewers built from http://svn.secondlife.com/trac/linden/browser/branches/agent-domain-2
Collaboration
Once we get a collaboration schedule determined it will be posted here.
Contributors
- Main Linden Contributors
- Enus -
- Infinity -
- Locklainn -
- Main AWG Contributors (subject to the contributor's agreement)
- Tao Takashi -
- Saijanai Kuhn -
- your name here
Related Chat Logs
- April: AW Groupies 29 April
- May: AW Groupies 20 May · Which LInden Office Hours 22 May
- June: Zero Linden Office Hours 19 June AW Groupies 24 June Zero Linden Office Hours 24 June
Links
Please add to the list as you see fit. The more we throw in here, the better off we are in the long run.
Project pages
- Python Client Library - dedicated page to the client library
- Pyogp Test Harness - dedicated page to the test harness
- Pyogp Roadmap - the overall plan for pyogp. Each dedicated page, however, has its own roadmap
- Pyogp Specification - the technical specifications and guidelines to follow when working on the code
- Internal jira tracking Linden Lb's involvement with the work: uh, I'll get back to you.
- Repository - http://svn.secondlife.com/trac/linden/browser/projects/2008/pyogp.
- License - The Apache V2 License has been selected as the license of choice for pyogp.
- Communication
- IRC: irc://irc.freenode.com/#pyogp
- mailing list: TBD
- AW_Groupies - AWG in-world discussion group
Licensing
- The code written as part of this effort is subject to the Apache v2 license. Read more at http://opensource.org/licenses/apache2.0.php.
<excerpt> Copyright 2008, Linden Research, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </excerpt>
Picture of the Moment
- 05/29/08: Using quite nasty code, a first contact of sorts via python into the agent domain and onto a simulator: