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