From 7e85528a2c9c6669aa0857d8b9bfaa1e698c2fbc Mon Sep 17 00:00:00 2001 From: Todd Malsbary Date: Thu, 8 Jul 2021 14:04:20 -0700 Subject: Update KUD to python3 Issue-ID: MULTICLOUD-1375 Signed-off-by: Todd Malsbary Change-Id: I0433a55ef2ac9caba976a267fa9e1f41d5353248 --- .../playbooks/preconfigure-kubespray.yml | 13 +++++-------- kud/hosting_providers/baremetal/README.md | 4 +++- kud/hosting_providers/containerized/installer.sh | 5 +++-- kud/hosting_providers/vagrant/installer.sh | 14 ++++++++------ kud/hosting_providers/vagrant/node.sh | 1 + kud/hosting_providers/vagrant/setup.sh | 18 ++++++++++-------- kud/tests/vIPSec/ipsec | 2 +- kud/tests/vIPSec/pktgen | 2 +- kud/tests/vIPSec/remote_ipsec | 2 +- 9 files changed, 33 insertions(+), 28 deletions(-) diff --git a/kud/deployment_infra/playbooks/preconfigure-kubespray.yml b/kud/deployment_infra/playbooks/preconfigure-kubespray.yml index 78e7eda6..2eeca749 100644 --- a/kud/deployment_infra/playbooks/preconfigure-kubespray.yml +++ b/kud/deployment_infra/playbooks/preconfigure-kubespray.yml @@ -1,19 +1,16 @@ --- -# 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. +# python is python3 and there is no /usr/bin/python executable. # -# When python2 is not present a failure message similar to "bash: +# When 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 +- name: Install python3 as preferred alternative hosts: k8s-cluster strategy: linear tasks: - - name: Install python2 - package: - name: python - state: present + - name: Install python3 as preferred alternative + command: update-alternatives --install /usr/bin/python python /usr/bin/python3 1 diff --git a/kud/hosting_providers/baremetal/README.md b/kud/hosting_providers/baremetal/README.md index aabdf2b8..38f6e273 100644 --- a/kud/hosting_providers/baremetal/README.md +++ b/kud/hosting_providers/baremetal/README.md @@ -41,7 +41,9 @@ Prepare the environment and clone the repo `$ sudo apt-get upgrade -y` -`$ sudo apt-get install -y python-pip` +`$ sudo apt-get install -y python3-pip` + +`$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1` `$ git clone https://git.onap.org/multicloud/k8s/` diff --git a/kud/hosting_providers/containerized/installer.sh b/kud/hosting_providers/containerized/installer.sh index 4ed1833b..cdb43dd5 100755 --- a/kud/hosting_providers/containerized/installer.sh +++ b/kud/hosting_providers/containerized/installer.sh @@ -33,6 +33,7 @@ function install_prerequisites { unzip \ vim \ wget + update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 } # _install_ansible() - Install and Configure Ansible program @@ -40,7 +41,7 @@ function _install_ansible { local version=$(grep "ansible_version" ${kud_playbooks}/kud-vars.yml | awk -F ': ' '{print $2}') mkdir -p /etc/ansible/ - pip3 install --no-cache-dir ansible==$version + pip install --no-cache-dir ansible==$version } function install_kubespray { @@ -59,7 +60,7 @@ function install_kubespray { rm $tarball pushd $dest_folder/kubespray-$version/ - pip3 install --no-cache-dir -r ./requirements.txt + pip install --no-cache-dir -r ./requirements.txt make mitogen popd rm -f $kud_inventory_folder/group_vars/all.yml 2> /dev/null diff --git a/kud/hosting_providers/vagrant/installer.sh b/kud/hosting_providers/vagrant/installer.sh index 75472913..cf6c0362 100755 --- a/kud/hosting_providers/vagrant/installer.sh +++ b/kud/hosting_providers/vagrant/installer.sh @@ -42,14 +42,16 @@ function _install_go { # _install_ansible() - Install and Configure Ansible program function _install_ansible { - sudo apt-get install -y python3-pip - sudo -E pip3 install --no-cache-dir --upgrade pip + sudo apt-get install -y python3 python3-pip + sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 --force + sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 --force + sudo -E pip install --no-cache-dir --upgrade pip if $(ansible --version &>/dev/null); then - sudo pip3 uninstall -y ansible + sudo pip uninstall -y ansible fi local version=$(grep "ansible_version" ${kud_playbooks}/kud-vars.yml | awk -F ': ' '{print $2}') sudo mkdir -p /etc/ansible/ - sudo -E pip3 install --no-cache-dir ansible==$version + sudo -E pip install --no-cache-dir ansible==$version } function _set_environment_file { @@ -79,7 +81,7 @@ function install_k8s { rm $tarball pushd $dest_folder/kubespray-$version/ - sudo -E pip3 install --no-cache-dir -r ./requirements.txt + sudo -E pip install --no-cache-dir -r ./requirements.txt make mitogen popd rm -f $kud_inventory_folder/group_vars/all.yml 2> /dev/null @@ -204,7 +206,7 @@ function install_addons { # install_plugin() - Install ONAP Multicloud Kubernetes plugin function install_plugin { echo "Installing multicloud/k8s plugin" - sudo -E pip3 install --no-cache-dir docker-compose + sudo -E pip install --no-cache-dir docker-compose sudo mkdir -p /opt/{kubeconfig,consul/config} sudo cp $HOME/.kube/config /opt/kubeconfig/kud diff --git a/kud/hosting_providers/vagrant/node.sh b/kud/hosting_providers/vagrant/node.sh index a51be19b..6695d585 100755 --- a/kud/hosting_providers/vagrant/node.sh +++ b/kud/hosting_providers/vagrant/node.sh @@ -80,6 +80,7 @@ case ${ID,,} in *suse) ;; ubuntu|debian) + apt-get update apt-get install -y cpu-checker kvm-ok ;; diff --git a/kud/hosting_providers/vagrant/setup.sh b/kud/hosting_providers/vagrant/setup.sh index 7251872a..35393e1e 100755 --- a/kud/hosting_providers/vagrant/setup.sh +++ b/kud/hosting_providers/vagrant/setup.sh @@ -61,7 +61,7 @@ packages=() case ${ID,,} in *suse) INSTALLER_CMD="sudo -H -E zypper -q install -y --no-recommends" - packages+=(python-devel) + packages+=(python-devel python-pip) # Vagrant installation if [[ "${enable_vagrant_install+x}" ]]; then @@ -95,7 +95,7 @@ case ${ID,,} in ubuntu|debian) INSTALLER_CMD="sudo -H -E apt-get -y -q=3 install" - packages+=(python-dev) + packages+=(python3-dev python3-pip) # Vagrant installation if [[ "${enable_vagrant_install+x}" ]]; then @@ -125,7 +125,7 @@ case ${ID,,} in PKG_MANAGER=$(which dnf || which yum) sudo "$PKG_MANAGER" updateinfo INSTALLER_CMD="sudo -H -E ${PKG_MANAGER} -q -y install" - packages+=(python-devel) + packages+=(python-devel python-pip) # Vagrant installation if [[ "${enable_vagrant_install+x}" ]]; then @@ -174,11 +174,13 @@ fi sudo modprobe vhost_net ${INSTALLER_CMD} "${packages[@]}" -if ! which pip; then - curl -sL https://bootstrap.pypa.io/pip/2.7/get-pip.py | sudo python -else - sudo -H -E pip install --no-cache-dir --upgrade pip -fi +case ${ID,,} in + ubuntu|debian) + sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 --force + sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 --force + ;; +esac +sudo -H -E pip install --no-cache-dir --upgrade pip sudo -H -E pip install --no-cache-dir tox if [[ ${http_proxy+x} ]]; then vagrant plugin install vagrant-proxyconf diff --git a/kud/tests/vIPSec/ipsec b/kud/tests/vIPSec/ipsec index 4b278574..9250b45e 100755 --- a/kud/tests/vIPSec/ipsec +++ b/kud/tests/vIPSec/ipsec @@ -27,7 +27,7 @@ set -o errexit function setup_dependencies { apt-get update - apt-get install -y curl gnupg2 pciutils make gcc libnuma-dev python git linux-headers-`uname -r` module-init-tools libssl-dev + apt-get install -y curl gnupg2 pciutils make gcc libnuma-dev git linux-headers-`uname -r` module-init-tools libssl-dev echo "deb [trusted=yes] https://packagecloud.io/fdio/release/ubuntu bionic main" >> /etc/apt/sources.list.d/99fd.io.list curl -L https://packagecloud.io/fdio/master/gpgkey | apt-key add - } diff --git a/kud/tests/vIPSec/pktgen b/kud/tests/vIPSec/pktgen index 14d7e6ca..45ed0d99 100755 --- a/kud/tests/vIPSec/pktgen +++ b/kud/tests/vIPSec/pktgen @@ -36,7 +36,7 @@ function setup_dependencies { git clone http://dpdk.org/git/apps/pktgen-dpdk KERNEL_VERSION=$(uname -r) echo $KERNEL_VERSION - sudo apt-get install -y linux-headers-$KERNEL_VERSION libpcap-dev gcc make libnuma-dev liblua5.3-dev python + sudo apt-get install -y linux-headers-$KERNEL_VERSION libpcap-dev gcc make libnuma-dev liblua5.3-dev } function build_dpdk { diff --git a/kud/tests/vIPSec/remote_ipsec b/kud/tests/vIPSec/remote_ipsec index 6a676c96..e6877230 100755 --- a/kud/tests/vIPSec/remote_ipsec +++ b/kud/tests/vIPSec/remote_ipsec @@ -28,7 +28,7 @@ set -o errexit function setup_dependencies { apt-get update - apt-get install -y curl gnupg2 pciutils make gcc libnuma-dev python git linux-headers-`uname -r` module-init-tools libssl-dev + apt-get install -y curl gnupg2 pciutils make gcc libnuma-dev git linux-headers-`uname -r` module-init-tools libssl-dev echo "deb [trusted=yes] https://packagecloud.io/fdio/release/ubuntu bionic main" >> /etc/apt/sources.list.d/99fd.io.list curl -L https://packagecloud.io/fdio/master/gpgkey | apt-key add - } -- cgit 1.2.3-korg