]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
orchestra/remote: use sh instead of run 1359/head
authorKyr Shatskyy <kyrylo.shatskyy@suse.com>
Fri, 15 Nov 2019 16:56:55 +0000 (17:56 +0100)
committerKyr Shatskyy <kyrylo.shatskyy@suse.com>
Fri, 15 Nov 2019 17:37:14 +0000 (18:37 +0100)
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
teuthology/orchestra/remote.py

index f9032e7bc8f12d063a4b492da7855a0e7dce15f4..60436d917c769e94049238dce9cb21a35f9b9bdb 100644 (file)
@@ -7,6 +7,7 @@ from teuthology.orchestra import run
 from teuthology.orchestra import connection
 from teuthology.orchestra.opsys import OS
 from teuthology import misc
+from teuthology.exceptions import CommandFailedError
 from teuthology.misc import host_shortname
 import time
 import re
@@ -123,14 +124,9 @@ class Remote(object):
         return self._cidr
 
     def _set_iface_and_cidr(self):
-        proc = self.run(
-            args=['PATH=/sbin:/usr/sbin', 'ip', 'addr', 'show'],
-            stdout=StringIO(),
-        )
-        proc.wait()
+        ip_addr_show = self.sh('PATH=/sbin:/usr/sbin ip addr show')
         regexp = 'inet.? %s' % self.ip_address
-        proc.stdout.seek(0)
-        for line in proc.stdout.readlines():
+        for line in ip_addr_show.split('\n'):
             line = line.strip()
             if re.match(regexp, line):
                 items = line.split()
@@ -142,9 +138,7 @@ class Remote(object):
     @property
     def hostname(self):
         if not hasattr(self, '_hostname'):
-            proc = self.run(args=['hostname', '--fqdn'], stdout=StringIO())
-            proc.wait()
-            self._hostname = proc.stdout.getvalue().strip()
+            self._hostname = self.sh('hostname --fqdn').strip()
         return self._hostname
 
     @property
@@ -262,7 +256,7 @@ class Remote(object):
         """
         ftempl = '/tmp/teuthology-remote-$(date +%Y%m%d%H%M%S)-{}-XXXX'\
                  .format(label)
-        script_file = self.sh("mktemp %s" % ftempl, stdout=StringIO()).strip()
+        script_file = self.sh("mktemp %s" % ftempl).strip()
         self.sh("cat - | tee {script} ; chmod a+rx {script}"\
             .format(script=script_file), stdin=script)
         if sudo:
@@ -448,23 +442,21 @@ class Remote(object):
     @property
     def os(self):
         if not hasattr(self, '_os'):
-            proc = self.run(args=['cat', '/etc/os-release'], stdout=StringIO(),
-                            stderr=StringIO(), check_status=False)
-            if proc.exitstatus == 0:
-                self._os = OS.from_os_release(proc.stdout.getvalue().strip())
+            try:
+                os_release = self.sh('cat /etc/os-release').strip()
+                self._os = OS.from_os_release(os_release)
                 return self._os
+            except CommandFailedError:
+                pass
 
-            proc = self.run(args=['lsb_release', '-a'], stdout=StringIO(),
-                            stderr=StringIO())
-            self._os = OS.from_lsb_release(proc.stdout.getvalue().strip())
+            lsb_release = self.sh('lsb_release -a').strip()
+            self._os = OS.from_lsb_release(lsb_release)
         return self._os
 
     @property
     def arch(self):
         if not hasattr(self, '_arch'):
-            proc = self.run(args=['uname', '-m'], stdout=StringIO())
-            proc.wait()
-            self._arch = proc.stdout.getvalue().strip()
+            self._arch = self.sh('uname -m').strip()
         return self._arch
 
     @property