Bug #39379
closedIncremental update fails with undefined method version_href' for nil:NilClass, when multiple content views are assigned
Description
Description of problem:
The Incremental Update for Red Hat errata fails when hosts are subscribed to both:
Composite CV for RHEL content
Rolling CV
During the Incremental Update, Satellite incorrectly tries to create/update a version for the Rolling Content View, although rolling CVs do not support versioning and are unrelated to the selected Red Hat errata.
The operation fails with:
undefined method `version_href' for nil:NilClass
The failure appears in pulp3_repo_mapping, where a repository version object is expected but nil is returned for the rolling content view.
How reproducible:
100%
Is this issue a regression from an earlier version:
NA
Steps to Reproduce:
Steps to Reproduce:
Create two CV:
- Composite CV with Red Hat repositories
- Rolling CV (Custom repositories)
- Register a host subscribed to both CVs.
- Go to Content → Errata.
- Select a Red Hat erratum (example: RHBA-xxxx:xxxx).
- Choose Apply via Incremental Update.
- Start the operation.
Actual behavior:
Satellite attempts to process the Rolling Content View during Incremental Update and fails with:
2026-05-20T12:13:24 [I|bac|447fd528] Task {label: Actions::Katello::ContentView::IncrementalUpdates, id: 7206bc10-1935-4248-ad3b-3e65b82cb123, execution_plan_id: 3592e08c-0349-4565-bca5-92bbda35ea6e} state changed: stopped result: error
2026-05-20T12:13:24 [E|app|447fd528] NoMethodError: undefined method version_href' for nil:NilClass 447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:155:in block in pulp3_repo_mapping'
447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:152:in each' 447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:152:in pulp3_repo_mapping'
447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:83:in block (3 levels) in plan' 447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:81:in each'
447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:81:in block (2 levels) in plan' 447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/execution_plan.rb:389:in switch_flow'
447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/action.rb:436:in concurrence' 447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:80:in block in plan'
447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/execution_plan.rb:389:in switch_flow' 447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/action.rb:441:in sequence'
447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/katello/content_view_version/incremental_update.rb:68:in plan' 447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/action.rb:534:in block (3 levels) in execute_plan'
447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/middleware/stack.rb:28:in pass' 447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/middleware.rb:20:in pass'
447fd528 | /usr/share/gems/gems/katello-4.20.0.2/app/lib/actions/middleware/auto_publish_context.rb:5:in plan' 447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/middleware/stack.rb:24:in call'
447fd528 | /usr/share/gems/gems/dynflow-2.0.0/lib/dynflow/middleware/stack.rb:28:in `pass'
Expected behavior:
Satellite should only process the relevant Composite/Versioned Content View containing the affected Red Hat repositories and ignore Rolling Content Views during Incremental Update operations.
Business Impact / Additional info:
Customers using both Composite and Rolling Content Views cannot apply errata using Incremental Updates, blocking standard patch management workflows.
Updated by The Foreman Bot 19 days ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/Katello/katello/pull/11768 added
Updated by Anonymous 9 days ago
- Status changed from Ready For Testing to Closed
Applied in changeset katello|4d518c12afddcf1f8bc1d7819a409505a172a05e.