Le mercredi 11 février 2004 à 13:24, Michael G Schwern écrivait:
> 
> Here's a simple sketch of what I'd imagine the protocol would look like.
> I'm not much on networking, so I'm going to keep it simple.  HTTP is
> simple.  I'd also like to make running a test server as simple and
> portable as possible.  Web servers are simple and portable.

How do you see this server? A collection of CGI scripts? A simple
HTTP::Daemon based script?

> Server:  Returns "ok, I'll run this for you with $these versions of Perl.
>          Pick up your results at this URL"
>          or "sorry, I can't run this right now"

Maybe the server could send back an email when the test run is finished,
so that the client does not request the server for naught. The URL would
be given in the email.

> Client:  If the server is willing to run the code, we poll the results URL
>          until we get results or a timeout.  If the server times out or
>          won't run the tests, we move onto the next available server that
>          can cover this OS/version combo.

Avoid polling the servers for nothing, maybe?

The advantage of email over the web for this part, is that it's
asynchronous, that the client does not need to contact the server until
it knows the resultat data is ready.

Would the test results be pushed back into cpan-testers?

> Since we're basically setting up a big network to run arbitrary code, it
> cannot be made available to just anyone with a CPAN id.  Credentials become
> a problem.
>
> There has to be access control on the users of the system.  We
> also must make sure that someone can't attach a test server which harvests
> user's credentials.  I also want to prevent every test server from contacting
> the master server for each user wanting to run tests to avoid undue load.

Since a PAUSE id is not enough, credentials could be handled we public
key systems. So that a server knows that the person is authorized to 
run tests, but cannot harvest the credentials themselves.

A list of public keys could be made available on the master server, 
and a test server would need to fetch it only when someone new contacts it.

> Finally, I want to allow the system to still work without the master server 
> (clients can cache the test server list).  The last two may be asking too
> much.

Where are the tests results stored? On the master server?

-- 
 Philippe "BooK" Bruhat

 The surest path to chaos is too much organization.
                                                 (Moral from Groo #4 (Image))

Reply via email to