It is sometimes required for a coordination job to call
subordinate jobs overriding them with its node filter and dispatch
flags. This is needed because each job must be defined with filter
expressions and dispatch flags of its own.
A coordination job must be able to override these like is
possible with the run command arguments. Eg
run ‐I tags=dev ‐X os‐family=windows ‐C 2 ‐K ‐j ’test/Job1’ -- -optionA valA
The jobref flag might support this syntax, too.
Three hypothetical strawman examples illustrate the theme:
Ex#1) Overload arg line attribute using the double dash as
delimiter:
<jobref group="test" name="Job1"/>
<arg line="‐I tags=dev ‐X os‐family=windows ‐C 2 ‐K -- -optionA valA"/>
</jobref>
Ex#2) Allow nodefilters and dispatch tags as nested
elements:
<jobref group="test" name="Job1"/>
<arg line="-optionA valA"/>
<nodefilters excludeprecedence="true">
<include>
<os-family>windows</os-family>
</include>
<exclude>
<tags>dev</tags>
</exclude>
</nodefilters>
<dispatch>
<threadcount>2</threadcount>
<keepgoing>true</keepgoing>
</dispatch>
</jobref>
Ex#3) Provide a shorthand tag that implicitly overrides the
nodefilters and
dispatch configuration for the subordinate job:
<jobref group="test" name="Job1"/>
<override nodefilters="true" dispatch="true"/>
<arg line="-optionA valA"/>
</jobref>