Merge "Allow upload-image-s3 role to export S3 URLS"
This commit is contained in:
@@ -82,3 +82,8 @@ zuul-launcher expects.
|
||||
:default: 600
|
||||
|
||||
The async timeout for md5/sha256 image hash tasks.
|
||||
|
||||
.. zuul:rolevar:: upload_image_s3_export_s3_url
|
||||
:default: false
|
||||
|
||||
Export the image location as s3:// URL.
|
||||
|
||||
@@ -5,3 +5,4 @@ upload_image_s3_name: '{{ zuul.build }}-{{ build_diskimage_image_name }}.{{ uplo
|
||||
upload_image_s3_extension: '{{ upload_image_s3_format }}'
|
||||
upload_image_s3_compress_image: true
|
||||
upload_image_s3_hash_timeout: 600
|
||||
upload_image_s3_export_s3_url: false
|
||||
|
||||
@@ -38,7 +38,7 @@ def prune(bucket, delete_after):
|
||||
|
||||
|
||||
def run(endpoint, bucket_name, aws_access_key, aws_secret_key,
|
||||
filename, name, delete_after=None):
|
||||
filename, name, delete_after=None, export_s3_url=False):
|
||||
endpoint = endpoint or 'https://s3.amazonaws.com/'
|
||||
s3 = boto3.resource('s3',
|
||||
endpoint_url=endpoint,
|
||||
@@ -50,7 +50,10 @@ def run(endpoint, bucket_name, aws_access_key, aws_secret_key,
|
||||
|
||||
bucket.upload_file(filename, name)
|
||||
|
||||
url = os.path.join(endpoint, bucket_name, name)
|
||||
if export_s3_url:
|
||||
url = os.path.join("s3://", bucket_name, name)
|
||||
else:
|
||||
url = os.path.join(endpoint, bucket_name, name)
|
||||
return url
|
||||
|
||||
|
||||
@@ -62,6 +65,7 @@ def ansible_main():
|
||||
filename=dict(required=True, type='path'),
|
||||
name=dict(required=True, type='str'),
|
||||
delete_after=dict(type='int'),
|
||||
export_s3_url=dict(type='bool', default=False),
|
||||
aws_access_key=dict(type='str'),
|
||||
aws_secret_key=dict(type='str', no_log=True),
|
||||
)
|
||||
@@ -78,6 +82,7 @@ def ansible_main():
|
||||
p.get('filename'),
|
||||
p.get('name'),
|
||||
delete_after=p.get('delete_after'),
|
||||
export_s3_url=p.get('export_s3_url'),
|
||||
)
|
||||
except Exception:
|
||||
s = "Error uploading to S3"
|
||||
@@ -110,6 +115,9 @@ def cli_main():
|
||||
'upload. Default is 3 days (259200 seconds) '
|
||||
'and if set to 0 X-Delete-After will not be set',
|
||||
type=int)
|
||||
parser.add_argument('--export-s3-url',
|
||||
help='Export the image location as s3:// URL',
|
||||
action='store_true')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
@@ -125,6 +133,7 @@ def cli_main():
|
||||
args.filename,
|
||||
args.name,
|
||||
delete_after=args.delete_after,
|
||||
export_s3_url=args.export_s3_url,
|
||||
)
|
||||
print(url)
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
filename: '{{ upload_image_s3_filename }}{{ zj_upload_image_s3_extension }}'
|
||||
name: '{{ upload_image_s3_name }}{{ zj_upload_image_s3_extension }}'
|
||||
delete_after: '{{ upload_image_s3_delete_after }}'
|
||||
export_s3_url: '{{ upload_image_s3_export_s3_url }}'
|
||||
register: upload_results
|
||||
|
||||
- name: Delete uncompressed image
|
||||
|
||||
Reference in New Issue
Block a user