Skip to content

Commit 79f7f0f

Browse files
authored
server: fix issue while list ssh keypairs by keyword (#3916)
in 4.13, list sshkeypairs with keyword will ignore the search by name if name is specifed Fixes an issue in #3098 for example, (local) > list sshkeypairs name=wei keyword=wei filter=name { "count": 3, "sshkeypair": [ { "name": "wei3" }, { "name": "wei2" }, { "name": "wei" } ] } with this patch ,it gives correct result. (local) > list sshkeypairs name=wei keyword=wei filter=name { "count": 1, "sshkeypair": [ { "name": "wei" } ] }
1 parent e8d418c commit 79f7f0f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

server/src/main/java/com/cloud/server/ManagementServerImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3747,8 +3747,10 @@ public Pair<List<? extends SSHKeyPair>, Integer> listSSHKeyPairs(final ListSSHKe
37473747
}
37483748

37493749
if (keyword != null) {
3750-
sc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
3751-
sc.addOr("fingerprint", SearchCriteria.Op.LIKE, "%" + keyword + "%");
3750+
final SearchCriteria<SSHKeyPairVO> ssc = _sshKeyPairDao.createSearchCriteria();
3751+
ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
3752+
ssc.addOr("fingerprint", SearchCriteria.Op.LIKE, "%" + keyword + "%");
3753+
sc.addAnd("name", SearchCriteria.Op.SC, ssc);
37523754
}
37533755

37543756
final Pair<List<SSHKeyPairVO>, Integer> result = _sshKeyPairDao.searchAndCount(sc, searchFilter);

0 commit comments

Comments
 (0)