Bug 1633383

Summary: Upgrade adds configs to master-config.yaml that clean installs do not have.
Product: OpenShift Container Platform Reporter: Ryan Howe <rhowe>
Component: InstallerAssignee: Scott Dodson <sdodson>
Status: CLOSED DUPLICATE QA Contact: Johnny Liu <jialiu>
Severity: high Docs Contact:
Priority: medium    
Version: 3.10.0CC: aos-bugs, jokerman, mmccomas
Target Milestone: ---   
Target Release: 3.10.z   
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: 2018-10-18 12:37:38 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:
Embargoed:

Description Ryan Howe 2018-09-26 20:54:50 UTC
Description of problem:

Upgrade adds runtime-config.apis/settings.k8s.io/v1alpha1=true to master-config.yaml 


File: roles/openshift_control_plane/tasks/upgrade.yml

- name: Set the runtime-config to exclude pod presets
  yedit:
    src: "{{ openshift.common.config_base }}/master/master-config.yaml"
    key: "kubernetesMasterConfig.apiServerArguments.runtime-config"
    value: "{{ runtime_config.result | join(',') | regex_replace('(?:,)*apis/settings\\.k8s\\.io/v1alpha1=true','') }}"
  when: runtime_config.result


During clean installs this value is not added: 

File: roles/openshift_control_plane/templates/master.yaml.v1.j2#L73

  apiServerArguments:
    {{ openshift.master.api_server_args | default(None) | lib_utils_to_padded_yaml( level=2 ) }}
    storage-backend:
    - etcd3
    storage-media-type:
    - application/vnd.kubernetes.protobuf
{% if openshift_master_use_persistentlocalvolumes | bool %}
    feature-gates:
    - PersistentLocalVolumes=true
    - VolumeScheduling=true
{% endif %}


Version-Release number of the following components:
rpm -q openshift-ansible
openshift-ansible-3.10.47-1.git.0.95bc2d2.el7_5.noarch

How reproducible:
100%

Steps to Reproduce:
1. Upgrade from 3.9 cluster A 
   Install fresh cluster B

Actual results:
Cluster A gets a masterconfig.yaml with: 
  
  kubernetesMasterConfig:
  apiServerArguments:
    runtime-config:
    - apis/settings.k8s.io/v1alpha1=true

Logs from api process:
  W0926 20:53:56.522240       1 start_master.go:270] Warning: kubernetesMasterConfig.apiServerArguments[runtime-config][0]: Invalid value: "apis/settings.k8s.io/v1alpha1=true": remove the apis/ prefix, master start will continue.


Cluster B does not have this value 



Expected results:

  Master-config.yaml to be the same for both clusters

Comment 2 Scott Dodson 2018-10-18 12:37:38 UTC

*** This bug has been marked as a duplicate of bug 1634700 ***