You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by my...@apache.org on 2020/04/03 14:54:03 UTC

[incubator-dlab] 01/01: [DLAB-1565]: Notebook creation fails fixes

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

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

commit 4ee0c31fd049828b22d5b11974e19bffb0d43f18
Author: bodnarmykola <bo...@gmail.com>
AuthorDate: Thu Apr 2 16:16:26 2020 +0300

    [DLAB-1565]: Notebook creation fails fixes
---
 .../src/general/lib/os/debian/common_lib.py        | 56 ++++++++++++++--------
 .../src/general/lib/os/fab.py                      |  1 +
 2 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/infrastructure-provisioning/src/general/lib/os/debian/common_lib.py b/infrastructure-provisioning/src/general/lib/os/debian/common_lib.py
index 2ca635d..c70e9a9 100644
--- a/infrastructure-provisioning/src/general/lib/os/debian/common_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/common_lib.py
@@ -30,30 +30,44 @@ import time
 
 def manage_pkg(command, environment, requisites):
     try:
-        allow = False
-        counter = 0
-        while not allow:
-            if counter > 60:
+        attempt = 0
+        installed = False
+        while not installed:
+            print('Pkg installation attempt: {}'.format(attempt))
+            if attempt > 60:
                 print("Notebook is broken please recreate it.")
                 sys.exit(1)
             else:
-                print('Package manager is:')
-                if environment == 'remote':
-                    if sudo('pgrep "^apt" -a && echo "busy" || echo "ready"') == 'busy':
-                        counter += 1
-                        time.sleep(10)
-                    else:
-                        allow = True
-                        sudo('apt-get {0} {1}'.format(command, requisites))
-                elif environment == 'local':
-                    if local('sudo pgrep "^apt" -a && echo "busy" || echo "ready"', capture=True) == 'busy':
-                        counter += 1
-                        time.sleep(10)
-                    else:
-                        allow = True
-                        local('sudo apt-get {0} {1}'.format(command, requisites), capture=True)
-                else:
-                    print('Wrong environment')
+                try:
+                    allow = False
+                    counter = 0
+                    while not allow:
+                        if counter > 60:
+                            print("Notebook is broken please recreate it.")
+                            sys.exit(1)
+                        else:
+                            print('Package manager is:')
+                            if environment == 'remote':
+                                if sudo('pgrep "^apt" -a && echo "busy" || echo "ready"') == 'busy':
+                                    counter += 1
+                                    time.sleep(10)
+                                else:
+                                    allow = True
+                                    sudo('apt-get {0} {1}'.format(command, requisites))
+                            elif environment == 'local':
+                                if local('sudo pgrep "^apt" -a && echo "busy" || echo "ready"', capture=True) == 'busy':
+                                    counter += 1
+                                    time.sleep(10)
+                                else:
+                                    allow = True
+                                    local('sudo apt-get {0} {1}'.format(command, requisites), capture=True)
+                            else:
+                                print('Wrong environment')
+                    installed = True
+                except:
+                    print("Will try to install with nex attempt.")
+                    sudo('dpkg --configure -a')
+                    attempt += 1
     except:
         sys.exit(1)
 
diff --git a/infrastructure-provisioning/src/general/lib/os/fab.py b/infrastructure-provisioning/src/general/lib/os/fab.py
index e5fc30f..cd15d42 100644
--- a/infrastructure-provisioning/src/general/lib/os/fab.py
+++ b/infrastructure-provisioning/src/general/lib/os/fab.py
@@ -41,6 +41,7 @@ def ensure_pip(requisites):
             sudo('echo PATH=$PATH:/usr/local/bin/:/opt/spark/bin/ >> /etc/profile')
             sudo('echo export PATH >> /etc/profile')
             sudo('pip install -UI pip=={} --no-cache-dir'.format(os.environ['conf_pip_version']))
+            sudo('pip install --upgrade setuptools')
             sudo('pip install -U {} --no-cache-dir'.format(requisites))
             sudo('touch /home/{}/.ensure_dir/pip_path_added'.format(os.environ['conf_os_user']))
     except:


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