Bug 1113773 - Publishing a CV containing only (a single?) puppet module(s) fails with undefined method `pulp_id' for nil:NilClass
Summary: Publishing a CV containing only (a single?) puppet module(s) fails with undef...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Content Management
Version: 6.0.3
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: Unspecified
Assignee: Brad Buckingham
QA Contact: Corey Welton
URL: http://projects.theforeman.org/issues...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-26 21:54 UTC by Corey Welton
Modified: 2019-09-25 20:48 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-11 12:29:36 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 6422 0 Normal Closed Publishing a CV containing only (a single?) puppet module(s) fails with undefined method `pulp_id' for nil:NilClass 2020-10-02 11:00:01 UTC

Description Corey Welton 2014-06-26 21:54:03 UTC
Description of problem:

Trying to create/publish a CV containing one (or possibly more) puppet modules fails with error above.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.  Create a product and associated repo.  Sync puppetforge.
2.  Create a CV containing one module, some version of 'motd' from aforementioned repo.
3.  Attempt to publish CV

Actual results:
undefined method `pulp_id' for nil:NilClass

trace:

NoMethodError: undefined method `pulp_id' for nil:NilClass
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view_puppet_environment/clone_content.rb:34:in `plan_copy'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view_puppet_environment/clone_content.rb:23:in `block (2 levels) in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view_puppet_environment/clone_content.rb:20:in `each_pair'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view_puppet_environment/clone_content.rb:20:in `block in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:311:in `concurrence'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view_puppet_environment/clone_content.rb:19:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:394:in `block (3 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:29:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/middleware/keep_locale.rb:20:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:393:in `block (2 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:311:in `concurrence'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:392:in `block in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `block in with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:391:in `execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:226:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/plan_step.rb:54:in `block in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/abstract.rb:152:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/abstract.rb:152:in `with_meta_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/plan_step.rb:53:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:339:in `plan_action'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view_puppet_environment/create_for_version.rb:29:in `block in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:316:in `sequence'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view_puppet_environment/create_for_version.rb:27:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:394:in `block (3 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:29:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/middleware/keep_locale.rb:20:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:393:in `block (2 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:311:in `concurrence'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:392:in `block in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `block in with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:391:in `execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:226:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/plan_step.rb:54:in `block in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/abstract.rb:152:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/abstract.rb:152:in `with_meta_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/plan_step.rb:53:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:339:in `plan_action'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view/publish.rb:38:in `block (3 levels) in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:316:in `sequence'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view/publish.rb:37:in `block (2 levels) in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:311:in `concurrence'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view/publish.rb:29:in `block in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:316:in `sequence'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/content_view/publish.rb:27:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:394:in `block (3 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:29:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/middleware/keep_locale.rb:20:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:393:in `block (2 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:311:in `concurrence'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:392:in `block in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `block in with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:361:in `with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:391:in `execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/action.rb:226:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/plan_step.rb:54:in `block in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/abstract.rb:152:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/abstract.rb:152:in `with_meta_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan/steps/plan_step.rb:53:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:154:in `block (3 levels) in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:222:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:212:in `with_planning_scope'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:153:in `block (2 levels) in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:37:in `plan_phase'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware.rb:37:in `plan_phase'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:152:in `block in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in `transaction'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/transaction_adapters/active_record.rb:5:in `transaction'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/execution_plan.rb:151:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/world.rb:113:in `block in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/world.rb:111:in `tap'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/world.rb:111:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.1/lib/dynflow/world.rb:92:in `trigger'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.3/lib/foreman_tasks.rb:16:in `trigger'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.3/lib/foreman_tasks.rb:22:in `trigger_task'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.3/lib/foreman_tasks.rb:34:in `async_task'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.3/lib/foreman_tasks/triggers.rb:18:in `async_task'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/controllers/katello/api/v2/content_views_controller.rb:85:in `publish'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:167:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rendering.rb:10:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:549:in `block (3 levels) in _run__3185538974680517521__process_action__1543314790701426448__callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_9917'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:326:in `around'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:310:in `_callback_around_3183'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_9917'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:471:in `block (2 levels) in _run__3185538974680517521__process_action__1543314790701426448__callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_9916'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:33:in `clear_thread'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_9916'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:415:in `block in _run__3185538974680517521__process_action__1543314790701426448__callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_9915'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:326:in `around'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:310:in `_callback_around_13'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_9915'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:414:in `_run__3185538974680517521__process_action__1543314790701426448__callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:17:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rescue.rb:29:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `block in instrument'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `instrument'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/controllers/katello/api/api_controller.rb:109:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:121:in `process'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:45:in `process'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:203:in `dispatch'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:246:in `block in action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:36:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/mapper.rb:42:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:600:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/engine.rb:479:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:600:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/apipie-rails-0.1.2/lib/apipie/static_dispatcher.rb:65:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/apipie-rails-0.1.2/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/etag.rb:23:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/conditionalget.rb:35:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/head.rb:14:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
/usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:9:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/flash.rb:242:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/cookies.rb:339:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/query_cache.rb:64:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `_run__3514141615354900582__call__3565543573061554636__callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/lib/katello/middleware/silenced_logger.rb:30:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/request_id.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in `invalidate'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in `call!'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/engine.rb:479:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/application.rb:223:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/builder.rb:134:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/urlmap.rb:64:in `block in call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/urlmap.rb:49:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/urlmap.rb:49:in `call'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/rack/thread_handler_extension.rb:77:in `process_request'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:140:in `accept_and_process_next_request'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:108:in `main_loop'
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler.rb:441:in `block (3 levels) in start_threads'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
Completed 500 Internal Server Error in 2762ms (Views: 0.4ms | ActiveRecord: 601.8ms)

Expected results:

Can publish CV containg puppet module 

Additional info:

Comment 2 Justin Sherrill 2014-06-26 22:22:35 UTC
Debugging this it appears as though katello was trying to lookup the module by its repo pulp id 'ACME_Corporation-Puppetlabs-forge', however there is no repo with that id, but there is one with ACME_Corporation-puppetlabs-forge.

Looking at pulp, its saying that the module exists in two repos:

irb(main):023:0> Katello::PuppetModule.find('1bdec17e-e0b5-483e-8cbd-d2d999986c42').repoids
=> ["ACME_Corporation-Puppetlabs-forge", "ACME_Corporation-puppetlabs-forge"]


Will poke around some more

Comment 3 Justin Sherrill 2014-06-26 22:28:29 UTC
I'm seeing these four repos within pulp that are not within katello:

["ACME_Corporation-Puppetlabs-forge", "ACME_Corporation-capsule_stuff-1", "ACME_Corporation-Library-capsule_stuff", "ACME_Corporation-RHEL6-1", "ACME_Corporation-Library-RHEL6"]

I'm curious if maybe you:

a) ran katello-installer --reset after creating a few repos
b) created a product and some repos and deleted them somehow?


We can add some code changes to make the determination of the repo that the module is in more resilient, but i'm not entirely sure this is a priority if there was some other circumstance that got you in this situation (depending on what that was)

Comment 4 Corey Welton 2014-06-27 04:12:55 UTC
a) ran katello-installer --reset after creating a few repos

no

b) created a product and some repos and deleted them somehow?

I don't recall but I don't think so. It is a fresh install.

Comment 5 Corey Welton 2014-06-27 04:27:22 UTC
Now that I think about it, I did have two puppet products (Puppetlabs vs puppetlabs) and deleted one.  However, I deleted no other products or repos that I can recall?

I believe we're in a pretty bad state if I can no longer promote puppet CVs for any reason.  This once again breaks user stories and/or requires me to wipe DB and start afresh in order to even attempt to publish/promote.

Comment 6 Justin Sherrill 2014-06-27 12:51:47 UTC
Ahh, i think i know the cause now.  A couple of causes:

a) after deleting a repo, the puppet modules-repo association didn't get removed from elasticsearch
b) We don't verify pulp repoids in elasticsearch as part of calculating where to copy puppet modules from.

Comment 7 Justin Sherrill 2014-06-27 13:13:07 UTC
But that doesn't really explain why the repos still existed in pulp!  Will do some testing.

Comment 8 Corey Welton 2014-06-27 16:27:42 UTC
Possibly related to the bulk actions issue... see also https://bugzilla.redhat.com/show_bug.cgi?id=1113684

Comment 9 Justin Sherrill 2014-06-27 16:32:23 UTC
Created redmine issue http://projects.theforeman.org/issues/6422 from this bug

Comment 10 Brad Buckingham 2014-08-04 18:59:43 UTC
After brief debugging/investigation, it appears that this one has already been addressed with the following Katello PR:

https://github.com/Katello/katello/pull/4361

The fix is available in current builds; therefore, going to move to ON_QA.

Comment 11 Corey Welton 2014-08-04 21:43:45 UTC
Verified in Satellite-6.0.4-RHEL-6-20140730.0

Comment 13 Bryan Kearney 2014-09-11 12:29:36 UTC
This was delivered with Satellite 6.0 which was released on 10 September 2014.


Note You need to log in before you can comment on or make changes to this bug.