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
Add --[no-]remote-execution
flag
#7991
Add --[no-]remote-execution
flag
#7991
Conversation
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.
Thanks. Please wait for a sanity check from @illicitonion before merging.
--enable-remoting
flag--[no-]remote-execution
flag
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.
This works for me, but it may be worth thinking about whether this is really a boolean, or will be an enum in the future? In particular, when speculation is a thing, will we want:
--remote-execution --speculate-execution
or will we want
--execution-strategy={local,remote,speculative,...}
?
That approach sounds great to me! Default to Though, this assumes that there are instances where users would only want to remote and not speculate? Do we anticipate that being the case? -- Closely related, in Slack Stu mentioned the option for the speculate timeout threshold. I think that is should be separate from this option here, but this is one possible way of doing this:
-- |
There was some discussion of this in slack (here), and my takeaway was that if remoting is enabled, we should have a good set of defaults for that case which will include speculation (by default). So I leaned toward the boolean flag. |
Agreed. If you have remoting, by default it makes sense to have speculation also enabled. So long as we have some mechanism to turn off speculation, which we can do via something like |
7e36967
to
0ddf3af
Compare
I'm largely indifferent on the boolean vs enum question, happy to do whatever other people prefer :) |
Problem
We want to allow users to permanently configure all remoting options in their
pants.ini
, without that config triggering Pants always using remoting. Tangibly, we are trying to land #7990 to setup our own usage and can't get green CI because Pants is trying to remote things it shouldn't.Instead, users should be able to turn on remoting at the per-invocation level, just like we have
--enable-pantsd
.Solution
Introduce
--[no-]remote-execution
. For now, this defaults toFalse
as this is an alpha feature and it does not work without other remoting config.Result
Users can have all their remoting config setup and still be able to entirely run locally. Also now more explicit when you are and are not remoting.