def run_once(): #clean _logger.info("Starting ngp...") systemutils.start_ngp_service(_logger) _logger.info("Waiting random time...") # TODO: random time out time.sleep(randint(0, MAX_WAIT_TIME_AFTER_START)); _logger.info("Getting current ngp process list...") process_list_orig = get_ngp_process_list() if (not process_list_orig): _logger.warn("Current ngp process list empty!") return TC_STATUS_FAILED _logger.info("Simulate ip address table change...") ipaddress = simulate_ipaddress_change2() _logger.info("Wait ngp processes to exit...") remain = wait_process_to_finish(MAX_WAIT_TIME_SECONDS, CHECK_INTERVAL_SECONDS, process_list_orig) if remain : _logger.warn("Current processes persists %s", remain) return TC_STATUS_FAILED _logger.info("Wait ngp services to start again...") started = wait_ngp_to_start(MAX_WAIT_TIME_SECONDS, CHECK_INTERVAL_SECONDS) if not started: _logger.warn("NGP did not start after %s seconds", MAX_WAIT_TIME_SECONDS) return TC_STATUS_FAILED if not check_ngp_hostagent(_logger, ipaddress): _logger.warn("NGP started but it seems does not work!") return TC_STATUS_FAILED # exec command return TC_STATUS_OK
def create_dumps_of_live_process(support_path): for p in get_ngp_process_list(): create_memory_dump_for(p, support_path)