Bug 1812019 - OperatorHub filtering keyword limits
Summary: OperatorHub filtering keyword limits
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: OLM
Version: 4.4
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 4.5.0
Assignee: Evan Cordell
QA Contact: yhui
URL:
Whiteboard:
Depends On:
Blocks: 1821274
TreeView+ depends on / blocked
 
Reported: 2020-03-10 11:51 UTC by Irina Gulina
Modified: 2020-07-13 17:19 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1821274 1840786 (view as bug list)
Environment:
Last Closed: 2020-07-13 17:19:21 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
vm No Results filter (49.30 KB, image/png)
2020-03-10 11:54 UTC, Irina Gulina
no flags Details
Screenshot of keyword vm search (169.39 KB, image/png)
2020-05-21 15:08 UTC, yhui
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github operator-framework operator-lifecycle-manager pull 1520 0 None closed Bug 1812019: PackageManifests should include Keywords 2021-01-06 05:01:44 UTC

Description Irina Gulina 2020-03-10 11:51:30 UTC
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

Comment 2 Irina Gulina 2020-03-10 11:54:42 UTC
Created attachment 1668944 [details]
vm No Results filter

Comment 8 Cyril 2020-04-13 13:38:20 UTC
Completed the steps to load CNV 2.3 content in OperatorHub
Need more info on how to reproduce this bug

Comment 9 Irina Gulina 2020-04-16 08:56:00 UTC
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

Comment 10 Samuel Padgett 2020-04-20 17:22:13 UTC
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.

Comment 11 Cyril 2020-04-20 17:48:41 UTC
vm doesn't appear in the Container-native Virtualization description

Comment 13 Samuel Padgett 2020-04-20 18:58:25 UTC
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.)

Comment 14 Fabian Deutsch 2020-04-20 19:01:47 UTC
Does that mean that the keywords defined in the package manifest are not considered when searching in the UI?

Comment 15 Samuel Padgett 2020-04-20 19:04:13 UTC
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

Comment 16 Fabian Deutsch 2020-04-21 13:28:00 UTC
Oren, do you know why this can be?

Comment 17 Oren Cohen 2020-04-21 13:54:31 UTC
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.

Comment 20 yhui 2020-05-21 15:04:50 UTC
[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.

Comment 21 yhui 2020-05-21 15:08:36 UTC
Created attachment 1690675 [details]
Screenshot of keyword vm search

Comment 22 yhui 2020-05-21 15:15:37 UTC
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.

Comment 23 bpeterse 2020-05-22 15:19:49 UTC
Bumping target to 4.6, this bug is not severe enough to block 4.5.

Comment 27 yhui 2020-05-28 06:48:37 UTC
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.

Comment 29 errata-xmlrpc 2020-07-13 17:19:21 UTC
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


Note You need to log in before you can comment on or make changes to this bug.