Bug 1987019 - Hypershift: cluster network operator producing operands that select master nodes
Summary: Hypershift: cluster network operator producing operands that select master nodes
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: ibm-roks-toolkit
Version: 4.10
Hardware: All
OS: All
unspecified
medium
Target Milestone: ---
: 4.9.0
Assignee: Cesar Wong
QA Contact: Jie Zhao
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-07-28 18:07 UTC by Cesar Wong
Modified: 2021-10-26 17:22 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-10-26 17:22:37 UTC
Target Upstream Version:
Embargoed:
jiezhao: needinfo-
jiezhao: needinfo-


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift cluster-network-operator pull 1158 0 None open Bug 1987019: Support external control plane topology 2021-07-28 18:08:51 UTC
Red Hat Product Errata RHBA-2021:3935 0 None None None 2021-10-26 17:22:48 UTC

Description Cesar Wong 2021-07-28 18:07:49 UTC
Description of problem:
The cluster network operator itself can be deployed without master node selectors. However, it produces operands that select master nodes. In a ROKS/hypershift deployment there are no master nodes. We need to update operator behavior so that the deployments it lays down do not select master nodes.

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

How reproducible:
Always

Steps to Reproduce:
1. Install 4.9 OCP with hypershift/ROKS 


Actual results:
There are master node selectors in network operator components.

Expected results:
There are no master node selectors in network operator components.

Additional info:

Comment 3 He Liu 2021-10-09 09:33:30 UTC
@cewong I checked the network operator on OCP 4.9 with latest version of Hypershift. 
> The network operator on guest cluster still selects master node with nodeSelector: "node-role.kubernetes.io/master":"".  
```
$ oc --kubeconfig=guest.yaml get deploy network-operator -n openshift-network-operator -ojsonpath='{.spec.template.spec.nodeSelector}' 
 {"node-role.kubernetes.io/master":""}
```
> the CR infrastructure of guest cluster is same with that of OCP. Their infrastructure.Status.ControlPlaneTopology are both set to HighlyAvailable

```
$ oc --kubeconfig=guest.yaml get infrastructure cluster -ojsonpath='{.status.controlPlaneTopology}'
HighlyAvailable
```
Now no failure occurs because guest cluster's node role is master/worker. They have "master" label to support the pods' nodeSelector. 

It seems that the default behavior is not as expected. 
Is the solution of this bug based on controlPlaneTopology = External ? If I must build OCP with External topology, do you know how to config that, thanks a lot!

Comment 9 errata-xmlrpc 2021-10-26 17:22:37 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 (OpenShift Container Platform 4.9.4 bug fix 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/RHBA-2021:3935


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