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/02/17 16:09:33 UTC

[incubator-dlab] branch DLAB-1527 updated: [DLAB-1527]: fixes for RedHat implemented

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

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


The following commit(s) were added to refs/heads/DLAB-1527 by this push:
     new 6b0c738  [DLAB-1527]: fixes for RedHat implemented
6b0c738 is described below

commit 6b0c738c0403b20ce1a0aa9cda2a5db4cb74734d
Author: Mykola_Bodnar1 <bo...@gmail.com>
AuthorDate: Mon Feb 17 18:09:15 2020 +0200

    [DLAB-1527]: fixes for RedHat implemented
---
 .../src/general/lib/os/redhat/common_lib.py        | 36 ++++++++++---
 .../src/general/lib/os/redhat/edge_lib.py          |  7 ++-
 .../src/general/lib/os/redhat/notebook_lib.py      | 59 +++++++++++-----------
 .../src/general/lib/os/redhat/ssn_lib.py           | 20 ++++----
 4 files changed, 70 insertions(+), 52 deletions(-)

diff --git a/infrastructure-provisioning/src/general/lib/os/redhat/common_lib.py b/infrastructure-provisioning/src/general/lib/os/redhat/common_lib.py
index fa57572..d4209b8 100644
--- a/infrastructure-provisioning/src/general/lib/os/redhat/common_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/common_lib.py
@@ -26,6 +26,26 @@ from fabric.contrib.files import exists
 import sys
 import os
 
+def manage_pkg(command, environment, requisites):
+    try:
+        allow = False
+        while not allow:
+            if environment == 'remote':
+                if sudo('pgrep yum -a </dev/null &'):
+                    print('Package manager still working, pleae wait')
+                else:
+                    allow = True
+                    sudo('yum {0} {1}'.format(command, requisites))
+            elif environment == 'local':
+                if local('sudo pgrep yum -a </dev/null &'):
+                    print('Package manager still working, pleae wait')
+                else:
+                    allow = True
+                    local('sudo yum {0} {1}'.format(command, requisites))
+            else:
+                print('Wrong environment')
+    except:
+        sys.exit(1)
 
 def ensure_pkg(user, requisites='git vim gcc python-devel openssl-devel nmap libffi libffi-devel unzip libxml2-devel'):
     try:
@@ -45,15 +65,15 @@ def ensure_pkg(user, requisites='git vim gcc python-devel openssl-devel nmap lib
                 sudo('echo "gpgcheck=1" >> centOS-base.repo')
                 sudo('echo "gpgkey=http://{}/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7" >> centOS-base.repo'.format(mirror))
             sudo('yum-config-manager --enable rhui-REGION-rhel-server-optional')
-            sudo('yum update-minimal --security -y')
-            sudo('yum -y install wget')
+            manage_pkg('update-minimal --security -y', 'remote', '')
+            manage_pkg('-y install', 'remote', 'wget')
             sudo('wget --no-check-certificate https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm')
             sudo('rpm -ivh epel-release-latest-7.noarch.rpm')
-            sudo('yum repolist')
-            sudo('yum -y install python-pip gcc')
+            manage_pkg('repolist', 'remote', '')
+            manage_pkg('-y install', 'remote', 'python-pip gcc')
             sudo('rm -f epel-release-latest-7.noarch.rpm')
             sudo('export LC_ALL=C')
-            sudo('yum -y install ' + requisites)
+            manage_pkg('-y install', 'remote', requisites)
             sudo('touch /home/{}/.ensure_dir/pkg_upgraded'.format(user))
     except:
         sys.exit(1)
@@ -80,7 +100,7 @@ def ensure_ntpd(user, edge_private_ip=''):
     try:
         if not exists('/home/{}/.ensure_dir/ntpd_ensured'.format(user)):
             sudo('systemctl disable chronyd')
-            sudo('yum -y install ntp')
+            manage_pkg('-y install', 'remote', 'ntp')
             sudo('echo "tinker panic 0" >> /etc/ntp.conf')
             sudo('systemctl start ntpd')
             if os.environ['conf_resource'] != 'ssn' and os.environ['conf_resource'] != 'edge':
@@ -95,7 +115,7 @@ def ensure_ntpd(user, edge_private_ip=''):
 def ensure_java(user):
     try:
         if not exists('/home/{}/.ensure_dir/java_ensured'.format(user)):
-            sudo('yum -y install java-1.8.0-openjdk-devel')
+            manage_pkg('-y install', 'remote', 'java-1.8.0-openjdk-devel')
             sudo('touch /home/{}/.ensure_dir/java_ensured'.format(user))
     except:
         sys.exit(1)
@@ -104,7 +124,7 @@ def ensure_java(user):
 def ensure_step(user):
     try:
         if not exists('/home/{}/.ensure_dir/step_ensured'.format(user)):
-            sudo('yum install -y wget')
+            manage_pkg('-y install', 'remote', 'wget')
             sudo('wget https://github.com/smallstep/cli/releases/download/v0.13.3/step_0.13.3_linux_amd64.tar.gz '
                  '-O /tmp/step_0.13.3_linux_amd64.tar.gz')
             sudo('tar zxvf /tmp/step_0.13.3_linux_amd64.tar.gz -C /tmp/')
diff --git a/infrastructure-provisioning/src/general/lib/os/redhat/edge_lib.py b/infrastructure-provisioning/src/general/lib/os/redhat/edge_lib.py
index 92a04b5..1113fee 100644
--- a/infrastructure-provisioning/src/general/lib/os/redhat/edge_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/edge_lib.py
@@ -30,7 +30,7 @@ from fabric.contrib.files import exists
 def configure_http_proxy_server(config):
     try:
         if not exists('/tmp/http_proxy_ensured'):
-            sudo('yum -y install squid')
+            manage_pkg('-y install', 'remote', 'squid')
             template_file = config['template_file']
             proxy_subnet = config['exploratory_subnet']
             put(template_file, '/tmp/squid.conf')
@@ -62,14 +62,13 @@ def install_nginx_ldap(edge_ip, nginx_version, ldap_ip, ldap_dn, ldap_ou, ldap_s
                        user, hostname, step_cert_sans):
     try:
         if not os.path.exists('/tmp/nginx_installed'):
-            sudo('yum install -y wget')
+            manage_pkg('-y install', 'remote', 'wget')
             sudo('wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm')
             try:
                 sudo('rpm -ivh epel-release-latest-7.noarch.rpm')
             except:
                 print('Looks like EPEL is already installed.')
-            sudo(
-                'yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel git openldap-devel')
+            manage_pkg('-y install', 'remote', 'gcc gcc-c++ make zlib-devel pcre-devel openssl-devel git openldap-devel')
             if os.environ['conf_stepcerts_enabled'] == 'true':
                 sudo('mkdir -p /home/{0}/keys'.format(user))
                 sudo('''bash -c 'echo "{0}" | base64 --decode > /etc/ssl/certs/root_ca.crt' '''.format(
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 78d70af..26f03f8 100644
--- a/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
@@ -43,7 +43,7 @@ def enable_proxy(proxy_host, proxy_port):
         if exists('/etc/yum.conf'):
             sudo('sed -i "/^proxy=/d" /etc/yum.conf')
         sudo("echo 'proxy={}' >> /etc/yum.conf".format(proxy_string))
-        sudo('yum clean all')
+        manage_pkg('clean all', 'remote', '')
     except:
         sys.exit(1)
 
@@ -88,10 +88,10 @@ def ensure_r(os_user, r_libs, region, r_mirror):
                 r_repository = r_mirror
             else:
                 r_repository = 'https://cloud.r-project.org'
-            sudo('yum install -y cmake')
-            sudo('yum -y install libcur*')
+            manage_pkg('-y install', 'remote', 'cmake')
+            manage_pkg('-y install', 'remote', 'libcur')
             sudo('echo -e "[base]\nname=CentOS-7-Base\nbaseurl=http://buildlogs.centos.org/centos/7/os/x86_64-20140704-1/\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7\npriority=1\nexclude=php mysql" >> /etc/yum.repos.d/CentOS-base.repo')
-            sudo('yum install -y R R-core R-core-devel R-devel --nogpgcheck')
+            manage_pkg('-y install', 'remote', 'R R-core R-core-devel R-devel --nogpgcheck')
             sudo('R CMD javareconf')
             sudo('cd /root; git clone https://github.com/zeromq/zeromq4-x.git; cd zeromq4-x/; mkdir build; cd build; cmake ..; make install; ldconfig')
             for i in r_libs:
@@ -108,7 +108,7 @@ def ensure_r(os_user, r_libs, region, r_mirror):
 def install_rstudio(os_user, local_spark_path, rstudio_pass, rstudio_version):
     if not exists('/home/' + os_user + '/.ensure_dir/rstudio_ensured'):
         try:
-            sudo('yum install -y --nogpgcheck https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-{}-x86_64.rpm'.format(rstudio_version))
+            manage_pkg('-y install --nogpgcheck', 'remote', 'https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-{}-x86_64.rpm'.format(rstudio_version))
             sudo('mkdir -p /mnt/var')
             sudo('chown {0}:{0} /mnt/var'.format(os_user))
             sudo("sed -i '/Type=forking/a \Environment=USER=dlab-user' /etc/systemd/system/rstudio-server.service")
@@ -157,7 +157,7 @@ def ensure_sbt(os_user):
     if not exists('/home/{}/.ensure_dir/sbt_ensured'.format(os_user)):
         try:
             sudo('curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo')
-            sudo('yum install -y sbt')
+            manage_pkg('-y install', 'remote', 'sbt')
             sudo('touch /home/{}/.ensure_dir/sbt_ensured'.format(os_user))
         except:
             sys.exit(1)
@@ -166,8 +166,8 @@ def ensure_sbt(os_user):
 def ensure_jre_jdk(os_user):
     if not exists('/home/' + os_user + '/.ensure_dir/jre_jdk_ensured'):
         try:
-            sudo('yum install -y java-1.8.0-openjdk')
-            sudo('yum install -y java-1.8.0-openjdk-devel')
+            manage_pkg('-y install', 'remote', 'java-1.8.0-openjdk')
+            manage_pkg('-y install', 'remote', 'java-1.8.0-openjdk-devel')
             sudo('touch /home/' + os_user + '/.ensure_dir/jre_jdk_ensured')
         except:
             sys.exit(1)
@@ -186,8 +186,8 @@ def ensure_scala(scala_link, scala_version, os_user):
 def ensure_additional_python_libs(os_user):
     if not exists('/home/' + os_user + '/.ensure_dir/additional_python_libs_ensured'):
         try:
-            sudo('yum clean all')
-            sudo('yum install -y zlib-devel libjpeg-turbo-devel --nogpgcheck')
+            manage_pkg('clean', 'remote', 'all')
+            manage_pkg('-y install', 'remote', 'zlib-devel libjpeg-turbo-devel --nogpgcheck')
             if os.environ['application'] in ('jupyter', 'zeppelin'):
                 sudo('pip2 install NumPy=={} SciPy pandas Sympy Pillow sklearn --no-cache-dir'.format(os.environ['notebook_numpy_version']))
                 sudo('python3.5 -m pip install NumPy=={} SciPy pandas Sympy Pillow sklearn --no-cache-dir'.format(os.environ['notebook_numpy_version']))
@@ -202,8 +202,8 @@ def ensure_additional_python_libs(os_user):
 def ensure_python3_specific_version(python3_version, os_user):
     if not exists('/home/' + os_user + '/.ensure_dir/python3_specific_version_ensured'):
         try:
-            sudo('yum install -y yum-utils python34 openssl-devel')
-            sudo('yum -y groupinstall development --nogpgcheck')
+            manage_pkg('-y install', 'remote', 'yum-utils python34 openssl-devel')
+            manage_pkg('-y groupinstall', 'remote', 'development --nogpgcheck')
             if len(python3_version) < 4:
                 python3_version = python3_version + ".0"
             sudo('wget https://www.python.org/ftp/python/{0}/Python-{0}.tgz'.format(python3_version))
@@ -217,8 +217,8 @@ def ensure_python2_libraries(os_user):
     if not exists('/home/' + os_user + '/.ensure_dir/python2_libraries_ensured'):
         try:
             sudo('pip2 install pyparsing==2.0.3')
-            sudo('yum install -y python-setuptools python-wheel')
-            sudo('yum install -y python-virtualenv openssl-devel python-devel openssl-libs libxslt-devel --nogpgcheck')
+            manage_pkg('-y install', 'remote', 'python-setuptools python-wheel')
+            manage_pkg('-y install', 'remote', 'python-virtualenv openssl-devel python-devel openssl-libs libxslt-devel --nogpgcheck')
             try:
                 sudo('python2 -m pip install backports.shutil_get_terminal_size tornado=={0} ipython ipykernel=={1} --no-cache-dir' \
                      .format(os.environ['notebook_tornado_version'], os.environ['notebook_ipykernel_version']))
@@ -239,8 +239,8 @@ def ensure_python2_libraries(os_user):
 def ensure_python3_libraries(os_user):
     if not exists('/home/' + os_user + '/.ensure_dir/python3_libraries_ensured'):
         try:
-            sudo('yum -y install https://centos7.iuscommunity.org/ius-release.rpm')
-            sudo('yum install -y python35u python35u-pip python35u-devel')
+            manage_pkg('-y install', 'remote', 'https://centos7.iuscommunity.org/ius-release.rpm')
+            manage_pkg('-y install', 'remote', 'python35u python35u-pip python35u-devel')
             sudo('python3.5 -m pip install -U pip=={} setuptools --no-cache-dir'.format(os.environ['conf_pip_version']))
             sudo('python3.5 -m pip install boto3 --no-cache-dir')
             sudo('python3.5 -m pip install fabvenv fabric-virtualenv future --no-cache-dir')
@@ -266,7 +266,7 @@ def install_tensor(os_user, cuda_version, cuda_file_name,
             sudo('dracut --force')
             with settings(warn_only=True):
                 reboot(wait=150)
-            sudo('yum -y install libglvnd-opengl libglvnd-devel dkms gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r)')
+            manage_pkg('-y install', 'remote', 'libglvnd-opengl libglvnd-devel dkms gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r)')
             sudo('wget http://us.download.nvidia.com/XFree86/Linux-x86_64/{0}/NVIDIA-Linux-x86_64-{0}.run -O /home/{1}/NVIDIA-Linux-x86_64-{0}.run'.format(nvidia_version, os_user))
             sudo('/bin/bash /home/{0}/NVIDIA-Linux-x86_64-{1}.run -s --dkms'.format(os_user, nvidia_version))
             sudo('rm -f /home/{0}/NVIDIA-Linux-x86_64-{1}.run'.format(os_user, nvidia_version))
@@ -338,7 +338,7 @@ def install_livy_dependencies_emr(os_user):
 def install_nodejs(os_user):
     if not exists('/home/{}/.ensure_dir/nodejs_ensured'.format(os_user)):
         sudo('curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -')
-        sudo('yum install -y nodejs')
+        manage_pkg('-y install', 'remote', 'nodejs')
         sudo('touch /home/{}/.ensure_dir/nodejs_ensured'.format(os_user))
 
 
@@ -347,10 +347,10 @@ def install_os_pkg(requisites):
     error_parser = "Could not|No matching|Error:|failed|Requires:|Errno"
     try:
         print("Updating repositories and installing requested tools: {}".format(requisites))
-        sudo('yum update-minimal --security -y --skip-broken')
+        manage_pkg('update-minimal --security -y --skip-broken', 'remote', '')
         sudo('export LC_ALL=C')
         for os_pkg in requisites:
-            sudo('yum -y install {0} --nogpgcheck 2>&1 | if ! grep -w -E  "({1})" >  /tmp/os_install_{0}.log; then  echo "" > /tmp/os_install_{0}.log;fi'.format(os_pkg, error_parser))
+            manage_pkg('-y install', 'remote', '{0} --nogpgcheck 2>&1 | if ! grep -w -E  "({1})" >  /tmp/os_install_{0}.log; then  echo "" > /tmp/os_install_{0}.log;fi'.format(os_pkg, error_parser))
             err = sudo('cat /tmp/os_install_{}.log'.format(os_pkg)).replace('"', "'")
             try:
                 res = sudo('python -c "import os,sys,yum; yb = yum.YumBase(); pl = yb.doPackageLists(); print [pkg.vr for pkg in pl.installed if pkg.name == \'{0}\'][0]"'.format(os_pkg))
@@ -365,14 +365,14 @@ def install_os_pkg(requisites):
 
 def remove_os_pkg(pkgs):
     try:
-        sudo('yum remove -y {}'.format(' '.join(pkgs)))
+        manage_pkg('remove -y', 'remote', '{}'.format(' '.join(pkgs)))
     except:
         sys.exit(1)
 
 
 def get_available_os_pkgs():
     try:
-        sudo('yum update-minimal --security -y --skip-broken')
+        manage_pkg('update-minimal --security -y --skip-broken', 'remote', '')
         downgrade_python_version()
         yum_raw = sudo('python -c "import os,sys,yum; yb = yum.YumBase(); pl = yb.doPackageLists(); print {pkg.name:pkg.vr for pkg in pl.available}"')
         yum_re = re.sub\
@@ -387,7 +387,7 @@ def get_available_os_pkgs():
 
 def install_opencv(os_user):
     if not exists('/home/{}/.ensure_dir/opencv_ensured'.format(os_user)):
-        sudo('yum install -y cmake python34 python34-devel python34-pip gcc gcc-c++')
+        manage_pkg('-y install', 'remote', 'cmake python34 python34-devel python34-pip gcc gcc-c++')
         sudo('pip2 install numpy=={} --no-cache-dir'.format(os.environ['notebook_numpy_version']))
         sudo('pip3.4 install numpy=={} --no-cache-dir'.format(os.environ['notebook_numpy_version']))
         sudo('pip3.5 install numpy=={} --no-cache-dir'.format(os.environ['notebook_numpy_version']))
@@ -405,8 +405,8 @@ def install_opencv(os_user):
 def install_caffe2(os_user, caffe2_version, cmake_version):
     if not exists('/home/{}/.ensure_dir/caffe2_ensured'.format(os_user)):
         env.shell = "/bin/bash -l -c -i"
-        sudo('yum update-minimal --security -y')
-        sudo('yum install -y --nogpgcheck automake cmake3 gcc gcc-c++ kernel-devel leveldb-devel lmdb-devel libtool protobuf-devel graphviz')
+        manage_pkg('update-minimal --security -y', 'remote', '')
+        manage_pkg('-y install --nogpgcheck', 'remote', 'automake cmake3 gcc gcc-c++ kernel-devel leveldb-devel lmdb-devel libtool protobuf-devel graphviz')
         sudo('pip2 install flask graphviz hypothesis jupyter matplotlib==2.0.2 numpy=={} protobuf pydot python-nvd3 pyyaml '
              'requests scikit-image scipy setuptools tornado future --no-cache-dir'.format(os.environ['notebook_numpy_version']))
         sudo('pip3.5 install flask graphviz hypothesis jupyter matplotlib==2.0.2 numpy=={} protobuf pydot python-nvd3 pyyaml '
@@ -432,8 +432,9 @@ def install_caffe2(os_user, caffe2_version, cmake_version):
 def install_cntk(os_user, cntk_version):
     if not exists('/home/{}/.ensure_dir/cntk_ensured'.format(os_user)):
         sudo('echo "exclude=*.i386 *.i686" >> /etc/yum.conf')
-        sudo('yum clean all && yum update-minimal --security -y')
-        sudo('yum install -y openmpi openmpi-devel --nogpgcheck')
+        manage_pkg('clean', 'remote', 'all')
+        manage_pkg('update-minimal --security -y', 'remote', '')
+        manage_pkg('-y install --nogpgcheck', 'remote', 'openmpi openmpi-devel')
         sudo('pip2 install https://cntk.ai/PythonWheel/GPU/cntk-{}-cp27-cp27mu-linux_x86_64.whl --no-cache-dir'.format(cntk_version))
         sudo('pip3.5 install https://cntk.ai/PythonWheel/GPU/cntk-{}-cp35-cp35m-linux_x86_64.whl --no-cache-dir'.format(cntk_version))
         sudo('touch /home/{}/.ensure_dir/cntk_ensured'.format(os_user))
@@ -464,9 +465,7 @@ def install_torch(os_user):
     if not exists('/home/{}/.ensure_dir/torch_ensured'.format(os_user)):
         run('git clone https://github.com/torch/distro.git ~/torch --recursive')
         with cd('/home/{}/torch/'.format(os_user)):
-            sudo('yum install -y --nogpgcheck cmake curl readline-devel ncurses-devel gcc-c++ gcc-gfortran git '
-                 'gnuplot unzip libjpeg-turbo-devel libpng-devel ImageMagick GraphicsMagick-devel fftw-devel '
-                 'sox-devel sox zeromq3-devel qt-devel qtwebkit-devel sox-plugins-freeworld qt-devel')
+            manage_pkg('-y install --nogpgcheck', 'remote', 'cmake curl readline-devel ncurses-devel gcc-c++ gcc-gfortran git gnuplot unzip libjpeg-turbo-devel libpng-devel ImageMagick GraphicsMagick-devel fftw-devel sox-devel sox zeromq3-devel qt-devel qtwebkit-devel sox-plugins-freeworld qt-devel')
             run('./install.sh -b')
         run('source /home/{}/.bashrc'.format(os_user))
         sudo('touch /home/{}/.ensure_dir/torch_ensured'.format(os_user))
diff --git a/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py b/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
index 0dd17b8..b304d95 100644
--- a/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
@@ -48,9 +48,9 @@ def ensure_docker_daemon(dlab_path, os_user, region):
                 sudo('echo "gpgcheck=1" >> centos.repo')
                 sudo('echo "gpgkey=http://{}/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7" >> centos.repo'.format(mirror))
             sudo('yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo')
-            sudo('yum update-minimal --security -y')
-            sudo('yum install container-selinux -y')
-            sudo('yum install docker-ce-{}.ce -y'.format(docker_version))
+            manage_pkg('update-minimal --security -y', 'remote', '')
+            manage_pkg('-y install', 'remote', 'container-selinux')
+            manage_pkg('-y install', 'remote', 'docker-ce-{}.ce'.format(docker_version))
             sudo('usermod -aG docker {}'.format(os_user))
             sudo('systemctl enable docker.service')
             sudo('systemctl start docker')
@@ -63,7 +63,7 @@ def ensure_docker_daemon(dlab_path, os_user, region):
 def ensure_nginx(dlab_path):
     try:
         if not exists('{}tmp/nginx_ensured'.format(dlab_path)):
-            sudo('yum -y install nginx')
+            manage_pkg('-y install', 'remote', 'nginx')
             sudo('systemctl restart nginx.service')
             sudo('chkconfig nginx on')
             sudo('touch {}tmp/nginx_ensured'.format(dlab_path))
@@ -81,8 +81,8 @@ def ensure_jenkins(dlab_path):
                 sudo('rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key')
             except:
                 pass
-            sudo('yum -y install jenkins')
-            sudo('yum -y install policycoreutils-python')
+            manage_pkg('-y install', 'remote', 'jenkins')
+            manage_pkg('-y install', 'remote', 'policycoreutils-python')
             sudo('touch {}tmp/jenkins_ensured'.format(dlab_path))
     except Exception as err:
         traceback.print_exc()
@@ -160,7 +160,7 @@ def configure_nginx(config, dlab_path, hostname):
 def ensure_supervisor():
     try:
         if not exists('{}tmp/superv_ensured'.format(os.environ['ssn_dlab_path'])):
-            sudo('yum install -y supervisor')
+            manage_pkg('-y install', 'remote', 'supervisor')
             #sudo('pip install supervisor')
             sudo('chkconfig supervisord on')
             sudo('systemctl start supervisord')
@@ -180,7 +180,7 @@ def ensure_mongo():
                  '\nenabled=1'
                  '\ngpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc" '
                  '> /etc/yum.repos.d/mongodb.repo')
-            sudo('yum install -y mongodb-org')
+            manage_pkg('-y install', 'remote', 'mongodb-org')
             sudo('semanage port -a -t mongod_port_t -p tcp 27017')
             sudo('chkconfig mongod on')
             sudo('echo "d /var/run/mongodb 0755 mongod mongod" > /lib/tmpfiles.d/mongodb.conf')
@@ -372,14 +372,14 @@ def install_build_dep():
     try:
         if not exists('{}tmp/build_dep_ensured'.format(os.environ['ssn_dlab_path'])):
             maven_version = '3.5.4'
-            sudo('yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel git wget unzip')
+            manage_pkg('-y install', 'remote', 'java-1.8.0-openjdk java-1.8.0-openjdk-devel git wget unzip')
             with cd('/opt/'):
                 sudo('wget http://mirrors.sonic.net/apache/maven/maven-{0}/{1}/binaries/apache-maven-{1}-bin.zip'.format(
                     maven_version.split('.')[0], maven_version))
                 sudo('unzip apache-maven-{}-bin.zip'.format(maven_version))
                 sudo('mv apache-maven-{} maven'.format(maven_version))
             sudo('bash -c "curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -"')
-            sudo('yum install -y nodejs')
+            manage_pkg('-y install', 'remote', 'nodejs')
             sudo('npm config set unsafe-perm=true')
             sudo('touch {}tmp/build_dep_ensured'.format(os.environ['ssn_dlab_path']))
     except Exception as err:


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