Skip to content

beetmover doesn't skip GCS uploads when it claims to #676

@bhearsum

Description

@bhearsum

set_gcs_client has a number of error conditions that result in an early return, and context.gcs_client being unset. The messages given claim that GCS uploads will be skipped, but instead it continues on and ends up failing. For example:

2023-02-23 01:22:56,468 - beetmoverscript.gcloud - WARNING - GCS bucket <Bucket: mozilla-releng-dep-partner> doesn't exist. Skipping GCS uploads.
2023-02-23 01:22:56,470 - beetmoverscript.task - DEBUG - Loading release_props from task's payload: {'appName': 'Firefox', 'appVersion': '112.0', 'branch': 'try', 'buildid': '20230222192533', 'hashType': 'sha512', 'platform': 'linux'}
2023-02-23 01:22:56,470 - beetmoverscript.task - INFO - Action types: ['push-to-partner']
<snip>
2023-02-23 01:22:56,716 - beetmoverscript.task - DEBUG - Loading release_props from task's payload: {'appName': 'Firefox', 'appVersion': '112.0', 'branch': 'try', 'buildid': '20230222192533', 'hashType': 'sha512', 'platform': 'linux'}
2023-02-23 01:22:59,227 - beetmoverscript.script - INFO - put /app/workdir/cot/XMhpfS5_T4aYb2qrypIxyQ/releng/partner/test/test-002/win32/he/target.installer.exe: 200
2023-02-23 01:22:59,228 - charset_normalizer - DEBUG - Encoding detection on empty bytes, assuming utf_8 intention.
2023-02-23 01:22:59,413 - beetmoverscript.script - INFO - put /app/workdir/cot/XMhpfS5_T4aYb2qrypIxyQ/releng/partner/test/test-002/win64/en-CA/target.installer.exe: 200
2023-02-23 01:22:59,413 - charset_normalizer - DEBUG - Encoding detection on empty bytes, assuming utf_8 intention.
2023-02-23 01:22:59,432 - beetmoverscript.script - INFO - put /app/workdir/cot/XMhpfS5_T4aYb2qrypIxyQ/releng/partner/test/test-002/win64/he/target.installer.exe: 200
2023-02-23 01:22:59,432 - charset_normalizer - DEBUG - Encoding detection on empty bytes, assuming utf_8 intention.
2023-02-23 01:22:59,466 - beetmoverscript.script - INFO - put /app/workdir/cot/XMhpfS5_T4aYb2qrypIxyQ/releng/partner/test/test-002/win32/en-CA/target.installer.exe: 200
2023-02-23 01:22:59,466 - charset_normalizer - DEBUG - Encoding detection on empty bytes, assuming utf_8 intention.
Traceback (most recent call last):
  File "/app/bin/beetmoverscript", line 8, in <module>
    sys.exit(main())
  File "/app/lib/python3.9/site-packages/beetmoverscript/script.py", line 683, in main
    client.sync_main(async_main, config_path=config_path, default_config=default_config, should_validate_task=False)
  File "/app/lib/python3.9/site-packages/scriptworker/client.py", line 166, in sync_main
    loop.run_until_complete(_handle_asyncio_loop(async_main, context))
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/app/lib/python3.9/site-packages/scriptworker/client.py", line 205, in _handle_asyncio_loop
    await async_main(context)
  File "/app/lib/python3.9/site-packages/beetmoverscript/script.py", line 335, in async_main
    await action_map[context.action](context)
  File "/app/lib/python3.9/site-packages/beetmoverscript/script.py", line 168, in push_to_partner
    await move_partner_beets(context, mapping_manifest)
  File "/app/lib/python3.9/site-packages/beetmoverscript/script.py", line 485, in move_partner_beets
    await await_and_raise_uploads(cloud_uploads, context.config["clouds"], context.bucket)
  File "/app/lib/python3.9/site-packages/beetmoverscript/utils.py", line 333, in await_and_raise_uploads
    await raise_future_exceptions(cloud_uploads[cloud])
  File "/app/lib/python3.9/site-packages/scriptworker/utils.py", line 409, in raise_future_exceptions
    succeeded_results, _ = await _process_future_exceptions(tasks, raise_at_first_error=True)
  File "/app/lib/python3.9/site-packages/scriptworker/utils.py", line 443, in _process_future_exceptions
    raise exc
  File "/app/lib/python3.9/site-packages/beetmoverscript/gcloud.py", line 92, in upload_to_gcs
    bucket = Bucket(context.gcs_client, name=bucket_name)
AttributeError: 'Context' object has no attribute 'gcs_client'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions