Update KUD to python3 65/122665/5
authorTodd Malsbary <todd.malsbary@intel.com>
Thu, 8 Jul 2021 21:04:20 +0000 (14:04 -0700)
committerTodd Malsbary <todd.malsbary@intel.com>
Fri, 16 Jul 2021 18:19:26 +0000 (11:19 -0700)
Issue-ID: MULTICLOUD-1375
Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
Change-Id: I0433a55ef2ac9caba976a267fa9e1f41d5353248

kud/deployment_infra/playbooks/preconfigure-kubespray.yml
kud/hosting_providers/baremetal/README.md
kud/hosting_providers/containerized/installer.sh
kud/hosting_providers/vagrant/installer.sh
kud/hosting_providers/vagrant/node.sh
kud/hosting_providers/vagrant/setup.sh
kud/tests/vIPSec/ipsec
kud/tests/vIPSec/pktgen
kud/tests/vIPSec/remote_ipsec

index 78e7eda..2eeca74 100644 (file)
@@ -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
index aabdf2b..38f6e27 100644 (file)
@@ -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/`
 
index 4ed1833..cdb43dd 100755 (executable)
@@ -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
index 7547291..cf6c036 100755 (executable)
@@ -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
index a51be19..6695d58 100755 (executable)
@@ -80,6 +80,7 @@ case ${ID,,} in
     *suse)
     ;;
     ubuntu|debian)
+        apt-get update
         apt-get install -y cpu-checker
         kvm-ok
     ;;
index 7251872..35393e1 100755 (executable)
@@ -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
index 4b27857..9250b45 100755 (executable)
@@ -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 -
 }
index 14d7e6c..45ed0d9 100755 (executable)
@@ -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 {
index 6a676c9..e687723 100755 (executable)
@@ -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 -
 }