Bug 1109138

Summary: 400 Bad request: while installing a package via bulk actions and without selecting system name
Product: Red Hat Satellite Reporter: Sachin Ghai <sghai>
Component: WebUIAssignee: Brad Buckingham <bbuckingham>
Status: CLOSED CURRENTRELEASE QA Contact: sthirugn <sthirugn>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0.3CC: bbuckingham, jmontleo, sthirugn
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/6510
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-11 12:29:55 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:
Attachments:
Description Flags
firebug raises NetworkError 400 bad request
none
Logs from production.log
none
Package actions disabled until a content host is selected none

Description Sachin Ghai 2014-06-13 10:20:56 UTC
Created attachment 908455 [details]
firebug raises NetworkError 400 bad request

Description of problem:
I was trying to install package on bulk systems and forgot to select the systems. when I clicked on "install" button, UI raised a notification:

"No systems have been specified." 

But got a long exception with 400 Bad request in production.log:

Processing by Katello::Api::V2::SystemsBulkActionsController#install_content as JSON
  Parameters: {"included"=>{"ids"=>[], "resources"=>[], "search"=>nil}, "excluded"=>{"ids"=>[]}, "content_type"=>"package", "content"=>["zsh"], "organization_id"=>"1", "api_version"=>"v2", "systems_bulk_action"=>{"included"=>{"ids"=>[], "resources"=>[], "search"=>nil}, "excluded"=>{"ids"=>[]}, "content_type"=>"package", "content"=>["zsh"], "organization_id"=>"1"}}
Katello::HttpErrors::BadRequest: No systems have been specified.
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/controllers/katello/api/v2/systems_bulk_actions_controller.rb:204:in `find_systems'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-1.5.0/app/controllers/katello/api/v2/systems_bulk_actions_controller.rb:179:in `find_editable_systems'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:553:in `block (3 levels) in _run__1808844839954401441__process_action__3644850479203537843__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_9991'
/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_2816'


Also, firebug raises NetworkError 400 Bad request

Version-Release number of selected component (if applicable):
sat6 beta snap9 compose2

How reproducible:
always

Steps to Reproduce:
1. install package via Bulk Actions but without selecting any content-host
2.
3.

Actual results:
firebug raises NetworkError 400 Bad request
production.log also throws exception with 400 Bad request

Expected results:
user should just get this error:
"No systems have been specified." 

firebug should not raise any error and no exception should be there in production.log

Additional info:

Comment 1 Sachin Ghai 2014-06-13 10:22:48 UTC
Created attachment 908459 [details]
Logs from production.log

Comment 2 RHEL Program Management 2014-06-13 10:35:08 UTC
Since this issue was entered in Red Hat Bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

Comment 4 Brad Buckingham 2014-07-07 13:42:16 UTC
Created redmine issue http://projects.theforeman.org/issues/6510 from this bug

Comment 5 Brad Buckingham 2014-07-07 13:46:44 UTC
Proposed fix in Katello PR:
   https://github.com/Katello/katello/pull/4391

Comment 7 sthirugn@redhat.com 2014-08-08 15:09:39 UTC
Verified.  Now the package actions are disabled until I select a content host (see screenshot)

Version Tested:
GA Snap 4 - Satellite-6.0.4-RHEL-6-20140806.0

* apr-util-ldap-1.3.9-3.el6_0.1.x86_64
* candlepin-0.9.19-1.el6_5.noarch
* candlepin-scl-1-5.el6_4.noarch
* candlepin-scl-quartz-2.1.5-5.el6_4.noarch
* candlepin-scl-rhino-1.7R3-1.el6_4.noarch
* candlepin-scl-runtime-1-5.el6_4.noarch
* candlepin-selinux-0.9.19-1.el6_5.noarch
* candlepin-tomcat6-0.9.19-1.el6_5.noarch
* elasticsearch-0.90.10-4.el6sat.noarch
* foreman-1.6.0.38-1.el6sat.noarch
* foreman-compute-1.6.0.38-1.el6sat.noarch
* foreman-gce-1.6.0.38-1.el6sat.noarch
* foreman-libvirt-1.6.0.38-1.el6sat.noarch
* foreman-ovirt-1.6.0.38-1.el6sat.noarch
* foreman-postgresql-1.6.0.38-1.el6sat.noarch
* foreman-proxy-1.6.0.23-1.el6sat.noarch
* foreman-selinux-1.6.0.4-1.el6sat.noarch
* foreman-vmware-1.6.0.38-1.el6sat.noarch
* katello-1.5.0-28.el6sat.noarch
* katello-ca-1.0-1.noarch
* katello-certs-tools-1.5.6-1.el6sat.noarch
* katello-installer-0.0.57-1.el6sat.noarch
* openldap-2.4.23-34.el6_5.1.x86_64
* pulp-katello-0.3-3.el6sat.noarch
* pulp-nodes-common-2.4.0-0.30.beta.el6sat.noarch
* pulp-nodes-parent-2.4.0-0.30.beta.el6sat.noarch
* pulp-puppet-plugins-2.4.0-0.30.beta.el6sat.noarch
* pulp-puppet-tools-2.4.0-0.30.beta.el6sat.noarch
* pulp-rpm-plugins-2.4.0-0.30.beta.el6sat.noarch
* pulp-selinux-2.4.0-0.30.beta.el6sat.noarch
* pulp-server-2.4.0-0.30.beta.el6sat.noarch
* python-ldap-2.3.10-1.el6.x86_64
* ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch
* ruby193-rubygem-runcible-1.1.0-2.el6sat.noarch
* sssd-ldap-1.11.5.1-3.el6.x86_64

Comment 8 sthirugn@redhat.com 2014-08-08 15:11:06 UTC
Created attachment 925213 [details]
Package actions disabled until a content host is selected

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