Bug 1395637 - The masterClientConnectionOverrides are absent on app node node-config.yml in containerized installation/upgrade
Summary: The masterClientConnectionOverrides are absent on app node node-config.yml in...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.3.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
: ---
Assignee: Russell Teague
QA Contact: Anping Li
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-16 10:31 UTC by Anping Li
Modified: 2017-07-24 14:11 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Previously, the facts generation procedures may have incorrectly determined major release versions prior to package installation. Since the playbooks are now version specific we've eliminated this defaulting ensuring that 3.5 playbooks receive 3.5 content in all scenarios
Clone Of:
Environment:
Last Closed: 2017-04-12 18:48:27 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:0903 0 normal SHIPPED_LIVE OpenShift Container Platform atomic-openshift-utils bug fix and enhancement 2017-04-12 22:45:42 UTC

Description Anping Li 2016-11-16 10:31:01 UTC
Description of problem:
The following values are absent in node-config.yaml on seperate node hosts. 
masterClientConnectionOverrides:
  acceptContentTypes: application/vnd.kubernetes.protobuf,application/json
  contentType: application/vnd.kubernetes.protobuf
  burst: 200
  qps: 100

Version-Release number of selected component (if applicable):
atomic-openshift-utils-3.3.50-1.git.0.5bdbeaa.el7.noarch

How reproducible:
always

Steps to Reproduce:
1. install to OCP-3.3 in RHEL 7.2 on GCE
  ansible-playbook /root/openshift-ansible/playbooks/byo/config.yml
2. check the node-config.yml

Actual results:
2. no masterClientConnectionOverrides on app node node-config.yml.

[root@qe-node ~]#cat /etc/origin/node/node-config.yaml
<--snip-->
masterClientConnectionOverrides:
  acceptContentTypes: application/vnd.kubernetes.protobuf,application/json
  contentType: application/vnd.kubernetes.protobuf
  burst: 200
  qps: 100

Expected results:


Additional info:

Comment 1 Scott Dodson 2016-11-16 15:28:13 UTC
This is probably a case where the version_gte facts are bad on containerized installs. We could simply get rid of them.

Comment 2 Devan Goodwin 2016-11-17 14:04:57 UTC
Can't reproduce in AWS with containerized RHEL 7.2. 

There are 24 mentions of version_gte_3_2_or_1_2 in master right now. I still use master occasionally to install 3.2, but never less than 3.2. We could just remove them all if we think this was it.

However there are another 18 for version_gte_3_1_or_1_1 and a few more for version_gte_3_1_1_or_1_1_1. Potentially disruptive change if these facts are not reliable and we start yanking them out.

It's a little troubling the facts are coming out wrong at all though, could it be gcloud specific somehow?

Comment 4 Devan Goodwin 2016-11-17 15:49:27 UTC
Could we get inventory and the installation log attached?

Also if possible, could you apply this patch to your ansible yaml before running:

diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml
index 6022694..b51374a 100644
--- a/roles/openshift_node/tasks/main.yml
+++ b/roles/openshift_node/tasks/main.yml
@@ -82,6 +82,8 @@
     state: directory
   when: openshift_node_kubelet_args is defined and 'config' in openshift_node_kubelet_args
 
+- debug: var=hostvars[inventory_hostname]
+
 # TODO: add the validate parameter when there is a validation command to run
 - name: Create the Node config
   template:


This will include a full dump of all facts for the host in the ansible log, from there we can hopefully pinpoint where the facts are getting confused.

Comment 6 liujia 2016-11-30 08:39:41 UTC
Upgrade hit the same question.
Upgrade from 3.3 to 3.4 on aws, it will not add "masterClientConnectionOverrides" info in the node config those are not master roles.

Comment 7 Devan Goodwin 2016-11-30 13:43:35 UTC
Fact that controls this section in the template:

{% if openshift.common.version_gte_3_3_or_1_3 | bool %}
masterClientConnectionOverrides:
  acceptContentTypes: application/vnd.kubernetes.protobuf,application/json
  contentType: application/vnd.kubernetes.protobuf
  burst: 200
  qps: 100
{% endif %}

However in Anping's log:

For the first master right before we create the node config on the master the facts show:

                "version": "3.3.1.5", 
                "version_gte_3_1_1_or_1_1_1": true, 
                "version_gte_3_1_or_1_1": true, 
                "version_gte_3_2_or_1_2": true, 
                "version_gte_3_3_or_1_3": true

This looks correct and thus that host, the master, probably gets masterClientConnectionOverrides.

However right before we create the node config on the dedicated node:

                "version_gte_3_1_1_or_1_1_1": true, 
                "version_gte_3_1_or_1_1": true, 
                "version_gte_3_2_or_1_2": true, 
                "version_gte_3_3_or_1_3": false

No version fact is present and the defaults kick in.

Comment 8 Scott Dodson 2017-02-09 14:49:56 UTC
We've refactored the version facts, can this be re-rested with the latest 3.5 installer?

Comment 9 Anping Li 2017-02-20 06:44:44 UTC
Verified and pass on openshift-ansible-3.5.8-1.git.0.0e02ef8.el7.noarch

Comment 11 errata-xmlrpc 2017-04-12 18:48:27 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-2017:0903


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