Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Description:
There is a need to have a decorator through which user can specify cluster information like number of servers, moms, comms and clients etc. required for a particular test to run.

...

  • Case 2- Test requires 4 moms and 2 comms.
    • With 1 mom and 1 comm on server node: @requirements(num_moms=4, num_comms=2)
      • By default 'no_mom_on_server' and 'no_comm_on_server' are False and no_comm_on_mom is true, so cluster will consist of total 5 nodes which will look like:
        • Node1: Server, Sched, Mom, Comm
        • Node2: Mom
        • Node3: Mom
        • Node4: Mom
        • Node5: Comm
    • With no mom and comm on server node: @requirements(num_moms=4, num_comms=2, no_mom_on_server=True, no_comm_on_server=True)
      • By default no_comm_on_mom is true, so cluster will consist of total 7 nodes which will look like:
        • Node1: Server, Sched
        • Node2: Mom
        • Node3: Mom
        • Node4: Mom
        • Node5: Mom
        • Node6: Comm
        • Node7: Comm
    • With no mom and comm on server node and comm on mom node: @requirements(num_moms=4, num_comms=2, no_mom_on_server=True, no_comm_on_server=True, no_comm_on_mom=False)
      • Cluster will consist of total 5 nodes which will look like:
        • Node1: Server, Sched
        • Node2: Mom, Comm
        • Node3: Mom, Comm
        • Node4: Mom
        • Node5: Mom
  • Case 3 - Test requires 3 moms without comms on the mom nodes:
    • With 1 mom and 1 comm on server node: @requirements(num_moms=3)
      • Cluster will consist of total 3 nodes
        • Node 1: server,sched,mom1 & comm
        • Node 2: mom2
        • Node 3: mom3

Note: Currently PTL supports specification of a single host for "client" parameter in pbs_benchpress command, i.e. name of the host on which the PBS client commands are to be run from. Hence, the specification of requirement of multiple clients for a given test case can be completely functional only after implementation of ticket PP-1327. As of now test execution of any test case that specifies num_clients as greater than one will be skipped.

...

Interface: PTLTestInfo._gen_ts_tree()
Visibility: Public
Change Control: Stable
Synopsis: Updating existing interface to add requirements information to testsuite's json tree, provided by @requirements decorator. Tools which run PTL, can make use of this information to form a multinode cluster.
Details:

  • json test suite tree generated with info option of pbs_benchpress along with --gen-ts-tree (using PTLTestInfo._gen_ts_tree() method) will now include the requirements data mentioned for each test case
  • this data is populated as value for a new key called 'requirements' under test case name hierarchy in the generated json tree
  • for test cases without requirements decorator, default values of requirements are specified

...