== The new Twisted node daemon, lib/devscripts/ec2test/remotenode.py == Diff: http://pastebin.ubuntu.com/315123/ This daemon is meant to make the following possible: 1. Start up N instances (on EC2, but the daemon makes no assumptions on that front). 2. One of them is told it is the supervisor. It immediately builds the LP tree and calculates the complete list of tests to run. It puts these tests into N similarly sized parcels for workers to pick up later. It also starts the subunit results aggregator service. 3. Every instance is told where the supervisor is. These instances become workers, and ask the supervisor for work. 4. Each worker runs the tests it has been given, and streams the results back to the supervisor's result aggregator. 5. When a worker has finished its run, with or without error, it tells the supervisor that it has attempted to run every test in its parcel. 6. The supervisor keeps track of which tests it actually has results for; there seem to be some problems where workers don't actually run all of the tests they're asked to. 7. The worker asks for more work. If there isn't any, it shuts down. 8. Once the supervisor has responses for all parcels, it sends a comprehensive report email, then shuts down. 9. Another process (remotenodekiller.py) takes care of actually shutting each instance down, when either the node daemon has exited, or if the logs have not had any activity for 10 minutes. Currently there is no support for submitting to PQM after a test run, and the email address is hard-wired to