Hi all,

I'm working on the infrastructure that will underlie the scheduler
command line api.  Zygmunt and I have the technical side understood I
think, but what I want to think aloud about is how the command line
should work for a user.  In particular, I wonder how much state the
command line tool should save.

The basic command line entry point is "submit a job".  For now at least,
the job will be a JSON file, so the simplest possible invocation would
be:

$ lava-tool submit-job test.json

But this doesn't specify anything about where the job should go.  The
least effort solution would be to require a full specification on the
command line:

$ lava-tool submit-job --farm https://mwhudson:$to...@validation.linaro.org 
test.json

This is clearly a bad idea though: tokens will be long and unwieldy and
passing it on the command line means they will be disclosed in ways that
we should avoid (they'll appear in ps output for all users and could
easily end up in log files).

So we need a way of storing tokens.  The easiest thing to do would be to
store a token for a (username, host) pair, so you'd run a command like:

$ lava-tool auth-add --token-file token-file 
https://mwhud...@validation.linaro.org

Then you'd still need to specify the username and host on every
invocation:

$ lava-tool submit-job --farm https://mwhud...@validation.linaro.org test.json

Would this be too unwieldy do you think?  For scripted or cronjobbed
invocations its probably fine, for the command line it might be a bit
awkward.  But I don't know how much call there is for a genuinely
interactive tool here.

I guess the point I've argued myself to here is that I should implement
this long form for now, and if a need arises add more conveniences (for
example, reading from an environment variable or adding a command to set
the defaults).  Does anyone disagree too strongly with that?

Cheers,
mwh

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to