Repository: kserve/kserve

Issue:
Installed KFServing SDK 0.4 but getting import error while running the custom built image
/kind bug

**What steps did you take and what happened:**
Run a custom built image with KFServing SDK 0.4.
```
Traceback (most recent call last):
  File "/python3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/python3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/job/blambda-function/image_transformer_v2/__main__.py", line 15, in <module>
    import kfserving
  File "/python3/lib/python3.7/site-packages/kfserving/__init__.py", line 18, in <module>
    from .storage import Storage
  File "/python3/lib/python3.7/site-packages/kfserving/storage.py", line 23, in <module>
    from google.cloud import storage
  File "/python3/lib/python3.7/site-packages/google/cloud/storage/__init__.py", line 39, in <module>
    from google.cloud.storage.batch import Batch
  File "/python3/lib/python3.7/site-packages/google/cloud/storage/batch.py", line 31, in <module>
    from google.cloud.storage._http import Connection
  File "/python3/lib/python3.7/site-packages/google/cloud/storage/_http.py", line 17, in <module>
    from google.cloud import _http
  File "/python3/lib/python3.7/site-packages/google/cloud/_http.py", line 22, in <module>
    from six.moves import collections_abc
ImportError: cannot import name 'collections_abc' from 'six.moves' (unknown location)
```


**What did you expect to happen:**


**Anything else you would like to add:**
We have fixed this in master branch but looks like we need to patch the setup.py in 0.4 branch and release a new minor version

**Environment:**

- Istio Version:
- Knative Version:
- KFServing Version:
- Kubeflow version:
- Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
- Minikube version:
- Kubernetes version: (use `kubectl version`):
- OS (e.g. from `/etc/os-release`):



Discussion:
Issue Label Bot is not confident enough to auto-label this issue.
                See [dashboard](https://label-bot-prod.mlbot.net/data/kubeflow/kfserving) for more details.
                
Issue Label Bot is not confident enough to auto-label this issue.
                See [dashboard](https://label-bot-prod.mlbot.net/data/kubeflow/kfserving) for more details.
                

Resolving patch:
diff --git a/python/alibiexplainer/setup.py b/python/alibiexplainer/setup.py
--- a/python/alibiexplainer/setup.py
+++ b/python/alibiexplainer/setup.py
@@ -32,6 +32,7 @@
     python_requires='>=3.6',
     packages=find_packages("alibiexplainer"),
     install_requires=[
+        "shap==0.35",
         "kfserving>=0.4.0",
         "alibi==0.4.0",
         "scikit-learn>=0.20.3",


Test patch:
diff --git a/python/kfserving/test/test_storage.py b/python/kfserving/test/test_storage.py
--- a/python/kfserving/test/test_storage.py
+++ b/python/kfserving/test/test_storage.py
@@ -73,7 +73,7 @@ def test_no_permission_buckets(mock_connection, mock_minio):
     bad_gcs_path = "gs://random/path"
     # Access private buckets without credentials
     mock_minio.return_value = Minio("s3.us.cloud-object-storage.appdomain.cloud", secure=True)
-    mock_connection.side_effect = error.AccessDenied(None)
+    mock_connection.side_effect = error.AccessDenied()
     with pytest.raises(error.AccessDenied):
         kfserving.Storage.download(bad_s3_path)
     mock_connection.side_effect = exceptions.Forbidden(None)
diff --git a/test/scripts/run-e2e-tests.sh b/test/scripts/run-e2e-tests.sh
--- a/test/scripts/run-e2e-tests.sh
+++ b/test/scripts/run-e2e-tests.sh
@@ -80,9 +80,9 @@ kubectl create clusterrolebinding cluster-admin-binding \
   --user=$(gcloud config get-value core/account)
 
 # Install and Initialize Helm
-curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
-chmod 700 get_helm.sh
-./get_helm.sh
+wget https://get.helm.sh/helm-v3.0.2-linux-amd64.tar.gz
+tar xvf helm-v3.0.2-linux-amd64.tar.gz
+mv linux-amd64/helm /usr/local/bin/
 
 echo "Install istio ..."
 mkdir istio_tmp