Bug #7035
closedUnable to filter on classes (v1.5.2)
Description
Hi,
With Foreman version 1.5.2 I'm not able filtering the hostlist based on classes. Regardless of which class i try to filter with, Foreman returns all hosts as a result.
Example of filter: class = java
This query should return a few hosts but it returns all hosts.
I did some search and found an old bug (http://projects.theforeman.org/issues/4314). But I believe the cause isn't the same.
After I enabled debug mode. Here's the error I get when applying the class filter:
@ Host::Managed Load (0.3ms) SELECT `hosts`.* FROM `hosts` WHERE `hosts`.`type` IN ('Host::Managed') LIMIT 1
(0.5ms) SELECT id FROM `config_groups` INNER JOIN `config_group_classes` ON `config_group_classes`.`config_group_id` = `config_groups`.`id` INNER JOIN `puppetclasses` ON `puppetclasses`.`id` = `config_group_classes`.`puppetclass_id` WHERE (puppetclasses.name = BINARY 'java') ORDER BY config_groups.name
Mysql2::Error: Column 'id' in field list is ambiguous: SELECT id FROM `config_groups` INNER JOIN `config_group_classes` ON `config_group_classes`.`config_group_id` = `config_groups`.`id` INNER JOIN `puppetclasses` ON `puppetclasses`.`id` = `config_group_classes`.`puppetclass_id` WHERE (puppetclasses.name = BINARY 'java') ORDER BY config_groups.name
(0.2ms) SELECT COUNT() FROM `user_facts` WHERE `user_facts`.`user_id` = 2
Host::Managed Load (1.0ms) SELECT `hosts`. FROM `hosts` WHERE `hosts`.`type` IN ('Host::Managed') ORDER BY `hosts`.`name` ASC LIMIT 25 OFFSET 0
Hostgroup Load (0.5ms) SELECT `hostgroups`.* FROM `hostgroups` WHERE `hostgroups`.`id` IN (30, 20, 19, 16, 17, 12, 13, 10, 9, 6, 5, 27, 25, 24) ORDER BY hostgroups.title
Operatingsystem Load (0.3ms) SELECT `operatingsystems`.* FROM `operatingsystems` WHERE `operatingsystems`.`id` IN (5, 6, 1, 4) ORDER BY operatingsystems.name
@
The error states an ambiguous field 'id'. I modified the query by adding the tablename, but altough I got an empty result ... don't know whether there's another root cause of this problem.
Let me know if more information is needed.
Regards
Reto
Updated by The Foreman Bot over 10 years ago
- Status changed from New to Ready For Testing
- Target version set to 1.7.5
- Pull request https://github.com/theforeman/foreman/pull/1692 added
- Pull request deleted (
)
Updated by Dominic Cleal over 10 years ago
- Related to Bug #5848: Can't search for host with class inherited from config group added
Updated by Reto Vogel over 10 years ago
Thank you Dominic. I've just tested your fix and it works perfectly! Filtering on classes does work again like a charm.
Cheers
Updated by Anonymous over 10 years ago
- Target version changed from 1.7.5 to 1.7.4
Updated by Dominic Cleal over 10 years ago
- Has duplicate Bug #7185: search for host by included class name does not filter host results added
Updated by Glen Ogilvie over 10 years ago
tested patch on my system, as affected by this as well. Patch works
Updated by Dominic Cleal over 10 years ago
- Has duplicate Bug #7256: host filter - params seach not working added
Updated by Dominic Cleal over 10 years ago
- Has duplicate deleted (Bug #7256: host filter - params seach not working)
Updated by Dominic Cleal over 10 years ago
- Translation missing: en.field_release set to 20
Updated by Dominic Cleal over 10 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset f06b276b93f9ff47ca66174c606fee6fc2c64321.