-
Notifications
You must be signed in to change notification settings - Fork 68
Allow parallel testing, take 2 - (was #158) #181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
IIRC, this broke internal wrappers... so CC @NaomiReeves on that. But you definitely should make sure you've tested this with internal wrappers. |
|
The other PR broke the wrappers, from what I remember. The part where I moved the ARGS to be hostnames, 'cause some parts of our wrappers rely on TT just dropping unknown parameters. |
|
Oh one thing I'd love feedback on:
As for logging, |
I'm glad you asked! A lot of this is actually the kind of stuff that we (we = TM folks, not FB folks, so past-past-past-life) solved over in https://github.com/txcketmaster-xx/onall - it forks a bunch of ssh's, joins 'em all back, and handles output nicely. It has a few options - live, buffered, prefixed-by-hostname, in-a-directory one-file-per-host, etc. and I think it's a great model for how to manage output and make it usable for folks. As for return values: 0 - no errors, we can all agree on that. But maybe some more nuance for errors:
Further, I might recommend outputing a JSON structure of host=>failure, perhaps on stderr, or perhaps to a configurable file. |
|
Stupid question, but what's the difference between |
8652279 to
7b35279
Compare
Summary: Basically a re-do of facebook#158. This got rolled back because @Babar wrote 3 different PRs and one of them was bad. This one wasn't. Technically it wasn't good either, as it only did `test`, not really `untest`, `run` or `keeptesting`. This re-do fixes this. Still the same features: * Can parametrize the number of threads in the config, or on the command line, default to the number of cores * Reports hosts depending whether they failed ssh or something else * Doesn't have any extra dependency, as the thread pool is done in a very simple way Test Plan: Ran it on my machine. Tried test and untest, both worked. Reviewers: nreeves, dcavalca, jaymzh Subscribers: Tasks: Tags: Signed-off-by: Olivier Raginel <babar@fb.com>
Summary: As upload can take a very long time, we can just have a dedicated thread for it
ed550cf to
76ef58a
Compare
…n we run out of threads in our poor man thread pool implementation
635b96b to
a464fd4
Compare
| return hostname, host_thread[:status] | ||
| rescue TasteTester::Exceptions::AlreadyTestingError => e | ||
| logger.error("User #{e.username} is already testing on #{hostname}") | ||
| return hostname, 42 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using constants for the status codes - will make future debugging much easier (thread debugging is so fun)
Basically a re-do of #158.
This got rolled back because @Babar wrote 3 different PRs and one of them was bad.
This one wasn't. Technically it wasn't good either, as it only did
test, not reallyuntest,runorkeeptesting.This re-do fixes this.
Still the same features:
Test Plan:
Ran it on my machine. Tried
testanduntest, both worked.Signed-off-by: Olivier Raginel babar@fb.com