This page contains information useful to developers working on Seattle. Anything that is essential for each developer to read is in bold text.
Note: We've recently moved our VCS and ticket system to GitHub. Please see our organization's page for the latest code, to discuss open issues, and to create forks off our code base for your contributions!
If you are a new contributor, please look at our Getting Started page.
-
Accessing our GitHub repositories, building components, Github & Git tutorial, and using the wiki
-
Check out (i.e.,
git clone
) our source code from [https://github.com/SeattleTestbed] -
Instructions for building Seattle components
-
Github and Git instructions
-
How to submit a patch for inclusion if you do not have commit access
-
-
Programming in Repy
- The Python Tutorial from the Python site.
- PythonTutorial Subset of Python Tutorial with basic information about the subset of Python needed to write code in Repy
- Python Vs Repy Python You Need to Forget to Use Repy
- Python vs RePyV2 Python You need to Forget to Use RePyV2
- Repy Tutorial
- RePyV2 Tutorial
- Repy Library reference
- RepyV2 Library reference
- Seattle Standard Library reference
- Porting Python to Repy Guide
- Importing Repy code into Python using repyhelper
- Difference between Repy V1 and Repy V2
-
Testing
- Writing Tests for Seattle's Unit Test Framework
- [wiki:UnitTests Running Repy and / or node manager unit tests]
- Supplemental information about Running Tests with Seattle's Unit Test Framework
- Running Software Updater Unit Tests
- Writing Integration Tests
- Running Integration Tests
- Running a Clearinghouse test server
- Running a Custom Installer Builder test server
- [wiki:RemoteTestingService Running remote tests on seattle testbeds]
- Continuous Integration via Travis-CI and AppVeyor:
-
Style guidelines for documentation, python code, web code
- Python/Repy style guidelines for most Seattle programming
- Web style guidelines for web programming
- Documentation format guidelines for wiki pages
-
Installation instructions and documentation
- Formal Installer Documentation
- [wiki:SeattleDownload Download and installation instructions] for Seattle
- [wiki:ClearinghouseInstallation Installing your own instance of Seattle Clearinghouse]
- [wiki:CustomInstallerBuilder Using the Custom Installer Builder]
-
API specifications for user-facing services
- [wiki:SeattleGeniApi Seattle Clearinghouse XML-RPC API]
- [wiki:SeattleGeniClientLib Seattle Clearinghouse XML-RPC Client Library]
- [wiki:CustomInstallerBuilderApi Custom Installer Builder XML-RPC API]
-
Deployment
- Building the base installers
- [wiki:NsisSystemSetup System setup instructions] to be able to build the Windows GUI installer
- Deploying a new version
- Setting up the software updater
- Updating the production Seattle Clearinghouse code
- Building the Demokit
- Overlord Deployment and Monitoring Library for deploying persistent services on VMs
- Building the base installers
-
Developer Resources
- Experiment Library for use in scripting communication with nodes, etc.
- [wiki:DevelopingWithEclipse Developing with Eclipse]
-
Project Resources
- [wiki:SeattleAdminResources Resources needed by Seattle sysadmin]
-
Events relevant to Seattle and Seattle team information
- Upcoming talks about Seattle
- Project Members contact information
-
Other
- Seattle Backend
- Containment In Seattle about controlling node outgoing traffic
- Benchmark and Custom Installer Info implementation notes and problems.
- Repy Network Restrictions information and errata.
- Statistics Library for analyzing date regarding nodes & VMs on Seattle.
- Running a GeoIP Server
- How to run the Security Layer benchmarks
- SeleXor for additional control over the VM acquisition process.