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:
This is probably a case where the version_gte facts are bad on containerized installs. We could simply get rid of them.
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?
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.
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.
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.
We've refactored the version facts, can this be re-rested with the latest 3.5 installer?
Verified and pass on openshift-ansible-3.5.8-1.git.0.0e02ef8.el7.noarch
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