def _update_to_advisory(builds, kind, advisory, remove, clean): click.echo(f"Attaching to advisory {advisory}...") if kind not in {"rpm", "image"}: raise ValueError(f"{kind} should be one of 'rpm' or 'image'") try: erratum = Erratum(errata_id=advisory) file_type = 'tar' if kind == 'image' else 'rpm' product_version_set = {build.product_version for build in builds} for pv in product_version_set: erratum.addBuilds(buildlist=[ build.nvr for build in builds if build.product_version == pv ], release=pv, file_types={ build.nvr: [file_type] for build in builds }) erratum.commit() build_nvrs = sorted(build.nvr for build in builds) green_print('Attached build(s) successfully:') for b in build_nvrs: click.echo(' ' + b) return erratum except GSSError: exit_unauthenticated() except elliottlib.exceptions.BrewBuildException as ex: raise ElliottFatalError(f'Error attaching/removing builds: {str(ex)}')
def _attach_to_advisory(builds, kind, advisory): if kind is None: raise ElliottFatalError( 'Need to specify with --kind=image or --kind=rpm with packages: {}' .format(builds)) try: erratum = Erratum(errata_id=advisory) file_type = 'tar' if kind == 'image' else 'rpm' product_version_set = {build.product_version for build in builds} for pv in product_version_set: erratum.addBuilds(buildlist=[ build.nvr for build in builds if build.product_version == pv ], release=pv, file_types={ build.nvr: [file_type] for build in builds }) erratum.commit() build_nvrs = sorted(build.nvr for build in builds) green_print('Attached build(s) successfully:') for b in build_nvrs: click.echo(' ' + b) except GSSError: exit_unauthenticated() except elliottlib.exceptions.BrewBuildException as ex: raise ElliottFatalError('Error attaching builds: {}'.format( getattr(ex, 'message', repr(ex))))
elif args.errata_type == "RHSA": pass # Ensure bugs are in proper state (MODIFIED or VERIFIED) and that they have # the appropriate rhel-fast-datapath flag set. s = utilities.open_session() bz_bugs = utilities.get_bz_bugs(s, args.bugs) for bug in bz_bugs: if bug['status'] != 'MODIFIED' and bug['status'] != 'VERIFIED': utilities.update_bz(s, bug['id'], json={'status': 'MODIFIED'}) utilities.set_bz_flag(s, bug['id'], f'fast-datapath-rhel-{release[-1]}', '+') e = Erratum(product='Fast-Datapath', release=release, errata_type=args.errata_type, security_impact=args.security_impact, synopsis=synopsis, topic=topic, description=description, solution=solution, qe_email='*****@*****.**', qe_group='OVS QE', owner_email=args.owner_email, manager_email='*****@*****.**') e.addBugs(args.bugs) e.commit() e.addBuilds([args.build], release=f"RHEL-{release[-1]}-Fast-Datapath") print(e.url())