]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
Check ipmi credentials in a separate method
authorZack Cerza <zack@redhat.com>
Mon, 22 Aug 2016 22:59:31 +0000 (16:59 -0600)
committerZack Cerza <zack@redhat.com>
Tue, 23 Aug 2016 20:40:20 +0000 (14:40 -0600)
And also call it from spawn_sol_log()

Signed-off-by: Zack Cerza <zack@redhat.com>
teuthology/orchestra/console.py

index c8ec2a5921d7a1f44f06f54474d5ad8b7078c568..e32acd6ec2c30bda6eb2a9afca701fbd74049f4b 100644 (file)
@@ -32,16 +32,23 @@ class PhysicalConsole():
         self.ipmiuser = ipmiuser or config.ipmi_user
         self.ipmipass = ipmipass or config.ipmi_password
         self.ipmidomain = ipmidomain or config.ipmi_domain
+        self.has_credentials = all(map(
+            lambda x: x is not None,
+            [self.ipmiuser, self.ipmipass, self.ipmidomain]
+        ))
 
-    def _pexpect_spawn(self, cmd):
-        """
-        Run the cmd specified using ipmitool.
-        """
-        if not self.ipmiuser or not self.ipmipass or not self.ipmidomain:
+    def _check_credentials(self):
+        if not self.has_credentials:
             log.error(
                 "Must set ipmi_user, ipmi_password, and ipmi_domain in " \
                 ".teuthology.yaml"
             )
+
+    def _pexpect_spawn(self, cmd):
+        """
+        Run the cmd specified using ipmitool.
+        """
+        self._check_credentials()
         full_command = self._build_command(cmd)
         log.debug('pexpect command: %s', full_command)
         child = pexpect.spawn(
@@ -218,6 +225,7 @@ class PhysicalConsole():
 
         :returns: a subprocess.Popen object
         """
+        self._check_credentials()
         ipmi_cmd = self._build_command('sol activate')
         pexpect_templ = \
             "import pexpect; " \