def downgrade_node(upd, with_testing, exception, *args, **kwargs): # 00084_update.py helpers.install_package('kernel-'+old_version, action='upgrade') helpers.install_package('kernel-tools-'+old_version, action='upgrade') helpers.install_package('kernel-tools-libs-'+old_version, action='upgrade') helpers.install_package('kernel-headers-'+old_version, action='upgrade') helpers.install_package('kernel-devel-'+old_version, action='upgrade') helpers.reboot_node(upd)
def downgrade_node(upd, with_testing, exception, *args, **kwargs): # === 00132_update.py === install_package('kernel-' + u132_old_version, action='upgrade') install_package('kernel-tools-' + u132_old_version, action='upgrade') install_package('kernel-tools-libs-' + u132_old_version, action='upgrade') install_package('kernel-headers-' + u132_old_version, action='upgrade') install_package('kernel-devel-' + u132_old_version, action='upgrade') reboot_node(upd)
def upgrade_node(upd, with_testing, env, *args, **kwargs): run('yum --enablerepo=kube,kube-testing clean metadata') # 00084_update.py yum_base_no_kube = 'yum install --disablerepo=kube -y ' run(yum_base_no_kube + 'kernel') run(yum_base_no_kube + 'kernel-tools') run(yum_base_no_kube + 'kernel-tools-libs') run(yum_base_no_kube + 'kernel-headers') run(yum_base_no_kube + 'kernel-devel') run('rpm -e -v --nodeps kernel-' + old_version) run('yum remove -y kernel-tools-' + old_version) run('yum remove -y kernel-tools-libs-' + old_version) run('yum remove -y kernel-headers-' + old_version) run('yum remove -y kernel-devel-' + old_version) # 00086_update.py res = helpers.remote_install('kubernetes-node-1.1.3', with_testing) upd.print_log(res) if res.failed: raise helpers.UpgradeError('Failed to update kubernetes on node') upd.print_log("Turn on cpu-cfs-quota in kubelet") get(KUBELET_PATH, KUBELET_TEMP_PATH) lines = [] with open(KUBELET_TEMP_PATH) as f: lines = f.readlines() with open(KUBELET_TEMP_PATH, 'w+') as f: for line in lines: if KUBELET_ARG in line and not KUBELET_CPUCFS_ENABLE in KUBELET_ARG: s = line.split('"') s[1] += KUBELET_CPUCFS_ENABLE line = '"'.join(s) f.write(line) put(KUBELET_TEMP_PATH, KUBELET_PATH) os.remove(KUBELET_TEMP_PATH) helpers.restart_node_kubernetes(with_enable=True) upd.print_log("Restart pods to apply new limits") pc = PodCollection() pods = pc.get(as_json=False) for pod in pods: if (pod.get('host') == env.host_string and pod['status'] == POD_STATUSES.running): pc.update_container(pod['id'], None) # 00088_update.py put('/var/opt/kuberdock/node_network_plugin.sh', PLUGIN_DIR + 'kuberdock') put('/var/opt/kuberdock/node_network_plugin.py', PLUGIN_DIR + 'kuberdock.py') run('systemctl restart kuberdock-watcher') helpers.reboot_node(upd)
def upgrade_node(upd, with_testing, env, *args, **kwargs): # 00115 upd.print_log('Updating flannel and docker services...') upd.print_log( run("echo '{0}' > '{1}'".format(DOCKER_SERVICE, DOCKER_SERVICE_FILE))) upd.print_log(run('mkdir -p {0}'.format(DOCKER_SERVICE_DIR))) upd.print_log( run("echo '{0}' > '{1}'".format(FLANNEL_CONF, FLANNEL_CONF_FILE))) upd.print_log(run('systemctl daemon-reload')) upd.print_log(run('systemctl reenable docker')) upd.print_log(run('systemctl reenable flanneld')) # 00116 upd.print_log('Copy kubelet_args.py...') put('/var/opt/kuberdock/kubelet_args.py', '/var/lib/kuberdock/scripts/kubelet_args.py', mode=0755) # 00120 put('/var/opt/kuberdock/node_network_plugin.sh', PLUGIN_DIR + 'kuberdock') # 00121 run('yum install -y tuned') run('systemctl enable tuned') run('systemctl start tuned') result = run('systemd-detect-virt --vm --quiet') if result.return_code: run('tuned-adm profile latency-performance') else: run('tuned-adm profile virtual-guest') # 00123 put('/var/opt/kuberdock/node_network_plugin.py', PLUGIN_PY, mode=0755) run('echo "{0}" > "{1}"'.format( WATCHER_SERVICE, '/etc/systemd/system/kuberdock-watcher.service')) run('systemctl daemon-reload') run('systemctl restart kuberdock-watcher') # 00115 pt2, check and reboot check = run('source /run/flannel/docker' ' && ' 'grep "$DOCKER_NETWORK_OPTIONS" <<< "$(ps ax)"' ' > /dev/null') if check.failed: upd.print_log('Node need to be rebooted') helpers.reboot_node(upd)
def upgrade_node(upd, with_testing, env, *args, **kwargs): # To make script idempotent we should unmask it at start if script was # failed somewhere between mask and unmask run("systemctl unmask kubelet") _update_node_nonfloating_config(upd) _update_00174_upgrade_node(upd, with_testing) # We have to teardown kubelet to ensure it will not try to restart # stopped docker during upgrade. Mask is needed to prevent it restart by KD run("systemctl mask kubelet && systemctl stop kubelet") _update_00176_upgrade_node(upd, with_testing) _update_00179_upgrade_node(env) _update_00188_upgrade_node() _update_00191_upgrade_node(upd, with_testing, env, **kwargs) run("systemctl unmask kubelet && systemctl restart kubelet") helpers.reboot_node(upd)
def upgrade_node(upd, with_testing, *args, **kwargs): run('yum --enablerepo=kube,kube-testing clean metadata') # === 00132_update.py === yum_base_no_kube = 'yum install --disablerepo=kube -y ' run(yum_base_no_kube + 'kernel') run(yum_base_no_kube + 'kernel-tools') run(yum_base_no_kube + 'kernel-tools-libs') run(yum_base_no_kube + 'kernel-headers') run(yum_base_no_kube + 'kernel-devel') run('rpm -e -v --nodeps kernel-' + u132_old_version) run('yum remove -y kernel-tools-' + u132_old_version) run('yum remove -y kernel-tools-libs-' + u132_old_version) run('yum remove -y kernel-headers-' + u132_old_version) run('yum remove -y kernel-devel-' + u132_old_version) # reboot_node(upd) # moved to the end # === 00133_update.py === put('/var/opt/kuberdock/node_network_plugin.sh', u133_PLUGIN_DIR + 'kuberdock') put('/var/opt/kuberdock/node_network_plugin.py', u133_PLUGIN_DIR + 'kuberdock.py') run('systemctl restart kuberdock-watcher') # === 00138_update.py === put('/var/opt/kuberdock/node_network_plugin.py', os.path.join(u138_PLUGIN_DIR, 'kuberdock.py')) put('/var/opt/kuberdock/fslimit.py', os.path.join(u138_SCRIPT_DIR, 'fslimit.py')) # moved from 00132_update.py reboot_node(upd)