Project

Profile

Help

Issue #2504

closed

errata applicability fails if errata packagelist doesn't exist

Added by jsherril@redhat.com over 7 years ago. Updated almost 4 years ago.

Status:
CLOSED - WORKSFORME
Priority:
High
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
3. High
Version:
2.10.0
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 13
Quarter:

Description

If you sync a repo with an errata that does not have a package list such as this one here:

https://github.com/Katello/runcible/blob/master/test/fixtures/repositories/zoo5/updateinfo.xml#L3-L9

and then try to generate applicability for a consumer, you will get an error:

"traceback"=>"Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 488, in __call__
    return super(Task, self).__call__(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 103, in __call__
    return super(PulpTask, self).__call__(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 437, in __protected_call__
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/managers/consumer/applicability.py", line 107, in regenerate_applicability_for_consumers
    manager.regenerate_applicability(profile_hash, content_type, profile_id, repo_id)
  File "/usr/lib/python2.7/site-packages/pulp/server/managers/consumer/applicability.py", line 257, in regenerate_applicability
    profiler_conduit)
  File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/profilers/yum.py", line 65, in calculate_applicable_units
    bound_repo_id, config, conduit)}
  File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/profilers/yum.py", line 212, in _calculate_applicable_units
    unit, profile_lookup_table, available_rpm_nevras)
  File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/profilers/yum.py", line 314, in _is_errata_applicable
    errata_rpms = YumProfiler._get_rpms_from_errata(errata)
  File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/profilers/yum.py", line 292, in _get_rpms_from_errata
    for pkgs in errata.metadata['pkglist']:
TypeError: 'NoneType' object is not iterable

This used to work (on at least 2.8.7), but no longer does on 2.9.3 an newer.

Also available in: Atom PDF