Bug 1379455

Summary: Router replicas should be created for schedulable nodes only
Product: OpenShift Container Platform Reporter: Vikas Laad <vlaad>
Component: InstallerAssignee: Andrew Butcher <abutcher>
Status: CLOSED NOTABUG QA Contact: Johnny Liu <jialiu>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.3.0CC: aos-bugs, jokerman, mmccomas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-04-18 14:50:10 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 Vikas Laad 2016-09-26 19:13:18 UTC
Description of problem:
When doing the 3.3 installation router replicas are created according to number of nodes which has matching labels. If the same label is set to Master node which is not schedulable still that node is counted to decide number of replicas for router.

Version-Release number of selected component (if applicable):
openshift v3.3.0.32
kubernetes v1.3.0+52492b4
etcd 2.3.0+git

Steps to Reproduce:
1. Have an inventory file which has this label openshift_hosted_router_selector="region=infra,zone=default"
2. Make sure master is unschedulable and has infra label and there is a node with infra label
3. After the installation is done there are 2 replicas of router created

Actual results:
2 router replicas created, and it failed.

Expected results:
only 1 router is created.

Additional info:

Comment 2 Scott Dodson 2017-02-10 02:14:27 UTC
It's debatable whether or not this is the right behavior.

Comment 4 Andrew Butcher 2017-04-18 14:50:10 UTC
This is possible to encounter when node labels match the router selector (region=infra by default) and nodes are set as unschedulable. Marking NOTABUG since the install can complete in this scenario.

For example:

[nodes]
node1.abutcher.com openshift_node_labels="{'region': 'infra'}"
node2.abutcher.com openshift_schedulable=false openshift_node_labels="{'region': 'infra'}"
node3.abutcher.com openshift_schedulable=false openshift_node_labels="{'region': 'infra'}"

Router replicas=3 since there are three nodes with region=infra labels, however only one router pod will be able to run due to node schedulability.