NeckoNet: Difference between revisions
Jump to navigation
Jump to search
Todesschaf (talk | contribs) |
Todesschaf (talk | contribs) |
||
Line 5: | Line 5: | ||
*Linux (tested with Fedora 15/2.6.38 kernel, should work with other recent distros) | *Linux (tested with Fedora 15/2.6.38 kernel, should work with other recent distros) | ||
*Firefox development environment | *Firefox development environment | ||
*Bison | *Bison | ||
*Flex | |||
*Yacc | |||
*Kernel development package(s) for whatever distro you're using | *Kernel development package(s) for whatever distro you're using | ||
*db4 development package(s) for whatever distro you're using | *db4 development package(s) for whatever distro you're using |
Revision as of 16:12, 27 July 2011
Setup
Prerequisites
- Linux (tested with Fedora 15/2.6.38 kernel, should work with other recent distros)
- Firefox development environment
- Bison
- Flex
- Yacc
- Kernel development package(s) for whatever distro you're using
- db4 development package(s) for whatever distro you're using
- openssl development package(s) for whatever distro you're using
- Python from the 2.7 series
- sqlite 3
- sqlalchemy (www.sqlalchemy.org)
- flask (flask.pocoo.org)
- jinja2 (jinja2.pocoo.org)
- werkzeug (werkzeug.pocoo.org)
- wtforms (wtforms.simplecodes.com)
- Everything necessary for StandaloneTalos (but you don't need to download talos itself, that's included in our tarball)
Most of the python modules should be available through your package manager, but the URLs for them are above just in case.
Installation
- Download http://people.mozilla.org/~hurley/neckonet.tar.gz
- tar xzf neckonet.tar.gz
- cd neckonet
- Run "python install.py" to build & install everything (it will ask for your sudo password)
- Run "python necko.py dbsync" to upgrade/create the database
Creating testsuites, page sets, etc
- To get a simple one, run "python necko.py basic"
- Otherwise, create a page set, config, and repository of your own to create a test suite.
- To create a page set:
- Create a manifest of pages you want to have in your archive (one URL per line, pretty simple file)
- Create a talos.config pointing at that manifest (see talos/necko.config for the one I use, but change the paths as appropriate for your machine)
- Run web-page-replay (in the wpr directory) to record: "python replay.py --record <path to archive file>"
- While web-page-replay is running, run talos: "python run_tests.py <path to talos.config>"
- Once talos is done, ^C web-page-replay
- Now you can stick that in the database, and create your config, repo, and test suite:
- Run "python necko.py web"
- Go to localhost:8000 on the machine you're running the web ui on
- Upload your pageset under "Manage Pagesets"
- Create your config under "Manage Configurations"
- Create your repo under "Manage Source Repositories"
- Create your test suite out of the pageset, configuration, and source repo you just created
Running
This is still much less automated than we'd all like, but it's something...
- Open 3 terminals
- In one terminal, run "python necko.py slave"
- In the other terminal, run "python necko.py runtest <testid>" (you can get test ids from "python necko.py listtests")
- Wait a bit for it to download and build firefox
- When prompted, create/edit your talos.config appropriately
- In the third terminal, cd talos && python run_tests.py <your talos.config>
- Once talos is done running, hit enter in the second terminal
- rm -rf src under your neckonet directory
- Move your testout directory somewhere else so you have the results backed up (and so it doesn't crash next time you try to run a test)
History
Version 3 (7/22/11)
- NOTE THAT THE PREREQUISITES HAVE CHANGED SINCE VERSION 2
- Bandwidth control
- Updated web UI
- CLI controls for most everything (good since the background version isn't 100% yet, hence the crazy 'running' directions)
- DB upgrader
- Now uses apache for serving content to support pipelining
Version 3.1 (7/25/11)
- Fixed some bugs in the installer
- Updated the prerequisites to list openssl devel (which is needed for apache)
Version 2 (6/2/11)
- Deterministic first-SYN packet loss
- Kmod and modified tc to support above
Version 1 (5/10/11)
- Basic packet loss and delay
- Linux-only, localhost-only
- At least it has a web UI?