diff options
Diffstat (limited to 'deploy/dha_adapters/ipmi_adapter.py')
-rw-r--r-- | deploy/dha_adapters/ipmi_adapter.py | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/deploy/dha_adapters/ipmi_adapter.py b/deploy/dha_adapters/ipmi_adapter.py index 6ce4012f4..7cc930554 100644 --- a/deploy/dha_adapters/ipmi_adapter.py +++ b/deploy/dha_adapters/ipmi_adapter.py @@ -49,7 +49,8 @@ class IpmiAdapter(HardwareAdapter): def node_get_state(self, node_id): state = exec_cmd('%s chassis power status' % self.ipmi_cmd(node_id), attempts=self.attempts, delay=self.delay, - verbose=True) + verbose=True, + mask_args=[8,10]) return state def _node_power_cmd(self, node_id, cmd): @@ -59,10 +60,12 @@ class IpmiAdapter(HardwareAdapter): pow_cmd = '%s chassis power %s' % (self.ipmi_cmd(node_id), cmd) exec_cmd(pow_cmd, attempts=self.attempts, delay=self.delay, - verbose=True) + verbose=True, + mask_args=[8,10]) attempts = self.attempts while attempts: + time.sleep(self.delay) state = self.node_get_state(node_id) attempts -= 1 if state == expected: @@ -70,7 +73,7 @@ class IpmiAdapter(HardwareAdapter): elif attempts != 0: # reinforce our will, but allow the command to fail, # we know our message got across once already... - exec_cmd(pow_cmd, check=False) + exec_cmd(pow_cmd, check=False, mask_args=[8,10]) err('Could not set chassis %s for node %s' % (cmd, node_id)) @@ -85,7 +88,9 @@ class IpmiAdapter(HardwareAdapter): def node_reset(self, node_id): log('RESET Node %s' % node_id) cmd = '%s chassis power reset' % self.ipmi_cmd(node_id) - exec_cmd(cmd, attempts=self.attempts, delay=self.delay, verbose=True) + exec_cmd(cmd, attempts=self.attempts, delay=self.delay, + verbose=True, + mask_args=[8,10]) def node_set_boot_order(self, node_id, boot_order_list): log('Set boot order %s on Node %s' % (boot_order_list, node_id)) @@ -95,11 +100,15 @@ class IpmiAdapter(HardwareAdapter): if dev == 'pxe': exec_cmd('%s chassis bootdev pxe options=persistent' % cmd_prefix, attempts=self.attempts, delay=self.delay, - verbose=True) + verbose=True, + mask_args=[8,10]) elif dev == 'iso': exec_cmd('%s chassis bootdev cdrom' % cmd_prefix, - attempts=self.attempts, delay=self.delay, verbose=True) + attempts=self.attempts, delay=self.delay, + verbose=True, + mask_args=[8,10]) elif dev == 'disk': exec_cmd('%s chassis bootdev disk options=persistent' % cmd_prefix, attempts=self.attempts, delay=self.delay, - verbose=True) + verbose=True, + mask_args=[8,10]) |