Issue metadata
Sign in to add a comment
|
CQ run failed with 'suite_args_dict' is not defined |
||||||||||||||||||||||
Issue description
It seems to be a one off - but I think we can improve the error handling so it is possible to see the actual error.
07/28 00:06:58.640 INFO | server_job:0932| Processing control file
07/28 00:06:58.683 ERROR| server_job:0942| Exception escaped control file, job aborting:
Traceback (most recent call last):
File "/usr/local/autotest/server/server_job.py", line 934, in run
self._execute_code(server_control_file, namespace)
File "/usr/local/autotest/server/server_job.py", line 1435, in _execute_code
execfile(code_file, namespace, namespace)
File "/usr/local/autotest/results/130997201-chromeos-test/hostless/control.srv", line 64, in <module>
'keyword to specify it. suite aborting' % suite_args_dict)
NameError: name 'suite_args_dict' is not defined
07/28 00:06:58.687 INFO | server_job:0215| INFO ---- ---- timestamp=1501225618 job_abort_reason=name 'suite_args_dict' is not defined localtime=Jul 28 00:06:58 name 'suite_args_dict' is not defined
07/28 00:06:58.689 WARNI| subcommand:0085| parallel_simple was called with an empty arglist, did you forget to pass in a list of machines?
07/28 00:06:58.691 ERROR| traceback:0013| Traceback (most recent call last):
07/28 00:06:58.691 ERROR| traceback:0013| File "/usr/local/autotest/server/autoserv", line 534, in run_autoserv
07/28 00:06:58.692 ERROR| traceback:0013| use_packaging=(not no_use_packaging))
07/28 00:06:58.693 ERROR| traceback:0013| File "/usr/local/autotest/server/server_job.py", line 934, in run
07/28 00:06:58.693 ERROR| traceback:0013| self._execute_code(server_control_file, namespace)
07/28 00:06:58.693 ERROR| traceback:0013| File "/usr/local/autotest/server/server_job.py", line 1435, in _execute_code
07/28 00:06:58.694 ERROR| traceback:0013| execfile(code_file, namespace, namespace)
07/28 00:06:58.694 ERROR| traceback:0013| File "/usr/local/autotest/results/130997201-chromeos-test/hostless/control.srv", line 64, in <module>
07/28 00:06:58.695 ERROR| traceback:0013| 'keyword to specify it. suite aborting' % suite_args_dict)
07/28 00:06:58.695 ERROR| traceback:0013| NameError: name 'suite_args_dict' is not defined
07/28 00:06:58.702 INFO | client:0570| Attempting refresh to obtain initial access_token
07/28 00:06:58.799 INFO | client:0872| Refreshing access_token
07/28 00:06:58.906 ERROR| autoserv:0754| Uncaught SystemExit with code 1
Traceback (most recent call last):
File "/usr/local/autotest/server/autoserv", line 750, in main
use_ssp)
File "/usr/local/autotest/server/autoserv", line 563, in run_autoserv
sys.exit(exit_code)
SystemExit: 1
,
Jul 28 2017
,
Jul 28 2017
Just for context pasting the control.srv
# INJECT_BEGIN - DO NOT DELETE THIS LINE job_retry=False test_args={'wifipass': 'None', 'ssid': 'GoogleGuest'} suite_args=None num=None timeout_mins=1440 max_runtime_mins=1440 devserver_url='http://192.168.231.1:8080' wait_for_results=False priority=40 board='reef' build='reef-release/R60-9592.70.0' timeout=24 check_hosts=True offload_failures_only=False max_retries=None pool='' builds={'cros-version': 'reef-release/R60-9592.70.0'} test_source_build='reef-release/R60-9592.70.0' file_bugs=False run_prod_code=False delay_minutes=0 job_keyvals=None args_dict={'job_retry': False, 'test_args': {'wifipass': 'None', 'ssid': 'GoogleGuest'}, 'suite_args': None, 'num': None, 'timeout_mins': 1440, 'max_runtime_mins': 1440, 'devserver_url': 'http://192.168.231.1:8080', 'wait_for_results': False, 'priority': 40, 'board': 'reef', 'build': 'reef-release/R60-9592.70.0', 'timeout': 24, 'check_hosts': True, 'offload_failures_only': False, 'max_retries': None, 'pool': '', 'builds': {'cros-version': 'reef-release/R60-9592.70.0'}, 'test_source_build': 'reef-release/R60-9592.70.0', 'file_bugs': False, 'run_prod_code': False, 'delay_minutes': 0, 'job_keyvals': None} # INJECT_END - DO NOT DELETE LINE # Copyright 2016 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. AUTHOR = "ihf@chromium.org" NAME = "cts_N_Pre" PURPOSE = "Special suite for CTS qualification of ARC++." CRITERIA = "All tests with SUITE=cts_N_Pre must pass." TIME = "LONG" TEST_CATEGORY = "General" TEST_CLASS = "suite" TEST_TYPE = "Server" DOC = """ ChromeOS ARC++ tests. @param build: The name of the image to test. Ex: x86-mario-release/R17-1412.33.0-a1-b29 @param board: The board to test on. Ex: x86-mario @param pool: The pool of machines to utilize for scheduling. If pool=None board is used. @param check_hosts: require appropriate live hosts to exist in the lab. @param SKIP_IMAGE: (optional) If present and True, don't re-image devices. """ import common from autotest_lib.server.cros import provision from autotest_lib.server.cros.dynamic_suite import dynamic_suite def predicate(test): if not hasattr(test, 'suite') or not hasattr(test, 'name'): return False if not test.suite == NAME: return False # Strip off the cheets_CTS_N. from the test name before comparing to args if suite_args and not test.name[test.name.find('.') + 1:] in suite_args: return False return True args_dict['name'] = NAME args_dict['job'] = job args_dict['file_bugs'] = False args_dict['max_runtime_mins'] = 5040 # 5040 min = 3.5 days args_dict['timeout_mins'] = 5040 # Bump default 1 day to half a week as well. args_dict['add_experimental'] = True args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX args_dict['predicate'] = predicate dynamic_suite.reimage_and_run(**args_dict)
,
Jul 28 2017
ignore #3 this is the correct control
# INJECT_BEGIN - DO NOT DELETE THIS LINE
job_retry=True
test_args=None
suite_args="{'attr_filter': u'(suite:moblab_quick) and (subsystem:default)'}"
num=1
timeout_mins=90
max_runtime_mins=1440
devserver_url='http://100.115.245.197:8082'
wait_for_results=True
priority=50
board='guado_moblab'
build='guado_moblab-paladin/R62-9785.0.0-rc4'
timeout=24
check_hosts=True
offload_failures_only=False
max_retries=5
pool='cq'
builds={'cros-version': 'guado_moblab-paladin/R62-9785.0.0-rc4'}
test_source_build='guado_moblab-paladin/R62-9785.0.0-rc4'
file_bugs=False
run_prod_code=False
delay_minutes=0
job_keyvals={'cidb_build_stage_id': 51229040, 'cidb_build_id': 1705770, 'datastore_parent_key': ['Build', 1705770, 'BuildStage', 51229040]}
args_dict={'job_retry': True, 'test_args': None, 'suite_args': "{'attr_filter': u'(suite:moblab_quick) and (subsystem:default)'}", 'num': 1, 'timeout_mins': 90, 'max_runtime_mins': 1440, 'devserver_url': 'http://100.115.245.197:8082', 'wait_for_results': True, 'priority': 50, 'board': 'guado_moblab', 'build': 'guado_moblab-paladin/R62-9785.0.0-rc4', 'timeout': 24, 'check_hosts': True, 'offload_failures_only': False, 'max_retries': 5, 'pool': 'cq', 'builds': {'cros-version': 'guado_moblab-paladin/R62-9785.0.0-rc4'}, 'test_source_build': 'guado_moblab-paladin/R62-9785.0.0-rc4', 'file_bugs': False, 'run_prod_code': False, 'delay_minutes': 0, 'job_keyvals': {'cidb_build_stage_id': 51229040, 'cidb_build_id': 1705770, 'datastore_parent_key': ['Build', 1705770, 'BuildStage', 51229040]}}
# INJECT_END - DO NOT DELETE LINE
# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
AUTHOR = "shuqianz, chromeos-infra"
NAME = "suite_attr_wrapper"
TIME = "SHORT"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"
DOC = """
This is a wrapper suite to trigger tests that satisfy any attribute boolean
expression.
@param build: The name of the image to test.
Ex: x86-mario-release/R17-1412.33.0-a1-b29
@param board: The board to test on. Ex: x86-mario
@param pool: The pool of machines to utilize for scheduling. If pool=None
board is used.
@param check_hosts: require appropriate live hosts to exist in the lab.
@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
"""
import logging
import common
from autotest_lib.server.cros.dynamic_suite import dynamic_suite
from autotest_lib.server.cros.dynamic_suite import suite
from autotest_lib.server.cros import provision
# Get the predicate object from attr_filter argument
try:
attr = args_dict['attr_filter']
attr_predicate = suite.Suite.matches_attribute_expression_predicate(attr)
except KeyError:
logging.error('Unable to find the attribute boolean expression used to '
'trigger tests in suite_args %s, please use attr_filter '
'keyword to specify it. suite aborting' % suite_args_dict)
raise
args_dict['predicate'] = attr_predicate
args_dict.setdefault('name', NAME)
args_dict['job'] = job
args_dict.setdefault('version_prefix', provision.CROS_VERSION_PREFIX)
dynamic_suite.reimage_and_run(**args_dict)
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by dshi@chromium.org
, Jul 28 2017