Description of problem: OperatorHub search/filter returns "No Results Match the Filter Criteria" for some keywords, e.g. - vm This keyword is present in the Operator CSV, see the next comment. Version-Release number of selected component (if applicable): 4.4.0-0.nightly-2020-03-04-085347 How reproducible: always Actual results: Screenshots attached
Created attachment 1668944 [details] vm No Results filter
Completed the steps to load CNV 2.3 content in OperatorHub Need more info on how to reproduce this bug
As per Comment #0, in OperatorHub enter 'vm' in a search bar to find "Container-native Virtualization". There will be: "No Results Match the Filter Criteria", however CSV file contains "vm" keyword
Console doesn't have access to the `keywords` field since it's not included in the PackageManifest resource (that I see). I believe we're filtering on the description, however. I would expect there to be a match anyway if vm appears in the description.
vm doesn't appear in the Container-native Virtualization description
Changing the component to OLM for consideration since console doesn't have a way to get keywords in the current PackageManifest API. (Let us know if we missed it.)
Does that mean that the keywords defined in the package manifest are not considered when searching in the UI?
Fabian, it means we're not seeing the keywords in the package manifest. Let us know if it's there and we missed it. $ oc get packagemanifests -o yaml | grep keywords | wc -l 0
Oren, do you know why this can be?
The "keywords" stanza appears on the CSV manifest, but on the packagemanifest. As Samuel mentioned, package manifests currently do not contain that field at all. OperatorHub searches in PackageManifest objects, therefore the operator's keywords are not visible to it. I believe that the API of communicating the keywords to package manifests should be handled on OLM side.
[root@preserve-olm-env operators-all-manifests]# oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.5.0-0.nightly-2020-05-19-041951 True False 29h Cluster version is 4.5.0-0.nightly-2020-05-19-041951 [root@preserve-olm-env operators-all-manifests]# oc exec catalog-operator-54d657bc7d-99cfh -n openshift-operator-lifecycle-manager -- olm --version OLM version: 0.15.0 git commit: 227f9dc3cc8c622f6349a16ce4bf90d80c9e5636 Step to test: 1. check whether the keywords have been added into packagemanifests. [root@preserve-olm-env operators-all-manifests]# oc get packagemanifests -o yaml | grep keywords | wc -l 384 [root@preserve-olm-env operators-all-manifests]# oc get packagemanifests -o yaml | grep keywords -A 2 keywords: - microsegmentation - firewall -- keywords: - namespace - user -- keywords: - ai - machine learning -- keywords: - redislabs - redis -- keywords: - data science - automation -- The keywords have been added to packagemanifests. 2. Search the keywords in the OperatorHub on the UI. For example, search the keywords: firewall, redis, descheduler and so on. They can be found in the OperatorHub. 3. Check the keyword VM [root@preserve-olm-env operators-all-manifests]# oc get packagemanifests -o yaml | grep keywords -A 5 |grep VM - VM There is keyword VM in the packagemanifest. But on the OperatorHub UI, there is no VM. It displays "No Results Match the Filter Criteria". Attached the screenshot. So I think the bug is not verified totally. Label it assigned.
Created attachment 1690675 [details] Screenshot of keyword vm search
Changing the component to Management Console for consideration since console doesn't display keyword vm although PackageManifest have included this keyword. And changing the assignee to cajieh. If any other problems, please let me know. Thanks.
Bumping target to 4.6, this bug is not severe enough to block 4.5.
Based on the comment 23 and comment 24, only test the packagemanifests, no console. [root@preserve-olm-env ~]# oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.5.0-0.nightly-2020-05-27-220943 True False 5h3m Cluster version is 4.5.0-0.nightly-2020-05-27-220943 [root@preserve-olm-env ~]# oc exec catalog-operator-7d74f974d6-59c4c -n openshift-operator-lifecycle-manager -- olm --version OLM version: 0.15.1 git commit: 374016f7b142488d6a438d9fa52a56b4b7a44475 1. check whether the keywords have been added into packagemanifests. [root@preserve-olm-env ~]# oc get packagemanifests -o yaml | grep keywords | wc -l 401 [root@preserve-olm-env ~]# oc get packagemanifests -o yaml | grep keywords -A 2 keywords: - mainframe links: -- keywords: - 3scale - API -- keywords: - hazelcast - jet -- keywords: - ldap - virtualdirectory -- keywords: - case_management - support -- keywords: - kafka - messaging -- keywords: - kubernetes - openshift -- keywords: - messaging - queue -- keywords: - Datadog - Monitoring -- keywords: - numa - realtime The keywords have been added to packagemanifests. 2. Check the keyword VM [root@preserve-olm-env ~]# oc get packagemanifests -o yaml | grep keywords -A 5 |grep VM - VM Since there is another bug https://bugzilla.redhat.com/show_bug.cgi?id=1840786 to track the console issue, this bug (only verify packagemanifests) can be verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:2409