Skip to content

Commit

Permalink
Add rhcos file metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
thegreyd committed Jul 31, 2023
1 parent 464f76c commit ace91f6
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 3 deletions.
21 changes: 18 additions & 3 deletions elliottlib/cli/find_builds_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import elliottlib
from elliottlib import Runtime, brew, constants, logutil, errata
from elliottlib import exectools
from elliottlib import exectools, util
from elliottlib.assembly import assembly_metadata_config, assembly_rhcos_config
from elliottlib.build_finder import BuildFinder
from elliottlib.cli.common import (cli, find_default_advisory,
Expand Down Expand Up @@ -247,11 +247,26 @@ async def find_builds_cli(runtime: Runtime, advisory_id, default_advisory_type,
else: # attach
erratum.attach_builds(unshipped_builds, 'image' if kind == 'rhcos' else kind)
cdn_repos = et_data.get('cdn_repos')
if kind == "image" and cdn_repos and not no_cdn_repos:
if kind == 'image' and cdn_repos and not no_cdn_repos:
erratum.set_cdn_repos(cdn_repos)

if kind == 'rhcos':
errata.get_file_meta(advisory_id)
file_meta = errata.get_file_meta(advisory_id)
runtime.logger.info('Setting rhcos file metadata..')
rhcos_file_meta = []
for f in file_meta:
# path is something like `/mnt/redhat/brewroot/packages/rhcos-x86_64/413.92.202307260246/0/images
# /coreos-assembler-git.tar.gz`
if 'rhcos' in f['path']:
arch = None
for a in util.brew_arches:
if a in f['path']:
arch = a
break
title = f'RHCOS Image metadata ({arch})'
rhcos_file_meta.append({'file': f['id'], 'title': title})
if rhcos_file_meta:
errata.put_file_meta(advisory_id, rhcos_file_meta)

except ErrataException as e:
red_print(f'Cannot change advisory {advisory_id}: {e}')
Expand Down
4 changes: 4 additions & 0 deletions elliottlib/errata.py
Original file line number Diff line number Diff line change
Expand Up @@ -821,3 +821,7 @@ def remove_dependent_advisories(advisory_id):

def get_file_meta(advisory_id):
return ErrataConnector()._get(f'/api/v1/erratum/{advisory_id}/filemeta')

def put_file_meta(advisory_id, file_meta):
return ErrataConnector()._put(f'/api/v1/erratum/{advisory_id}/filemeta',
data=file_meta)

0 comments on commit ace91f6

Please sign in to comment.