Bug 1796079

Summary: OLM Operators on the OperatorHub page should be filtered by GOOS and GOARCH (openshift-4.3)
Product: OpenShift Container Platform Reporter: bpeterse
Component: Management ConsoleAssignee: Jakub Hadvig <jhadvig>
Status: CLOSED ERRATA QA Contact: Yadan Pei <yapei>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.3.zCC: aos-bugs, jokerman, xiaocwan, yapei
Target Milestone: ---   
Target Release: 4.3.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1796078
: 1796080 (view as bug list) Environment:
Last Closed: 2020-06-23 20:58:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1804851    
Bug Blocks: 1796080    

Description bpeterse 2020-01-29 14:48:05 UTC
+++ This bug was initially created as a clone of Bug #1796078 +++

Description of problem:

Not all operators support all architectures.  Therefore, operators under OLM will have an annotation defining supported architectures. If the current architecture of the cluster is not listed in this annotation, the console should filter (hide) the operator from view.  

* The console backend needs to use golang's sys/runtime library to get the architecture of the cluster/pod
* The console should pass the architecture to the front end
* The OLM page should filter based on the provided architecture data.  

This story supports https://issues.redhat.com/browse/OLM-1464

The backend work to gather the architecture & pass to the front end needs backports to 4.3 & 4.2
The front end filtering work needs backports to 4.3, 4.2 if it is clean.

Comment 1 bpeterse 2020-05-08 18:49:18 UTC
PR is open, needs some small changes.

Comment 5 XiaochuanWang 2020-06-16 06:26:24 UTC
1. create custom catalog source, it references an image in which operator CSV has label 
  labels:
    operatorframework.io/os.windows: supported

# cat yapei-oswindows-catalog-source.yaml 
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: oswindows-keycloak-operators
  namespace: openshift-marketplace
spec:
  sourceType: grpc
  image: quay.io/yapei/keycloak-operator:oswindows
  displayName: windows label keycloak operator
  publisher: yapei

# oc create -f yapei-oswindows-catalog-source.yaml
catalogsource.operators.coreos.com/oswindows-keycloak-operators created

# oc get packagemanifests | grep keycloak
keycloak-operator                            Community Operators               8h
keycloak-operator                            windows label keycloak operator   43s

# oc get packagemanifests keycloak-operator --show-labels
NAME                CATALOG                           AGE   LABELS
keycloak-operator   windows label keycloak operator   56s   catalog-namespace=openshift-marketplace,catalog=oswindows-keycloak-operators,operatorframework.io/arch.amd64=supported,operatorframework.io/os.windows=supported,provider-url=,provider=Red Hat

2. cluster admin user view Operator Hub, search using keyword `keycloak` we can only see one operator item from community, also there is no Custom provider type


Verified on 4.3.0-0.nightly-2020-06-15-183232

Comment 7 errata-xmlrpc 2020-06-23 20:58:40 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:2585