Etcd parameters lost when changing kube-apiserver parameters

Etcd parameters are getting lost when changing kube-apiserver
parameters. This is due to no default values being present. The
missing etcd parameters causes kube-apiserver to fail to start up.
This commit makes the script for changing kube-apiserver parameters
keep any existing etcd parameters in the previous config.

Change-Id: I83eb5426ba72a36a5eed3ecbddcbbacdf38803c5
Closes-bug: 1914291
Signed-off-by: Jerry Sun <jerry.sun@windriver.com>
This commit is contained in:
Jerry Sun 2021-02-03 09:26:47 -05:00
parent cdaa186622
commit b2e37caaeb

View File

@ -82,33 +82,23 @@ else:
if plugins in cluster_config['apiServer']['extraArgs']:
del cluster_config['apiServer']['extraArgs'][plugins]
# etcd parameters are required to start up kube-apiserver
# do not remove any existing etcd parameters in the config map
if args.etcd_cafile:
cluster_config['etcd']['external']['caFile'] = \
args.etcd_cafile
else:
if 'caFile' in cluster_config['etcd']['external']:
del cluster_config['etcd']['external']['caFile']
if args.etcd_certfile:
cluster_config['etcd']['external']['certFile'] = \
args.etcd_certfile
else:
if 'certFile' in cluster_config['etcd']['external']:
del cluster_config['etcd']['external']['certFile']
if args.etcd_keyfile:
cluster_config['etcd']['external']['keyFile'] = \
args.etcd_keyfile
else:
if 'keyFile' in cluster_config['etcd']['external']:
del cluster_config['etcd']['external']['keyFile']
if args.etcd_servers:
cluster_config['etcd']['external']['endpoints'] = \
args.etcd_servers.split(',')
else:
if 'endpoints' in cluster_config['etcd']['external']:
del cluster_config['etcd']['external']['endpoints']
cluster_config_string = yaml.dump(cluster_config, Dumper=yaml.RoundTripDumper,
default_flow_style=False)