Bug 1803754

Summary: ISV operators should NOT be scheduled to the Windows worker
Product: OpenShift Container Platform Reporter: Jian Zhang <jiazha>
Component: ISV OperatorsAssignee: Matt Dorn <mdorn>
Status: CLOSED ERRATA QA Contact: Bruno Andrade <bandrade>
Severity: high Docs Contact:
Priority: high    
Version: 4.4CC: aos-bugs, bandrade, mdorn, scolange, sd-ecosystem, tbuskey
Target Milestone: ---   
Target Release: 4.4.0   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-13 21:58:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jian Zhang 2020-02-17 11:21:18 UTC
Description of problem:
Now, OCP supports the Windows worker. But, the ISV operator doesn't. 
So, we should set the `NodeSelector` in their deployment field of CSV to avoid the failure on the Windows worker.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Install OCP with a Windows worker.
mac:~ jianzhang$ oc get nodes --show-labels |grep windows
ip-10-0-38-164.us-east-2.compute.internal    Ready                      worker   6h52m   v1.16.2   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/instance-type=m5a.large,beta.kubernetes.io/os=windows,failure-domain.beta.kubernetes.io/region=us-east-2,failure-domain.beta.kubernetes.io/zone=us-east-2c,kubernetes.io/arch=amd64,kubernetes.io/hostname=ec2amaz-ldli9dr,kubernetes.io/os=windows,node-role.kubernetes.io/worker=,node.openshift.io/os_id=Windows

2. Install a ISV operator and check its deployment. For example, MongoDB operator.

Actual results:
There is no "NodeSelector" specific in the Deployment field of their CSV.
mac:~ jianzhang$ oc get csv -n default mongodboperator.v0.3.2 -o yaml|grep -i "NodeSelector"
mac:~ jianzhang$ 
mac:~ jianzhang$ oc get deployment -n default mongodb-enterprise-operator -o yaml|grep -i "NodeSelector"

Expected results:
In order to run failure on the Windows worker. We should set the "NodeSelector" to select the Linus worker in the Deployment field of their CSV. For example:
mac:~ jianzhang$ oc get deployment -n openshift-marketplace certified-operators -o yaml | grep -i "NodeSelector" -A 1
        beta.kubernetes.io/os: linux

Additional info:

Comment 7 errata-xmlrpc 2020-05-13 21:58:09 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.