Thanks Ellen, Ben
I'm having trouble with telemetry dependencies for jetstream and smoothness.top_25_smooth.
My setup is to use an existing .boto file that authenticates to a few different buckets already (points to the
cros.moblab....@gmail.com account). I created a copy of that .boto file and placed it /home/chromeos-test/.boto on the moblab. I also created the chromeos-test user and group. If any test runs as that user, or uses HOME=/home/chromeos-test/.boto, the gsutil authentication should be set up correctly, without needing any gsutil config. There shouldn't be any file permission issues as the moblab user has full permission on /home/chromeos-test/.boto (it is a hard link from /home/moblab/.boto so it retains those permissions), and I believe the tests run as root so should be able to read it regardless.
```
04/23 12:53:03.805 DEBUG| utils:0214| Running 'ssh 192.168.231.1 python /mnt/moblab/static/reef-release/R66-10440.0.0/telemetry_src/src/tools/perf/fetch_benchmark_deps.py jetstream'
04/23 12:53:07.934 DEBUG| telemetry_runner:0449| Error occurred getting DEPs:
Warning: Permanently added '192.168.231.1' (ED25519) to the list of known hosts.
Warning: Permanently added '192.168.231.1' (ED25519) to the list of known hosts.
WARNING:root:Unable to import cv2 due to: Incorrect cv2 version found, expected 2.4.8 <= version < 3.0.0, found version $Rev: 4557 $
Traceback (most recent call last):
<module> at /mnt/moblab/static/reef-release/R66-10440.0.0/telemetry_src/src/tools/perf/fetch_benchmark_deps.py:115
main(sys.argv[1:], sys.stdout)
main at /mnt/moblab/static/reef-release/R66-10440.0.0/telemetry_src/src/tools/perf/fetch_benchmark_deps.py:104
FetchDepsForBenchmark(benchmark, output)
FetchDepsForBenchmark at /mnt/moblab/static/reef-release/R66-10440.0.0/telemetry_src/src/tools/perf/fetch_benchmark_deps.py:75
_FetchDependenciesIfNeeded(story_set)
_FetchDependenciesIfNeeded at /mnt/moblab/static/reef-release/R66-10440.0.0/telemetry_src/src/tools/perf/fetch_benchmark_deps.py:37
story_set.wpr_archive_info.DownloadArchivesIfNeeded()
DownloadArchivesIfNeeded at /usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/wpr/archive_info.py:107
download_if_needed(archive_path)
download_if_needed at /usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/wpr/archive_info.py:86
cloud_storage.GetIfChanged(path, self._bucket)
GetIfChanged at /usr/local/telemetry/src/third_party/catapult/common/py_utils/py_utils/cloud_storage.py:451
_GetLocked(bucket, expected_hash, file_path)
_GetLocked at /usr/local/telemetry/src/third_party/catapult/common/py_utils/py_utils/cloud_storage.py:349
_RunCommand at /usr/local/telemetry/src/third_party/catapult/common/py_utils/py_utils/cloud_storage.py:154
raise GetErrorObjectForCloudStorageStderr(stderr)
CloudStorageError: AccessDeniedException: 403 AccessDenied
<?xml version='1.0' encoding='UTF-8'?><Error><Code>AccessDenied</Code><Message>Access denied.</Message><Details>
cros.moblab....@gmail.com does not have storage.objects.list access to chrome-telemetry.</Details></Error>
Locals:
args : ['/usr/local/telemetry/src/third_party/catapult/third_party/gsutil/gsutil', 'cp', 'gs://chrome-telemetry/5fa90a167110fc63693dcadfafe699965d71518e', u'/mnt/moblab/static/reef-release/R66-10440.0.0/telemetry_src/src/tools/perf/page_sets/data/tmphBjXKl']
gsutil : <subprocess.Popen object at 0x7419fb074890>
gsutil_env : {'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_CLIENT': '192.168.231.176 42422 22', 'PWD': '/root', 'LOGNAME': 'root', 'USER': 'root', 'MAIL': '/var/spool/mail/root', 'PATH': '/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin', 'SSH_CONNECTION': '192.168.231.176 42422 192.168.231.1 22', 'HOME': '/home/chromeos-test/', '_': '/usr/bin/python'}
stderr : "AccessDeniedException: 403 AccessDenied\n<?xml version='1.0' encoding='UTF-8'?><Error><Code>AccessDenied</Code><Message>Access denied.</Message><Details>
cros.moblab....@gmail.com does not have storage.objects.list access to chrome-telemetry.</Details></Error>\n"
stdout : ''
```
smoothness.top_25_smooth is not finding the .boto file and is trying to access the bucket as anonymous, any insight here? trace below:
```
(INFO) 2018-04-23 13:04:59,881 cloud_storage._GetLocked:340 Downloading gs://chrome-partner-telemetry/bd503b282964e34176b6c617d84d38aee20aa07c to /usr/local/telemetry/src/tools/perf/page_sets/data/top_25_012.wprgo
(ERROR) 2018-04-23 13:05:02,449 archive_info.download_if_needed:93 You either aren't authenticated or don't have permission to use the archives for this page set.
You may need to run gsutil config.
(INFO) 2018-04-23 13:05:02,450 archive_info.DownloadArchivesIfNeeded:110 All WPR archives are downloaded, took 2.76540184021 seconds.
(INFO) 2018-04-23 13:05:02,450 exception_formatter.PrintFormattedException:19 Try printing formatted exception: None None None
Traceback (most recent call last):
RunBenchmark at /usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:356
max_num_values=benchmark.MAX_NUM_VALUES)
Run at /usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:183
story_set.archive_data_file, story_set.wpr_archive_info, stories):
_UpdateAndCheckArchives at /usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:413
wpr_archive_info.DownloadArchivesIfNeeded()
DownloadArchivesIfNeeded at /usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/wpr/archive_info.py:107
download_if_needed(archive_path)
download_if_needed at /usr/local/telemetry/src/third_party/catapult/telemetry/telemetry/wpr/archive_info.py:86
cloud_storage.GetIfChanged(path, self._bucket)
GetIfChanged at /usr/local/telemetry/src/third_party/catapult/common/py_utils/py_utils/cloud_storage.py:451
_GetLocked(bucket, expected_hash, file_path)
_GetLocked at /usr/local/telemetry/src/third_party/catapult/common/py_utils/py_utils/cloud_storage.py:349
_RunCommand at /usr/local/telemetry/src/third_party/catapult/common/py_utils/py_utils/cloud_storage.py:154
raise GetErrorObjectForCloudStorageStderr(stderr)
CredentialsError: Attempted to access a file from Cloud Storage but you have no configured credentials. To configure your credentials:
1. Run "HOME=/home/chromeos-test/ /usr/local/telemetry/src/third_party/catapult/third_party/gsutil/gsutil config" and follow its instructions.
2. If you have a @
google.com account, use that account.
3. For the project-id, just enter 0.
Locals:
args : ['/usr/local/telemetry/src/third_party/catapult/third_party/gsutil/gsutil', 'cp', 'gs://chrome-partner-telemetry/bd503b282964e34176b6c617d84d38aee20aa07c', u'/usr/local/telemetry/src/tools/perf/page_sets/data/tmpaGH6br']
gsutil : <subprocess.Popen object at 0x7f41d611d590>
gsutil_env : {'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_CLIENT': '127.0.0.1 35212 2222', 'PWD': '/root', 'LOGNAME': 'root', 'USER': 'root', 'MAIL': '/var/spool/mail/root', 'PATH': '/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin', 'SSH_CONNECTION': '127.0.0.1 35212 127.0.0.1 2222', 'HOME': '/home/chromeos-test/', '_': '/usr/local/bin/python'}
stderr : 'ServiceException: 401 Anonymous caller does not have storage.objects.get access to chrome-partner-telemetry/bd503b282964e34176b6c617d84d38aee20aa07c.\n'
stdout : ''
```
Thanks!