From e3c7d3d4153d3a9383d4ebcaa004e54b1b0b64c2 Mon Sep 17 00:00:00 2001 From: Todd Malsbary Date: Tue, 27 Oct 2020 14:46:29 -0700 Subject: Upgrade kubespray from 2.12.6 to 2.14.1 - Replace move of ansible.cfg from kubespray distribution to /etc/ansible with ANSIBLE_CONFIG environment variable. Ansible modifies ansible.cfg during installation, and the paths in it are relative. - kubespray 2.14.1 requires a kubernetes version > 1.16. Use the default versions of kubernetes and helm provided by kubespray 2.14.1. - kubespray 2.14.1 replaces helm 2 with helm 3. This removes support for helm init and helm serve. It is no longer necessary to call helm init, and the helm serve repository is replaced with file relative URLs. This also triggered a subsequent update of the kubernetes-helm ansible module to include the newer helm versions. - Add "storageType: hostPath" to etcd/values.yaml. Helm deploy of etcd will fail without this due to nil PersistentVolume.metadata.labels.type. - The mitogen module used by kubespray/ansible requires python2 on the hosts. Use the linear strategy to bypass mitogen and install python2 on the cluster hosts. Issue-ID: MULTICLOUD-1230 Signed-off-by: Todd Malsbary Change-Id: I9f50bb4e123fdcacab6b6a97e79cd09fb5c96634 --- kud/deployment_infra/galaxy-requirements.yml | 2 +- .../playbooks/configure-emco-reset.yml | 11 +---------- kud/deployment_infra/playbooks/configure-emco.yml | 11 +---------- kud/deployment_infra/playbooks/configure-kud.yml | 5 ----- .../playbooks/configure-onap4k8s-reset.yml | 11 +---------- kud/deployment_infra/playbooks/configure-onap4k8s.yml | 11 +---------- kud/deployment_infra/playbooks/kud-vars.yml | 5 +++-- .../playbooks/preconfigure-kubespray.yml | 19 +++++++++++++++++++ 8 files changed, 27 insertions(+), 48 deletions(-) create mode 100644 kud/deployment_infra/playbooks/preconfigure-kubespray.yml (limited to 'kud/deployment_infra') diff --git a/kud/deployment_infra/galaxy-requirements.yml b/kud/deployment_infra/galaxy-requirements.yml index 3191dc19..9747dc99 100644 --- a/kud/deployment_infra/galaxy-requirements.yml +++ b/kud/deployment_infra/galaxy-requirements.yml @@ -10,6 +10,6 @@ - src: andrewrothstein.go version: v2.1.15 - src: andrewrothstein.kubernetes-helm - version: v1.2.17 + version: v1.3.16 - src: geerlingguy.docker version: 2.5.2 diff --git a/kud/deployment_infra/playbooks/configure-emco-reset.yml b/kud/deployment_infra/playbooks/configure-emco-reset.yml index a4560cc2..7cad36e4 100644 --- a/kud/deployment_infra/playbooks/configure-emco-reset.yml +++ b/kud/deployment_infra/playbooks/configure-emco-reset.yml @@ -15,7 +15,7 @@ file: kud-vars.yml - name: Change the emco directory and run helm delete - command: /usr/local/bin/helm delete --purge emco + command: /usr/local/bin/helm uninstall --namespace emco emco register: helm_delete args: chdir: /opt/multicloud/deployments/helm/v2/emco @@ -41,15 +41,6 @@ - debug: var: make_clean.stdout_lines - - name: Change the emco directory and make repo-stop - command: /usr/bin/make repo-stop - register: make_repo_stop - args: - chdir: /opt/multicloud/deployments/helm/v2/emco - - - debug: - var: make_repo_stop.stdout_lines - - name: clean multicloud-k8s path file: state: absent diff --git a/kud/deployment_infra/playbooks/configure-emco.yml b/kud/deployment_infra/playbooks/configure-emco.yml index 255ce6a4..eb6adcf2 100644 --- a/kud/deployment_infra/playbooks/configure-emco.yml +++ b/kud/deployment_infra/playbooks/configure-emco.yml @@ -27,15 +27,6 @@ yum: name=make state=present update_cache=yes when: ansible_distribution == "CentOS" - - name: Change the emco directory and run the command make repo - command: /usr/bin/make repo - register: make_repo - args: - chdir: /opt/multicloud/deployments/helm/v2/emco - - - debug: - var: make_repo.stdout_lines - - name: Change the emco directory and run the command make all command: /usr/bin/make all register: make_all @@ -46,7 +37,7 @@ var: make_all.stdout_lines - name: Change the emco directory and run the command helm install - command: /usr/local/bin/helm install dist/packages/emco-0.1.0.tgz --name emco --namespace emco + command: /usr/local/bin/helm install --namespace emco --create-namespace --set emco-tools.fluentd.clusterDomain={{ cluster_name.stdout }} emco dist/packages/emco-0.1.0.tgz register: helm_install args: chdir: /opt/multicloud/deployments/helm/v2/emco diff --git a/kud/deployment_infra/playbooks/configure-kud.yml b/kud/deployment_infra/playbooks/configure-kud.yml index 6ac0477d..0e32e69d 100644 --- a/kud/deployment_infra/playbooks/configure-kud.yml +++ b/kud/deployment_infra/playbooks/configure-kud.yml @@ -23,11 +23,6 @@ when: helm_client.rc != 0 vars: kubernetes_helm_ver: "v{{ helm_client_version }}" - tasks: - - name: Initialize helm client - command: helm init -c - args: - creates: ~/.helm - hosts: kube-node become: yes diff --git a/kud/deployment_infra/playbooks/configure-onap4k8s-reset.yml b/kud/deployment_infra/playbooks/configure-onap4k8s-reset.yml index d6f2f6bc..ddfedbb4 100644 --- a/kud/deployment_infra/playbooks/configure-onap4k8s-reset.yml +++ b/kud/deployment_infra/playbooks/configure-onap4k8s-reset.yml @@ -15,7 +15,7 @@ file: kud-vars.yml - name: Change the onap4k8s directory and run helm delete - command: /usr/local/bin/helm delete --purge multicloud-onap8ks + command: /usr/local/bin/helm uninstall --namespace onap4k8s-ns multicloud-onap8ks register: helm_delete args: chdir: /opt/multicloud/deployments/helm/onap4k8s @@ -41,15 +41,6 @@ - debug: var: make_clean.stdout_lines - - name: Change the onap4k8s directory and make repo-stop - command: /usr/bin/make repo-stop - register: make_repo_stop - args: - chdir: /opt/multicloud/deployments/helm/onap4k8s - - - debug: - var: make_repo_stop.stdout_lines - - name: clean multicloud-k8s path file: state: absent diff --git a/kud/deployment_infra/playbooks/configure-onap4k8s.yml b/kud/deployment_infra/playbooks/configure-onap4k8s.yml index 11729171..c016cf1c 100644 --- a/kud/deployment_infra/playbooks/configure-onap4k8s.yml +++ b/kud/deployment_infra/playbooks/configure-onap4k8s.yml @@ -27,15 +27,6 @@ yum: name=make state=present update_cache=yes when: ansible_distribution == "CentOS" - - name: Change the onap4k8s directory and run the command make repo - command: /usr/bin/make repo - register: make_repo - args: - chdir: /opt/multicloud/deployments/helm/onap4k8s - - - debug: - var: make_repo.stdout_lines - - name: Change the onap4k8s directory and run the command make all command: /usr/bin/make all register: make_all @@ -46,7 +37,7 @@ var: make_all.stdout_lines - name: Change the onap4k8s directory and run the command helm install - command: /usr/local/bin/helm install dist/packages/multicloud-k8s-5.0.0.tgz --name multicloud-onap8ks --namespace onap4k8s-ns --set service.type=NodePort + command: /usr/local/bin/helm install --namespace onap4k8s-ns --create-namespace --set service.type=NodePort multicloud-onap8ks dist/packages/multicloud-k8s-5.0.0.tgz register: helm_install args: chdir: /opt/multicloud/deployments/helm/onap4k8s diff --git a/kud/deployment_infra/playbooks/kud-vars.yml b/kud/deployment_infra/playbooks/kud-vars.yml index 30e54f03..8011c901 100644 --- a/kud/deployment_infra/playbooks/kud-vars.yml +++ b/kud/deployment_infra/playbooks/kud-vars.yml @@ -57,8 +57,9 @@ cmk_untaint_required: true #cmk_exclusive_mode: packed # choose between: packed, spread, default: packed go_version: '1.12.5' -kubespray_version: 2.12.6 -helm_client_version: 2.13.1 +kubespray_version: 2.14.1 +# This matches the helm_version from kubespray defaults +helm_client_version: 3.2.4 # kud playbooks not compatible with 2.8.0 - see MULTICLOUD-634 ansible_version: 2.9.7 diff --git a/kud/deployment_infra/playbooks/preconfigure-kubespray.yml b/kud/deployment_infra/playbooks/preconfigure-kubespray.yml new file mode 100644 index 00000000..78e7eda6 --- /dev/null +++ b/kud/deployment_infra/playbooks/preconfigure-kubespray.yml @@ -0,0 +1,19 @@ +--- +# The mitogen module used in kubespray requires python2 on the nodes. +# On some distributions (i.e. Ubuntu 18.04), the default version of +# python is python3. +# +# When python2 is not present a failure message similar to "bash: +# /usr/bin/python: No such file or directory" will be reported. +# +# Note the use of "strategy: linear" below to temporarily bypass +# mitogen. +# +- name: Install python2 + hosts: k8s-cluster + strategy: linear + tasks: + - name: Install python2 + package: + name: python + state: present -- cgit 1.2.3-korg