Bug #15174
closedhammer ignores location-id if organization-id is specified
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1337947
Description of problem:
Hammer does not check all parameters if multiple filters are supplied, e.g. supplying both organization-id and location-id then the location-id is ignored. There is also no error that both are mutual exclusive.
See below a test that location-id is completly ignored, even the validation check of the id is not done:
[crash] root@li-lc-1578:~# hammer -d -c/opt/hoici/etc/sat6/hammer-hoici.yaml environment list --organization-id=3 --location-id=999999 [ INFO 2016-05-20 14:01:43 Init] Initialization of Hammer CLI (0.5.1.5) has started... [DEBUG 2016-05-20 14:01:43 Init] Running at ruby 2.2.2-p95 [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli_config.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/csv.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_bootdisk.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_discovery.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_docker.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_remote_execution.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_tasks.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/gutterball.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/import.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /etc/hammer/cli.modules.d/katello.yml has been loaded [ INFO 2016-05-20 14:01:43 Init] Configuration from the file /opt/hoici/etc/sat6/hammer-hoici.yaml has been loaded [DEBUG 2016-05-20 14:01:43 Connection] Registered: foreman [DEBUG 2016-05-20 14:01:43 API] Global headers: { :content_type => "application/json", :accept => "application/json;version=2", "Accept-Language" => "en" } [ INFO 2016-05-20 14:01:44 Modules] Extension module hammer_cli_foreman (0.5.1.4) loaded [ INFO 2016-05-20 14:01:44 Modules] Extension module hammer_cli_foreman_bootdisk (0.1.3) loaded [ INFO 2016-05-20 14:01:44 Modules] Extension module hammer_cli_foreman_discovery (0.0.2.1) loaded [ WARN 2016-05-20 14:01:44 HammerCLIForemanRemoteExecution::JobInvocation] Resource 'job_invocations' does not exist in the API [ WARN 2016-05-20 14:01:44 HammerCLIForemanRemoteExecution::JobTemplate] Resource 'job_templates' does not exist in the API [ WARN 2016-05-20 14:01:44 HammerCLIForemanRemoteExecution::TemplateInput] Resource 'template_inputs' does not exist in the API [ WARN 2016-05-20 14:01:44 HammerCLIForemanRemoteExecution::ForeignInputSet] Resource 'foreign_input_sets' does not exist in the API [ WARN 2016-05-20 14:01:44 HammerCLIForemanRemoteExecution::RemoteExecutionFeature] Resource 'remote_execution_features' does not exist in the API [ INFO 2016-05-20 14:01:44 HammerCLI::MainCommand] subcommand organization (HammerCLIForeman::Organization) was removed. [ INFO 2016-05-20 14:01:44 HammerCLI::MainCommand] subcommand organization (HammerCLIKatello::Organization) was created. [ INFO 2016-05-20 14:01:45 Modules] Extension module hammer_cli_gutterball (1.0.1) loaded [ INFO 2016-05-20 14:01:45 Modules] Extension module hammer_cli_import (0.10.23) loaded [ INFO 2016-05-20 14:01:45 Modules] Extension module hammer_cli_katello (0.0.22.6) loaded [DEBUG 2016-05-20 14:01:45 Init] Using locale 'en' [DEBUG 2016-05-20 14:01:45 Init] 'mo' files for locale domain 'hammer-cli' loaded from '/opt/theforeman/tfm/root/usr/share/gems/gems/hammer_cli-0.5.1.5/locale' [DEBUG 2016-05-20 14:01:45 Init] 'mo' files for locale domain 'hammer-cli-foreman' loaded from '/opt/theforeman/tfm/root/usr/share/gems/gems/hammer_cli_foreman-0.5.1.4/locale' [DEBUG 2016-05-20 14:01:45 Init] 'mo' files for locale domain 'hammer_cli_foreman_docker' loaded from '/opt/theforeman/tfm/root/usr/share/gems/gems/hammer_cli_foreman_docker-0.0.4/locale' [DEBUG 2016-05-20 14:01:45 Init] 'mo' files for locale domain 'hammer-cli-katello' loaded from '/opt/theforeman/tfm/root/usr/share/gems/gems/hammer_cli_katello-0.0.22.6/locale' [ INFO 2016-05-20 14:01:45 HammerCLI::MainCommand] Called with options: {"option_debug"=>true, "option_config"=>"/opt/hoici/etc/sat6/hammer-hoici.yaml"} [ INFO 2016-05-20 14:01:45 HammerCLIForeman::Environment] Called with options: {} [ INFO 2016-05-20 14:01:45 HammerCLIForeman::Environment::ListCommand] Called with options: {"option_location_id"=>999999, "option_organization_id"=>3} [ INFO 2016-05-20 14:01:45 API] GET /api/locations/999999/environments [DEBUG 2016-05-20 14:01:45 API] Params: { "organization_id" => 3, "page" => 1, "per_page" => 1000 } [DEBUG 2016-05-20 14:01:45 API] Headers: { :params => { "organization_id" => 3, "page" => 1, "per_page" => 1000 } } [DEBUG 2016-05-20 14:01:46 API] Response: { "total" => 15, "subtotal" => 15, "page" => 1, "per_page" => 1000, "search" => nil, "sort" => { "by" => nil, "order" => nil }, "results" => [ [ 0] { "created_at" => "2016-05-19 20:16:27 UTC", "updated_at" => "2016-05-19 20:16:27 UTC", "name" => "KT_Hilti_Library_hg_crash_57", "id" => 29 }, .... :status => "200 OK", :vary => "Accept-Encoding", :content_encoding => "gzip", :content_length => "510", :content_type => "application/json; charset=utf-8" }
---|--------------------------------------------------- ID | NAME ---|--------------------------------------------------- 29 | KT_Hilti_Library_hg_crash_57 ... 1 | production ---|---------------------------------------------------
Version-Release number of selected component (if applicable):
How reproducible:
Steps to Reproduce:
1. Run hammer with both organization-id and location-id=999999
2.
3.
Actual results:
No errors, results for the whole organization returned
Expected results:
- Results that match both organization-id and location-id are returned
- Location-id is checked on validation
Additional info:
Updated by The Foreman Bot over 8 years ago
- Status changed from New to Ready For Testing
- Assignee set to Ivan Necas
- Pull request https://github.com/theforeman/foreman/pull/3549 added
Updated by Ivan Necas over 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset 3e05c127986cca0d3b53341a93e16d0c55d0840e.
Updated by Dominic Cleal over 8 years ago
- Translation missing: en.field_release set to 159