| import logging |
| import threading |
| |
| import common |
| |
| from autotest_lib.site_utils.rpm_control_system import rpm_controller |
| from autotest_lib.site_utils.rpm_control_system import utils |
| |
| |
| # Format Appears as: [Date] [Time] - [Msg Level] - [Message] |
| LOGGING_FORMAT = '%(asctime)s - %(levelname)s - %(message)s' |
| |
| |
| def test_in_order_requests(): |
| """Simple integration testing.""" |
| rpm = rpm_controller.WebPoweredRPMController( |
| 'chromeos-rack8e-rpm1') |
| info_1 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack8e-hostbs1', |
| powerunit_hostname='chromeos-rack8e-rpm1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='') |
| info_2 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack8e-hostbs2', |
| powerunit_hostname='chromeos-rack8e-rpm1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='') |
| info_3 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack8e-hostbs3', |
| powerunit_hostname='chromeos-rack8e-rpm1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='') |
| rpm.queue_request(info_1, 'OFF') |
| rpm.queue_request(info_2, 'OFF') |
| rpm.queue_request(info_3, 'CYCLE') |
| |
| |
| def test_parrallel_webrequests(): |
| """Simple integration testing.""" |
| rpm = rpm_controller.WebPoweredRPMController( |
| 'chromeos-rack8e-rpm1') |
| info_1 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack8e-hostbs1', |
| powerunit_hostname='chromeos-rack8e-rpm1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='') |
| info_2 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack8e-hostbs2', |
| powerunit_hostname='chromeos-rack8e-rpm1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='') |
| threading.Thread(target=rpm.queue_request, |
| args=(info_1, 'OFF')).start() |
| threading.Thread(target=rpm.queue_request, |
| args=(info_2, 'ON')).start() |
| |
| |
| def test_parrallel_sshrequests(): |
| """Simple integration testing.""" |
| rpm = rpm_controller.SentryRPMController('chromeos-rack8-rpm1') |
| info_1 = utils.PowerUnitInfo( |
| device_hostname='chromeos-rack8-hostbs1', |
| powerunit_hostname='chromeos-rack8-rpm1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='.A14') |
| info_2 = utils.PowerUnitInfo( |
| device_hostname='chromeos-rack8-hostbs2', |
| powerunit_hostname='chromeos-rack8-rpm1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='.A11') |
| threading.Thread(target=rpm.queue_request, |
| args=(info_1, 'CYCLE')).start() |
| threading.Thread(target=rpm.queue_request, |
| args=(info_2, 'CYCLE')).start() |
| |
| # The following test are disabled as the |
| # outlets on the rpm are in actual use. |
| # rpm2 = SentryRPMController('chromeos2-row2-rack3-rpm1') |
| # threading.Thread(target=rpm2.queue_request, |
| # args=('chromeos2-row2-rack3-hostbs', 'ON')).start() |
| # threading.Thread(target=rpm2.queue_request, |
| # args=('chromeos2-row2-rack3-hostbs2', 'ON')).start() |
| # threading.Thread(target=rpm2.queue_request, |
| # args=('chromeos2-row1-rack7-hostbs1', 'ON')).start() |
| |
| |
| def test_in_order_poerequests(): |
| """Simple integration testing for poe controller.""" |
| poe_controller = rpm_controller.CiscoPOEController( |
| 'chromeos1-poe-switch1') |
| info_1 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack4-host1bs-servo', |
| powerunit_hostname='chromeos1-poe-switch1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='fa33') |
| info_2 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack4-host2bs-servo', |
| powerunit_hostname='chromeos1-poe-switch1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='fa34') |
| poe_controller.queue_request(info_1, 'OFF') |
| poe_controller.queue_request(info_1, 'ON') |
| poe_controller.queue_request(info_2, 'CYCLE') |
| |
| |
| def test_parrallel_poerequests(): |
| """Simple integration testing for poe controller.""" |
| poe_controller = rpm_controller.CiscoPOEController( |
| 'chromeos1-poe-switch1') |
| info_1 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack4-host1bs-servo', |
| powerunit_hostname='chromeos1-poe-switch1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='fa33') |
| info_2 = utils.PowerUnitInfo( |
| device_hostname='chromeos1-rack4-host2bs-servo', |
| powerunit_hostname='chromeos1-poe-switch1', |
| powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, |
| hydra_hostname=None, |
| outlet='fa34') |
| threading.Thread(target=poe_controller.queue_request, |
| args=(info_1, 'CYCLE')).start() |
| threading.Thread(target=poe_controller.queue_request, |
| args=(info_2, 'CYCLE')).start() |
| |
| |
| if __name__ == '__main__': |
| logging.basicConfig(level=logging.DEBUG, format=LOGGING_FORMAT) |
| # The tests in this file are disabled since most of the ports are |
| # in actual use now. If you are going to run them, make sure |
| # to choose unused hosts/ports. |
| # test_in_order_requests() |
| # test_parrallel_webrequests() |
| # test_parrallel_sshrequests() |
| # test_in_order_poerequests() |
| # test_parrallel_poerequests() |