summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d64769a)
Currently “gnt-debug submit-job” takes a single argument and has
non-trivial startup-costs; in order to exercise the job system, it is
better to be able to submit multiple jobs with a single invocation of
the script.
This patch extends it to take multiple argument, de-serialize the
opcodes and then submit all of them as fast as possible, in order to
increase pressure on the master daemon.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Alexander Schreiber <als@google.com>
<cmdsynopsis>
<command>submit-job</command>
<cmdsynopsis>
<command>submit-job</command>
- <arg choice="req">opcodes_file</arg>
+ <arg choice="req" rep="repeat">opcodes_file</arg>
- This command builds a list of opcodes from a JSON-format file
- and submits them as a single job to the master daemon. It can
+ This command builds a list of opcodes from JSON-format files
+ and submits for each file a job to the master daemon. It can
be used to test some options that are not available via the
command line.
</para>
be used to test some options that are not available via the
command line.
</para>
- fname = args[0]
- op_data = simplejson.loads(open(fname).read())
- op_list = [opcodes.OpCode.LoadOpCode(val) for val in op_data]
- jid = cli.SendJob(op_list, cl=cl)
- ToStdout("Job id: %s", jid)
- cli.PollJob(jid, cl=cl)
+ job_data = []
+ job_ids = []
+ for fname in args:
+ op_data = simplejson.loads(open(fname).read())
+ op_list = [opcodes.OpCode.LoadOpCode(val) for val in op_data]
+ job_data.append((fname, op_list))
+ for fname, op_list in job_data:
+ jid = cli.SendJob(op_list, cl=cl)
+ ToStdout("File '%s', job id: %s", fname, jid)
+ job_ids.append(jid)
+ for jid in job_ids:
+ ToStdout("Waiting for job id %s", jid)
+ cli.PollJob(jid, cl=cl)
help="Select nodes to sleep on"),
],
"[opts...] <duration>", "Executes a TestDelay OpCode"),
help="Select nodes to sleep on"),
],
"[opts...] <duration>", "Executes a TestDelay OpCode"),
- 'submit-job': (GenericOpCodes, ARGS_ONE,
+ 'submit-job': (GenericOpCodes, ARGS_ATLEAST(1),
- "<op_list_file>", "Submits a job built from a json-file"
- " with a list of serialized opcodes"),
+ "<op_list_file...>", "Submits jobs built from json files"
+ " containing a list of serialized opcodes"),
'allocator': (TestAllocator, ARGS_ONE,
[DEBUG_OPT,
make_option("--dir", dest="direction",
'allocator': (TestAllocator, ARGS_ONE,
[DEBUG_OPT,
make_option("--dir", dest="direction",