New issue
Advanced search Search tips

Issue 921762 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

telemetry_UnitTests failure on informational amd64-generic-telemetry

Project Member Reported by afakhry@chromium.org, Jan 14

Issue description

https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8924354669194827760

/tmp/cbuildbotyAejqM/telemetry_unit_server/test_harness/all/SimpleTestVerify/1_autotest_tests/results-3-telemetry_UnitTestsServer_perf/telemetry_UnitTestsServer.perf                         FAIL: The unit tests of /usr/local/telemetry/src/tools/perf failed.

01/14 11:37:08.748 DEBUG|             utils:0219| Running 'logger "autotest starting iteration /usr/local/autotest/results/default/telemetry_UnitTests/sysinfo/iteration.1 on amd64-generic_VM"'
01/14 11:37:08.763 DEBUG|              test:0355| before_iteration_hooks completed
01/14 11:37:08.764 DEBUG|              test:0370| starting test(run_once()), test details follow
()
01/14 11:37:08.765 INFO |run_chromeos_tests:0022| Running unit tests in /usr/local/telemetry/src/tools/perf with browser_type "system".
01/14 11:42:56.389 INFO |run_chromeos_tests:0052| Failed to import test module: test_results.analysis_unittest
01/14 11:42:56.392 INFO |run_chromeos_tests:0052| Traceback (most recent call last):
01/14 11:42:56.392 INFO |run_chromeos_tests:0052|   File "/usr/local/lib64/python2.7/unittest/loader.py", line 254, in _find_tests
01/14 11:42:56.392 INFO |run_chromeos_tests:0052|     module = self._get_module_from_name(name)
01/14 11:42:56.394 INFO |run_chromeos_tests:0052|   File "/usr/local/lib64/python2.7/unittest/loader.py", line 232, in _get_module_from_name
01/14 11:42:56.394 INFO |run_chromeos_tests:0052|     __import__(name)
01/14 11:42:56.395 INFO |run_chromeos_tests:0052|   File "/usr/local/telemetry/src/tools/perf/test_results/analysis_unittest.py", line 7, in <module>
01/14 11:42:56.396 INFO |run_chromeos_tests:0052|     from test_results import analysis
01/14 11:42:56.396 INFO |run_chromeos_tests:0052|   File "/usr/local/telemetry/src/tools/perf/test_results/analysis.py", line 8, in <module>
01/14 11:42:56.397 INFO |run_chromeos_tests:0052|     import pandas  # pylint: disable=import-error
01/14 11:42:56.398 INFO |run_chromeos_tests:0052| ImportError: No module named pandas
01/14 11:42:56.398 INFO |run_chromeos_tests:0052| 
01/14 11:42:56.485 WARNI|              test:0606| The test failed with the following exception
Traceback (most recent call last):
  File "/usr/local/autotest/common_lib/test.py", line 600, in _exec
    _call_test_function(self.execute, *p_args, **p_dargs)
  File "/usr/local/autotest/common_lib/test.py", line 800, in _call_test_function
    return func(*args, **dargs)
  File "/usr/local/autotest/common_lib/test.py", line 464, in execute
    postprocess_profiled_run, args, dargs)
  File "/usr/local/autotest/common_lib/test.py", line 371, in _call_run_once
    self.run_once(*args, **dargs)
  File "/usr/local/autotest/tests/telemetry_UnitTests/telemetry_UnitTests.py", line 35, in run_once
    raise error.TestFail(error_str)
TestFail: The unit tests of /usr/local/telemetry/src/tools/perf failed.
 
Cc: slangley@chromium.org
Cc: vapier@chromium.org
This is probably because chromeOS don't have vpython. We just need to add a guard around the panda import for ChromeOS..

Cc: perezju@chromium.org
Cc: -nednguyen@chromium.org nedngu...@google.com
Is this a new failure? Those tests were added over 4 weeks ago.
s/weeks/months/
Cc: -perezju@chromium.org
Owner: perezju@chromium.org
Status: Assigned (was: Untriaged)
Re#6: amd64-generic-telemetry [1] has been failing for a long time, and apparently for the same reason. But it seems no one reported this particular failure before.

Can you please take a look?

[1]: https://cros-goldeneye.corp.google.com/chromeos/legoland/builderHistory?buildConfig=amd64-generic-telemetry&buildBranch=master
Cc: -nedngu...@google.com

Comment 9 by benhenry@google.com, Jan 16 (6 days ago)

Components: Test>Telemetry

Comment 10 by benhenry@google.com, Jan 16 (6 days ago)

Components: -Tests>Telemetry

Comment 11 by perezju@google.com, Jan 17 (5 days ago)

Cc: perezju@chromium.org crouleau@chromium.org
Owner: ----
Status: Available (was: Assigned)
+crouleau FYI

I think we would like to move to the point where running tests with vpython is a requirement for Telemetry. Otherwise dealing with possibly missing dependencies or wrong module versions becomes unmanageable.

Not sure about your test infrastructure, but can you make these tests run using vpython? That is the fix.

Note sure who would be the right owner in ChromeOs/autotest to look at this.

Comment 12 by afakhry@chromium.org, Jan 17 (5 days ago)

achuith@ or vapier@ what do we need to do to make vpython available for telemetry tests? Can the tests check whether it's available, and install it if not?

Comment 13 by vapier@chromium.org, Jan 19 (3 days ago)

there's a lot packaged into that of "just use vpython".  it's never been used in CrOS before, and vpython hits the network a lot to pull in things.  so it's not a trivial request.

if code needed new python modules in the past, we'd just see about integrating them into the test image.

Comment 14 by perezju@google.com, Yesterday (44 hours ago)

The alternative then would be to make sure that numpy and pandas are integrated into the image.

In general you would need to make sure that the modules listed here are available:
https://cs.chromium.org/chromium/src/third_party/catapult/.vpython

special care on module versions for numpy and psutil. We currently have a little bit of compatibility to deal with different versions. But that is something that we want to stop doing and instead assume that the right version is available.

Sign in to add a comment