From 3afa8bb13b76b754732011e3d0e871c8fce4d6f4 Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Mon, 22 Aug 2016 16:59:31 -0600 Subject: [PATCH] Check ipmi credentials in a separate method And also call it from spawn_sol_log() Signed-off-by: Zack Cerza --- teuthology/orchestra/console.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/teuthology/orchestra/console.py b/teuthology/orchestra/console.py index c8ec2a5921..e32acd6ec2 100644 --- a/teuthology/orchestra/console.py +++ b/teuthology/orchestra/console.py @@ -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; " \ -- 2.39.5