Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)