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


The following commit(s) were added to refs/heads/DLAB-1961 by this push:
     new bef18ec  [DLAB-1961]: pip now upgrades lib if version is not specified 
and new version is available
bef18ec is described below

commit bef18ec41e6c52232394ac59355767529d5cf598
Author: leonidfrolov <frolovl...@gmail.com>
AuthorDate: Thu Jul 23 13:53:19 2020 +0300

    [DLAB-1961]: pip now upgrades lib if version is not specified and new 
version is available
---
 infrastructure-provisioning/src/general/lib/os/fab.py | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/infrastructure-provisioning/src/general/lib/os/fab.py 
b/infrastructure-provisioning/src/general/lib/os/fab.py
index c6c1f53..1592313 100644
--- a/infrastructure-provisioning/src/general/lib/os/fab.py
+++ b/infrastructure-provisioning/src/general/lib/os/fab.py
@@ -68,7 +68,7 @@ def install_pip_pkg(requisites, pip_version, lib_group):
             else:
                 version = pip_pkg[1]
                 pip_pkg = "{}=={}".format(pip_pkg[0], pip_pkg[1])
-            sudo('{0} install {1} --no-cache-dir 2>&1 | tee /tmp/tee.tmp; if ! 
grep -w -i -E  "({2})" /tmp/tee.tmp >  /tmp/{0}install_{1}.log; then  echo "" > 
/tmp/{0}install_{1}.log;fi'.format(pip_version, pip_pkg, error_parser))
+            sudo('{0} install -U {1} --no-cache-dir 2>&1 | tee /tmp/tee.tmp; 
if ! grep -w -i -E  "({2})" /tmp/tee.tmp >  /tmp/{0}install_{1}.log; then  echo 
"" > /tmp/{0}install_{1}.log;fi'.format(pip_version, pip_pkg, error_parser))
             err = sudo('cat /tmp/{0}install_{1}.log'.format(pip_version, 
pip_pkg)).replace('"', "'")
             sudo('{0} freeze | if ! grep -w -i {1} > /tmp/{0}install_{1}.list; 
then  echo "" > /tmp/{0}install_{1}.list;fi'.format(pip_version, pip_pkg))
             res = sudo('cat /tmp/{0}install_{1}.list'.format(pip_version, 
pip_pkg))
@@ -79,7 +79,9 @@ def install_pip_pkg(requisites, pip_version, lib_group):
                 sudo('{0} freeze | if ! grep -w -i {1} > 
/tmp/{0}install_{1}.list; then  echo "" > '
                      '/tmp/{0}install_{1}.list;fi'.format(pip_version, 
changed_pip_pkg))
                 res = sudo('cat /tmp/{0}install_{1}.list'.format(pip_version, 
changed_pip_pkg))
-            if res:
+            if err:
+                status_msg = 'failed'
+            elif res:
                 res = res.lower()
                 ansi_escape = re.compile(r'\x1b[^m]*m')
                 ver = ansi_escape.sub('', res).split("\r\n")
@@ -88,9 +90,7 @@ def install_pip_pkg(requisites, pip_version, lib_group):
                 else:
                     version = \
                     [i for i in ver if pip_pkg.split("==")[0].lower() in 
i][0].split('==')[1]
-                    status_msg = "installed"
-            else:
-                status_msg = 'failed'
+                status_msg = "installed"
             versions = []
             if 'Could not find a version that satisfies the requirement' in 
err:
                 versions = err[err.find("(from versions: ") + 16: 
err.find(")\r\n")]
@@ -442,12 +442,12 @@ def install_r_pkg(requisites):
             err = sudo('cat /tmp/install_{0}.log'.format(name)).replace('"', 
"'")
             sudo('R -e \'installed.packages()[,c(3:4)]\' | if ! grep -w {0} > 
/tmp/install_{0}.list; then  echo "" > /tmp/install_{0}.list;fi'.format(name))
             res = sudo('cat /tmp/install_{0}.list'.format(name))
-            if res:
+            if err:
+                status_msg = 'failed'
+            elif res:
                 ansi_escape = re.compile(r'\x1b[^m]*m')
                 version = ansi_escape.sub('', 
res).split("\r\n")[0].split('"')[1]
                 status_msg = 'installed'
-            else:
-                status_msg = 'failed'
             if 'Error in download_version_url(package, version, repos, type) 
:' in err:
                 sudo('R -e \'install.packages("versions", 
repos="https://cloud.r-project.org";, dep=TRUE)\'')
                 versions = sudo('R -e \'library(versions); 
available.versions("' + name + '")\' 2>&1 | grep -A 50 '


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

Reply via email to