Bug 1494585

Summary: API doc for discovery_rule have taxonomy optional but they seem to be required
Product: Red Hat Satellite Reporter: Jan Hutař <jhutar>
Component: Discovery PluginAssignee: Rahul Bajaj <rabajaj>
Status: CLOSED ERRATA QA Contact: Peter Ondrejka <pondrejk>
Severity: low Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: bbuckingham, ehelms, lzap, pcreech, rabajaj
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/21087
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-21 16:59:44 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:

Description Jan Hutař 2017-09-22 14:43:35 UTC
Description of problem:
API doc for discovery_rule says both "discovery_rule[location_ids]" and "discovery_rule[organization_ids]" are optional but they seem to be required


Version-Release number of selected component (if applicable):
satellite-6.3.0-18.0.beta.el7sat.noarch


How reproducible:
always


Steps to Reproduce:
1. Have host group with ID 1 which links to default org (id 1) and default
   loc (id 2)
2. Attempt to create discovery rule and use only required fields as per
   documentation
   $ curl -k -u <user>:<pass> -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' https://<fwdn>/api/v2/discovery_rules/ -d '{"discovery_rule":{"name":"MyDiscoveryRuleFromApi","search":"cpu_count=10","hostgroup_id":1}}'
{
  "error": {"id":null,"errors":{"organizations":["Host group organization Default Organization must also be associated to the discovery rule"],"locations":["Host group location Default Location must also be associated to the discovery rule"]},"full_messages":["Organizations Host group organization Default Organization must also be associated to the discovery rule","Locations Host group location Default Location must also be associated to the discovery rule"]}
}


Actual results:
Error above.


Expected results:
Either error should not be there, or documentation should say these two fields are required.


Additional info:
With both of these fields, it works
$ curl -k -u <user>:<pass> -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' https://<fqdn>/api/v2/discovery_rules/ -d '{"discovery_rule":{"name":"MyDiscoveryRuleFromApi","search":"cpu_count=10","hostgroup_id":1,"organization_ids":[1],"location_ids":[2]}}'
{"id":8,"name":"MyDiscoveryRuleFromApi","search":"cpu_count=10","hostgroup_id":1,"hostname":"","max_count":0,"priority":0,"enabled":true,"created_at":"2017-09-22T14:30:13.913Z","updated_at":"2017-09-22T14:30:13.913Z"}

Reported when working on bug 1381129

Comment 4 Satellite Program 2017-10-26 08:05:58 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/21087 has been resolved.

Comment 5 Peter Ondrejka 2017-12-05 09:08:36 UTC
Verified on Sat 6.3 snap 27, location and organization ids are now marked as required for creating a discovery rule.

Comment 6 Bryan Kearney 2018-02-21 16:59:44 UTC
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA.

For information on the advisory, and where to find the updated files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:0336