Addition of hardware requirements option to existing @requirements decorator
Description:
The test framework should accept minimum hardware requirements like RAM and disk space before running a test for both moms and servers .
It will follow the existing interface of requirements decorator as described in PP-1281: New decorator in PTL using which user can provide cluster information required for a test.
Interface: @requirements(num_servers=<number_of_servers>,num_moms=<number_of_moms>,num_comms=<number_of_comms>,num_clients=<number_of_clients>,no_mom_on_server=<Boolean>,no_comm_on_server=<Boolean>, no_comm_on_mom=<Boolean>,min_mom_ram=<amount_of_ram_in_gb>,min_mom_disk=<amount_of_disk_space_in_gb>,min_server_ram=<amount_of_ram_in_gb>,min_server_disk=<amount_of_disk_space_in_gb>)
Synopsis: Updating interface to provide information of hardware requirements for particular testsuite/testcase.
Details:
Four more options min_mom_ram, min_mom_disk, min_server_ram and min_server_disk are added to @requirements decorator to specify minimum hardware requirements for a given test to run. It can be specified at test case or test suite level.
These new options are used to check the availability of specified minimum requirements on every mom and every server.
→ If all the moms and servers satisfy the min. requirements then the test execution is continued otherwise skipped.
Examples:
Test requires num_servers=2,num_moms=2,min_mom_ram=2,min_mom_disk=5,min_server_ram=2,min_server_disk=5 .
case1 - avail_ram_mom1=3,avail_ram_mom2=2.5,avail_disk_mom1=6,avail_disk_mom2=8
avail_ram_server1=3,avail_ram_server2=2.5,avail_disk_server1=6,avail_disk_server2=8
test continued
case2 - avail_ram_mom1=3,avail_ram_mom2=1.5,avail_disk_mom1=6,avail_disk_mom2=8
avail_ram_server1=3,avail_ram_server2=2.5,avail_disk_server1=6,avail_disk_server2=8
test skipped because avail_ram_mom2 < min_mom_ram