Created attachment 1777920 [details] 1_bacon-bundle.png Description of problem: Currently, console accepts any value for `operators.openshift.io/infrastructure-features` and shows it in the UI (see attached: 1_bacon-bundle.png). The console could/should restrict what we allow to a "well-defined" list. There's been a few changes in the annotations for "Infrastructure features" documented in OCP doc: https://docs.openshift.com/container-platform/4.7/operators/operator_sdk/osdk-generating-csvs.html#osdk-csv-manual-annotations_osdk-generating-csvs We want to make sure the console handles both values as in "the latest doc" + "what those were before" as we are about to push Operator fleets to adopt these. Version-Release number of selected component (if applicable): OCP 4.8 How reproducible: 100% Steps to Reproduce: 1. Go to OperatorHub, check "Infrastructure features" 2. Create a custom CatalogSource: --- apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: tonywu-catsrc namespace: openshift-marketplace spec: displayName: TW’s CatalogSource sourceType: grpc image: quay.io/tlwu2013/tw-index:latest --- That includes a test version Portworx using the annotation following OCP doc: https://docs.openshift.com/container-platform/4.7/operators/operator_sdk/osdk-generating-csvs.html#osdk-csv-manual-annotations_osdk-generating-csvs 3. Wait until "TW’s CatalogSource(1)" shows up under "Source" filer in the OperatorHub page. 4. Check "Infrastructure features" filter section again and check the filer options. Actual results: "Infrastructure features" filter shows: - Disconnected(20) - Proxy(2) - disconnected(1) - proxy-aware(1) Expected results: The "Infrastructure features" filter option maps annotations in both "old" and "new" format to a unified "Display format" string. (UXD will follow up in finalizing the "Display format" string) Additional info: (UXD will follow up in finalizing the "Display format" string)
Created attachment 1777921 [details] 2_old_vs_new.png
Created attachment 1777922 [details] 2_old_vs_new.png
For the infrastructure features filter lets go with the following facet terminology for the display strings: - Cloud-Native Network Function - Container Network Interface - Container Storage Interface - Disconnected - FIPS Mode - Proxy-aware
This bug has been fixed on payload 4.8.0-0.nightly-2021-05-06-162549 Step for verify: 1. Create a CatalogSource on Administration -> cluster Settings -> Tab of 'Global configuration' -> choose OperatorHub -> Tab of 'Sources' 2. Provide the necessary information, and create the catalogsource apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: test1955803 namespace: openshift-marketplace spec: displayName: TW’s CatalogSource sourceType: grpc image: quay.io/tlwu2013/tw-index:latest 3. Wait until "TW’s CatalogSource(1)" shows up under "Source" filer in the OperatorHub page. 4. Check "Infrastructure features" filter section again and check the filer options. Result: Only two option 'Disconnected' and 'Proxy' can be found under filter of 'infrastructure features' on Operator Hub and Operator detail page Additional info: The image that used for create CatalogSource is comes from the repository of 'quay.io/tlwu2013/tw-index:latest'. This image is include a test version of Portworx, and using the annotation following OCP doc: https://docs.openshift.com/container-platform/4.7/operators/operator_sdk/osdk-generating-csvs.html#osdk-csv-manual-annotations_osdk-generating-csvs
based on comments in https://github.com/openshift/console/pull/8859#issuecomment-839410741, moving back to fix the issues on operator modal
This bug has been verified on payload 4.8.0-0.nightly-2021-05-26-172234 Pre_condition: Build an operator image who has operators.openshift.io/infrastructure-features annotation with multiple values(valid and invalid) operators.openshift.io/infrastructure-features: >- ["disconnected", "cni", "cnf", "csi", "fips", "proxy-aware", "Disconnected", "FipsMode", "Proxy", "Unknown", "TestBacon"] Step for verify: 1. Create a CatalogSource on Administration -> cluster Settings -> Tab of 'Global configuration' -> choose OperatorHub -> Tab of 'Sources' 2. Provide the necessary information, and create the catalogsource apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: test1955803 namespace: openshift-marketplace spec: displayName: TW’s CatalogSource sourceType: grpc image: quay.io/yapei/operatorinfras:latest 3. Wait until "TW’s CatalogSource(1)" shows up under "Source" filer in the OperatorHub page. 4. Check "Infrastructure features" filter section again and check the filter options. 5. Click on the installed operator 6. Verify if the "Infrastructure features" information is shown on the operator detail page 7. Go back to OperatorHub page, use 'Kubestone' as a example who hasn't have operators.openshift.io/infrastructure-features annotation setting on image 8. Verify if infrastructure features with empty value will shown on operator modal Result: 4,6. All setting for infrastructure-features on image is shown on Operator Hub and Operator detail page correctly 8. No 'Infrastructure feature' shown on operator modal if the operator doesn't have operators.openshift.io/infrastructure-features annotation defined
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 (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), 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/RHSA-2021:2438