This is an automated email from the ASF dual-hosted git repository.

lfrolov pushed a commit to branch DLAB-1961
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit c27dd4e10f21160d50f98f5dbc811d03b3d129f8
Author: leonidfrolov <frolovl...@gmail.com>
AuthorDate: Fri Jul 24 14:13:42 2020 +0300

    [DLAB-1962]: made new response in case of exception for apt yum pip R and 
java
---
 .../src/general/lib/os/debian/notebook_lib.py       |  8 ++++++--
 .../src/general/lib/os/fab.py                       | 21 ++++++++++++++-------
 .../src/general/lib/os/redhat/notebook_lib.py       | 10 +++++++---
 3 files changed, 27 insertions(+), 12 deletions(-)

diff --git 
a/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py 
b/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
index cc8a2b2..3b3ba3f 100644
--- a/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
@@ -412,8 +412,12 @@ def install_os_pkg(requisites):
         sudo('export LC_ALL=C')
         return status
     except Exception as err:
-        append_result("Failed to install OS packages", str(err))
-        sys.exit(1)
+        for os_pkg in requisites:
+            name, vers = os_pkg
+            status.append(
+                {"group": "os_pkg", "name": name, "version": vers, "status": 
'failed', "error_message": err})
+        print("Failed to install OS packages: {}".format(requisites))
+        return status
 
 
 @backoff.on_exception(backoff.expo, SystemExit, max_tries=10)
diff --git a/infrastructure-provisioning/src/general/lib/os/fab.py 
b/infrastructure-provisioning/src/general/lib/os/fab.py
index bdb8c5a..a277cf1 100644
--- a/infrastructure-provisioning/src/general/lib/os/fab.py
+++ b/infrastructure-provisioning/src/general/lib/os/fab.py
@@ -117,9 +117,11 @@ def install_pip_pkg(requisites, pip_version, lib_group):
                            "error_message": err, "available_versions": 
versions, "add_pkgs": dep})
         return status
     except Exception as err:
-        append_result("Failed to install {} packages".format(pip_version), 
str(err))
+        for pip_pkg in requisites:
+            name, vers = pip_pkg
+            status.append({"group": lib_group, "name": name, "version": vers, 
"status": 'installation_error', "error_message": err})
         print("Failed to install {} packages".format(pip_version))
-        sys.exit(1)
+        return status
 
 
 def id_generator(size=10, chars=string.digits + string.ascii_letters):
@@ -458,9 +460,12 @@ def install_r_pkg(requisites):
             status.append({"group": "r_pkg", "name": name, "version": version, 
"status": status_msg, "error_message": err, "available_versions": versions, 
"add_pkgs": dep})
         return status
     except Exception as err:
-        append_result("Failed to install R packages", str(err))
+        for r_pkg in requisites:
+            name, vers = r_pkg
+            status.append(
+                {"group": "r_pkg", "name": name, "version": vers, "status": 
'installation_error', "error_message": err})
         print("Failed to install R packages")
-        sys.exit(1)
+        return status
 
 
 def update_spark_jars(jars_dir='/opt/jars'):
@@ -522,10 +527,12 @@ def install_java_pkg(requisites):
         update_spark_jars()
         return status
     except Exception as err:
-        append_result("Failed to install {} packages".format(requisites), 
str(err))
+        for java_pkg in requisites:
+            group, artifact, version, override = java_pkg
+            status.append({"group": "java", "name": "{0}:{1}".format(group, 
artifact), "status": "installation_error",
+                           "error_message": err})
         print("Failed to install {} packages".format(requisites))
-        sys.exit(1)
-
+        return status
 
 def get_available_r_pkgs():
     try:
diff --git 
a/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py 
b/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
index 34bae34..93627fb 100644
--- a/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
@@ -360,9 +360,13 @@ def install_os_pkg(requisites):
             except:
                 status.append({"group": "os_pkg", "name": os_pkg, "status": 
"failed", "error_message": err})
         return status
-    except:
-        return "Fail to install OS packages"
-
+    except Exception as err:
+        for os_pkg in requisites:
+            name, vers = os_pkg
+            status.append(
+                {"group": "os_pkg", "name": name, "version": vers, "status": 
'failed', "error_message": err})
+        print("Failed to install OS packages: {}".format(requisites))
+        return status
 
 def remove_os_pkg(pkgs):
     try:


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org
For additional commands, e-mail: commits-h...@dlab.apache.org

Reply via email to