Red Hat Bugzilla – Bug 874660
Hosts from another data center displayed when clicked on "Hosts" in tree view for cluster names with a single difference.
Last modified: 2016-02-10 14:40:01 EST
Description of problem:
I have 2 clusters in separate data centers named as "RHEL-H_Cluster" and "RHEL-H-Cluster" (observe the difference that one has a "-" and the other has a "_"), however, from the tree view when I click on the "Hosts" of "RHEL-H_Cluster" I see hosts from "RHEL-H-Cluster" as well.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create a DataCenter1 and create a cluster named "RHEL-H_Cluster"
2. Add hosts to "RHEL-H_Cluster"
3. Create a DataCenter2 and create a cluster named "RHEL-H-Cluster"
4. Add hosts to "RHEL-H-Cluster"
5. In tree view, navigate to DataCenter1 | Clusters | RHEL-H_Cluster | Hosts.
6. Observe the hosts list on the right hand side.
Hosts from DataCenter2 are displayed as well.
Hosts from another datacenter should not be displayed.
Created attachment 640887 [details]
Screenshot of hosts from different datacenter getting displayed
Created attachment 640889 [details]
Moving to backend since it's probably a search issue.
Need to check if this is a global issue where the search ignores these characters when matching search, or just does not distinguish '-' and '_'
i'm pretty sure _ is a single character wildcard (like *).
sounds like we need either:
1. a parameter for search to not do a 'like', rather an equals ('=') in a search.
2. escape the _ when calling search from a tree.
i can only assume/hope we block '*' in entity names...
Created attachment 641269 [details]
Screenshot of VMs from tree view.
Additional info: See the same behaviour from the VMs node in tree view as well. VMs from another cluster in a different datacenter displayed.
Actually the _ in Postgres is treated as ? in regular expressions when using the LIKE operator
engine=# create table test (a varchar(20));
engine=# insert into test values ('123-456');
INSERT 0 1
engine=# insert into test values ('123_456');
INSERT 0 1
engine=# insert into test values ('123X456');
INSERT 0 1
engine=# select * from test ;
engine=# select * from test where a ilike '123_456';
Solution should be , replacing all '_' with '\_'
engine=# select * from test where a ilike '123\_456';
fixed in commit: d3de5c3
Not fully OK, please check for my comments and screenshots in zstream clone - https://bugzilla.redhat.com/show_bug.cgi?id=883850#c3. Same issues in 3.2.x.
Created attachment 688169 [details]
Pics showing that the reported scenario in the bug is OK now
Created attachment 688997 [details]
I can reproduce it even I tried to clean Firefox cache.
fixed in commit : a28f219
3.2 has been released