Bug #20204
GET /hostgroup/:hostgroup_id/hosts returns all hosts when id of empty hostgroup is used
Description
This is an API issue, easily reproducible with hammer:
Issuing the following command while specifying a hostgroup with 0 hosts results in Hammer printing out all hosts known to Foreman regardless of their hostgroup membership:
hammer -u admin -p password --csv host list --hostgroup 'Fedora Rendernodes'
If we run hammer with a hostgroup that contains at least 1 host, then only the hosts associated with that hostgroup are printed (the expected behaviour). For example this works as expected since "Avere Mounts" is not an empty group:
hammer -u admin -p password --csv host list --hostgroup 'Avere Mounts'
Note that in this case, 'Avere Mounts' is inside 'Fedora Rendernodes': "Fedora Rendernodes/Avere Mounts", but the behaviour still happens with hostgroups that have no subgroups.
Expected results:
I think the correct behaviour should be to not print anything since the hostgroup we asked for is empty.
Additional notes:
This bug was introduced with fixing http://projects.theforeman.org/issues/13775/, namely it's this line: https://github.com/theforeman/foreman/commit/8e81effcedafc539cbe3477b5565d9239f1f2f51#diff-6e62e9d287766aaa9c3d35e6dc3470a1R375
Related issues
Associated revisions
History
#1
Updated by Tomáš Strachota over 3 years ago
- Project changed from Hammer CLI to Foreman
- Subject changed from Using --hostgroup on empty hostgroup prints all hosts known to Foreman to GET /hostgroup/:hostgroup_id/hosts returns all hosts when id of empty hostgroup is used
- Description updated (diff)
- Category changed from Host groups to API
This is an API problem, I'm switching the project and category.
#2
Updated by Tomáš Strachota over 3 years ago
- Related to Bug #13775: Not able to change an HG for a host using API call added
#3
Updated by Kavita Gaikwad over 3 years ago
- Assignee set to Kavita Gaikwad
- Target version set to 1.15.6
#4
Updated by Tomáš Strachota over 3 years ago
- Has duplicate Bug #21369: Hammer host list shows all hosts if environment is empty added
#5
Updated by Tomáš Strachota over 3 years ago
Please note that filtering by environments is affected too and
hammer host list --environment=empty
prints all hosts as well.
See the linked duplicate issue for more details.
#6
Updated by Kavita Gaikwad about 3 years ago
- Target version changed from 1.15.6 to 230
#7
Updated by The Foreman Bot about 3 years ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman/pull/4983 added
#8
Updated by Kavita Gaikwad about 3 years ago
- % Done changed from 0 to 100
- Status changed from Ready For Testing to Closed
Applied in changeset f4d64312cc81b154c7c2d8784ec85bf554537180.
#9
Updated by Marek Hulán about 3 years ago
- Legacy Backlogs Release (now unused) set to 296
Fixes #20204 - returns all hosts for unassigned hostgroup