Bug 1124109

Summary: Can't delete a Content View
Product: Red Hat Satellite Reporter: Mike McCune <mmccune>
Component: Configuration ManagementAssignee: David Davis <daviddavis>
Status: CLOSED CURRENTRELEASE QA Contact: Corey Welton <cwelton>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.0.4CC: bbuckingham, cwelton, jmontleo, omaciel
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/6845
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-11 12:24:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1049399    

Description Mike McCune 2014-07-29 01:56:16 UTC
1) import RH Manifest
2) enable:

* "Red Hat Enterprise Virtualization Agents for RHEL 6 Client RPMs x86_64 6Client"
* "Red Hat Enterprise Virtualization Agents for RHEL 6 Client RPMs i386 6Client"
* "Red Hat Enterprise Virtualization Agents for RHEL 6 Client RPMs x86_64 6.5"

3) sync them all
4) create a Content View with all the above repos
5) publish a version of that view
6) Try to delete the top level Content View, go to confirm dialog to delete the version 1
7) Note error in Tasks list:

Action:

Actions::Katello::Foreman::ContentUpdate

Input:

{"environment_id"=>1,
 "content_view_id"=>2,
 "remote_user"=>"admin-4c601142",
 "locale"=>"en"}

Output:

{}

Exception:

NoMethodError: undefined method `puppet_env' for nil:NilClass

Backtrace:

/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/katello/foreman.rb:24:in `update_puppet_environment'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/lib/actions/katello/foreman/content_update.rb:32:in `finalize'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.2/lib/dynflow/action.rb:465:in `block (2 levels) in execute_finalize'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.2/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.2/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.2/lib/dynflow/middleware.rb:16:in `pass'

Full Trace:

https://gist.github.com/mccun934/90fbb2a3b38433d431dd

Comment 2 David Davis 2014-07-30 17:04:26 UTC
You can simply reproduce by having a content view with a repo that you remove from an environment.

1. Create a custom product with a custom repo. Can use a small repo like https://partha.fedorapeople.org/test-repos/zoo-lander/
2. Create a content view with the repository.
3. Publish the content view
4. Remove its version

Comment 3 Partha Aji 2014-07-30 17:05:21 UTC
Created redmine issue http://projects.theforeman.org/issues/6845 from this bug

Comment 4 David Davis 2014-07-30 17:23:56 UTC
https://github.com/Katello/katello/pull/4505

Comment 5 Bryan Kearney 2014-07-30 22:04:41 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/6845 has been closed
-------------
David Davis
Applied in changeset commit:katello|943f1efec9b82cfb9f43360cfd58ff71f16b3506.

Comment 8 Corey Welton 2014-08-12 18:37:05 UTC
Verified in Satellite-6.0.4-RHEL-6-20140806.0

Comment 9 Bryan Kearney 2014-09-11 12:24:37 UTC
This was delivered with Satellite 6.0 which was released on 10 September 2014.