def _init_devices(self): """Reboot all usb devices. Note: If APC_HOST is not valid, usb devices is not rebooted. """ if self.manual_reset: raw_input('Reset golden devices and press enter to continue..') return elif not settings.PDU_CONTROLLER_TYPE: if settings.GOLDEN_DEVICE_TYPE != 'OpenThread': logger.warning('All golden devices may not be resetted') return if settings.AUTO_DUT: return for device in settings.GOLDEN_DEVICES: port, _ = device try: with OpenThreadController(port) as otc: logger.info('Resetting %s' % port) otc.reset() except: logger.exception('Failed to reset device %s' % port) self.history.mark_bad_golden_device(device) return tries = 3 pdu_factory = PduControllerFactory() while True: try: pdu = pdu_factory.create_pdu_controller( settings.PDU_CONTROLLER_TYPE) pdu.open(**settings.PDU_CONTROLLER_OPEN_PARAMS) except EOFError: logger.warning('Failed to connect to telnet') tries = tries - 1 if tries: time.sleep(10) continue else: logger.error('Fatal error: cannot connect to apc') raise else: pdu.reboot(**settings.PDU_CONTROLLER_REBOOT_PARAMS) pdu.close() break time.sleep(20)
def _init_devices(self): """Reboot all usb devices. Note: If PDU_CONTROLLER_TYPE is not valid, usb devices is not rebooted. """ if not settings.PDU_CONTROLLER_TYPE: if settings.AUTO_DUT: return for device in settings.GOLDEN_DEVICES: port, _ = device try: with OpenThreadController(port) as otc: logger.info('Resetting %s', port) otc.reset() except: logger.exception('Failed to reset device %s', port) self.history.mark_bad_golden_device(device) return tries = 3 pdu_factory = PduControllerFactory() while True: try: pdu = pdu_factory.create_pdu_controller(settings.PDU_CONTROLLER_TYPE) pdu.open(**settings.PDU_CONTROLLER_OPEN_PARAMS) except EOFError: logger.warning('Failed to connect to telnet') tries = tries - 1 if tries: time.sleep(10) continue else: logger.error('Fatal error: cannot connect to apc') raise else: pdu.reboot(**settings.PDU_CONTROLLER_REBOOT_PARAMS) pdu.close() break time.sleep(len(settings.GOLDEN_DEVICES))