Adding partner logs uploading support in the transporter
BUG=chromium:464860
TEST=ran all upload cases locally
Change-Id: Icadc7c391ff8c388ab5e54142e8ebaafa925088e
Reviewed-on: https://chromium-review.googlesource.com/264546
Reviewed-by: Kris Rambish <krisr@chromium.org>
Commit-Queue: Rohit Makasana <rohitbm@chromium.org>
Tested-by: Rohit Makasana <rohitbm@chromium.org>
diff --git a/provingground/transporter.py b/provingground/transporter.py
index 6242de7..5d86f5a 100755
--- a/provingground/transporter.py
+++ b/provingground/transporter.py
@@ -12,9 +12,14 @@
import os
def main():
- gs_path = 'gs://chromiumos-test-logs/'
+ gs_path = {'broadcom':'gs://chromeos-partner-broadcom-wifi-bucket/',
+ 'bugs':'gs://chromiumos-test-logs/',
+ 'imgtech':'gs://chromeos-partner-imgtech-wifi-bucket/',
+ 'intel':'gs://chromeos-partner-intel-wifi-bucket/',
+ 'marvell':'gs://chromeos-partner-marvell-wifi-bucket/'}
+
usage_desc = ('Please make sure you are part of chromiumos-test-logs-ninja '
- 'group. Ping rohitbm/krisr to get yourself added to the group.')
+ 'group. Ping rohitbm/krisr to get yourself added to the group.')
parser = argparse.ArgumentParser(description=usage_desc)
parser.add_argument('-t', '--tracker', dest='tracker',
help='[crosp|cr|misc] bug\'s tracker name.')
@@ -22,33 +27,60 @@
help='Bug number for which the logs belong.')
parser.add_argument('-p', '--path', dest='logs_path',
help='Logs local path.')
+ parser.add_argument('--broadcom', action='store_true', default=False,
+ dest='broadcom',
+ help='Store logs in the Broadcom storage.')
+ parser.add_argument('--imgtech', action='store_true', default=False,
+ dest='imgtech', help='Store logs in the Imgtech storage.')
+ parser.add_argument('--intel', action='store_true', default=False,
+ dest='intel', help='Store logs in the Intel storage.')
+ parser.add_argument('--marvell', action='store_true', default=False,
+ dest='marvell', help='Store logs in the Marvell storage.')
+
arguments = parser.parse_args()
- trackers = ['crosp', 'cr', 'misc']
- if arguments.tracker not in trackers:
- print('Error: invalid tracker name. Select %s' % trackers)
+ if [arguments.broadcom, arguments.imgtech,
+ arguments.intel, arguments.marvell].count(True) > 1
+ print('Error: logs can be uploaded only for one partner.')
return 1
- if not os.path.exists(arguments.logs_path):
- print('Error: logs file %s is not available.' % arguments.logs_path)
- return 1
- logs_dir = arguments.tracker + '_' + arguments.bug_id
+
+ if arguments.broadcom:
+ final_gs_path = gs_path['broadcom']
+ elif arguments.imgtech:
+ final_gs_path = gs_path['imgtech']
+ elif arguments.intel:
+ final_gs_path = gs_path['intel']
+ elif arguments.marvell:
+ final_gs_path = gs_path['marvell']
+ else:
+ trackers = ['crosp', 'cr', 'misc']
+ if arguments.tracker not in trackers:
+ print('Error: invalid tracker name. Select %s' % trackers)
+ return 1
+ if not os.path.exists(arguments.logs_path):
+ print('Error: logs file %s is not available.' % arguments.logs_path)
+ return 1
+ logs_dir = arguments.tracker + '_' + arguments.bug_id
+ final_gs_path = gs_path['bugs'] + logs_dir + '/'
+
gsutilPath = os.popen('which gsutil').read().rstrip()
if not gsutilPath:
print('Error: gsutil not found.')
return 1
file_name = os.path.basename(arguments.logs_path)
if os.path.isfile(arguments.logs_path):
- os.popen('%s cp \'%s\' %s%s/%s' %
- (gsutilPath, arguments.logs_path, gs_path, logs_dir, file_name))
+ os.popen('%s cp \'%s\' %s%s' %
+ (gsutilPath, arguments.logs_path,
+ final_gs_path, file_name))
elif os.path.isdir(arguments.logs_path):
- os.popen('%s cp -R \'%s\' %s%s/' %
- (gsutilPath, arguments.logs_path, gs_path, logs_dir))
+ os.popen('%s cp -R \'%s\' %s' %
+ (gsutilPath, arguments.logs_path, final_gs_path))
else:
print('%s is neither a file nor a directory.' % arguments.logs_path)
return 1
- link = 'https://storage.cloud.google.com/chromiumos-test-logs/'
- print('Logs link: %s%s/%s' %
- (link, logs_dir, os.path.basename(arguments.logs_path)))
+ link = 'https://storage.cloud.google.com/' + final_gs_path[5:]
+ print('Logs link: %s%s' %
+ (link, os.path.basename(arguments.logs_path)))
if __name__ == '__main__':
main()