# demand.
suite_verify_ceph_hash: True
+ # The rsync destination to upload the job results, when --upload is
+ # is provided to teuthology-suite.
+ #
+ archive_upload: ubuntu@teuthology-logs.public.ceph.com:./
+
+ # The path to the SSH private key for rsync to upload to archive_upload
+ #
+ archive_upload_key: None
+
+ # The public facing URL of the archive_upload location
+ #
+ archive_upload_url: http://teuthology-logs.public.ceph.com/
+
# The OpenStack backend configuration, a dictionary interpreted as follows
#
openstack:
help='rsync destination to upload archives',
default='ubuntu@teuthology-logs.public.ceph.com:./',
)
+ parser.add_argument(
+ '--archive-upload-url',
+ help='Public facing URL where archives are uploaded',
+ default='http://teuthology-logs.public.ceph.com',
+ )
# copy/pasted from scripts/suite.py
parser.add_argument(
'config_yaml',
the keywords in the comma separated keyword
string specified.
--archive-upload RSYNC_DEST Rsync destination to upload archives.
+ --archive-upload-url URL Public facing URL where archives are uploaded.
--throttle SLEEP When scheduling, wait SLEEP seconds between jobs.
Useful to avoid bursts that may be too hard on
the underlying infrastructure or exceed OpenStack API
'archive_base': '/var/lib/teuthworker/archive',
'archive_upload': None,
'archive_upload_key': None,
+ 'archive_upload_url': None,
'automated_scheduling': False,
'reserve_machines': 5,
'ceph_git_base_url': 'https://github.com/ceph/',
while len(original_argv) > 0:
if original_argv[0] in ('--name',
'--archive-upload',
+ '--archive-upload-url',
'--key-name',
'--key-filename',
'--simultaneous-jobs',
del original_argv[0]
else:
argv.append(original_argv.pop(0))
+ #
+ # If --upload, provide --archive-upload{,-url} regardless of
+ # what was originally provided on the command line because the
+ # teuthology-openstack defaults are different from the
+ # teuthology-suite defaults.
+ #
+ if self.args.upload:
+ argv.extend(['--archive-upload', self.args.archive_upload,
+ '--archive-upload-url', self.args.archive_upload_url])
for arg in ('ceph_git_url', 'ceph_qa_suite_git_url'):
if getattr(self.args, arg):
command = (
'--filter-out', 'erasure-code',
'--throttle', '3',
]
+ archive_upload = 'user@archive:/tmp'
argv = (self.options +
['--upload',
- '--archive-upload', 'user@archive:/tmp'] +
+ '--archive-upload', archive_upload] +
teuthology_argv)
args = scripts.openstack.parse_args(argv)
+ teuthology_argv.extend([
+ '--archive-upload', archive_upload,
+ '--archive-upload-url', args.archive_upload_url,
+ ])
teuthology = TeuthologyOpenStack(args, None, argv)
teuthology.user_data = 'teuthology/openstack/test/user-data-test1.txt'
teuthology.teuthology_suite = 'echo --'
os.remove(base_yaml_path)
if not dry_run and args['--wait']:
return wait(name, config.max_job_time,
- None)
+ args['--archive-upload-url'])
WAIT_MAX_JOB_TIME = 30 * 60
WAIT_PAUSE = 5 * 60