Change default to `False for use_ipmitool_retries`

A new configuration parameter was introduced in
https://review.opendev.org/#/c/731676/ to work around an
issue with some BMCs that don't support the Cipher
Suites command.  This changes the default value to
``False`` so that Ironic will do the retries by default.

Note that this should not be backported to avoid changing
the behaviour in stable branches.

Change-Id: I34bf7e5d79defc23161213aa8942edace4b87b78
Story: 2007632
Task: 39676
This commit is contained in:
Bob Fournier 2020-05-29 08:33:22 -04:00
parent dac810aaf4
commit 3ae7e6880d
3 changed files with 15 additions and 2 deletions

View File

@ -38,13 +38,13 @@ opts = [
'that setting this too low may cause the BMC to crash. ' 'that setting this too low may cause the BMC to crash. '
'Recommended setting is 5 seconds.')), 'Recommended setting is 5 seconds.')),
cfg.BoolOpt('use_ipmitool_retries', cfg.BoolOpt('use_ipmitool_retries',
default=True, default=False,
help=_('When set to True and the parameters are supported by ' help=_('When set to True and the parameters are supported by '
'ipmitool, the number of retries and the retry ' 'ipmitool, the number of retries and the retry '
'interval are passed to ipmitool as parameters, and ' 'interval are passed to ipmitool as parameters, and '
'ipmitool will do the retries. When set to False, ' 'ipmitool will do the retries. When set to False, '
'ironic will retry the ipmitool commands. ' 'ironic will retry the ipmitool commands. '
'Recommended setting is True')), 'Recommended setting is False')),
cfg.BoolOpt('kill_on_timeout', cfg.BoolOpt('kill_on_timeout',
default=True, default=True,
mutable=True, mutable=True,

View File

@ -1037,6 +1037,8 @@ class IPMIToolPrivateMethodTestCase(
mock_support.return_value = True mock_support.return_value = True
mock_exec.return_value = (None, None) mock_exec.return_value = (None, None)
self.config(use_ipmitool_retries=True, group='ipmi')
ipmi._exec_ipmitool(self.info, 'A B C') ipmi._exec_ipmitool(self.info, 'A B C')
mock_support.assert_called_once_with('timing') mock_support.assert_called_once_with('timing')
@ -1301,6 +1303,8 @@ class IPMIToolPrivateMethodTestCase(
'A', 'B', 'C', 'A', 'B', 'C',
] ]
self.config(use_ipmitool_retries=True, group='ipmi')
mock_support.return_value = False mock_support.return_value = False
mock_exec.side_effect = processutils.ProcessExecutionError("x") mock_exec.side_effect = processutils.ProcessExecutionError("x")
self.assertRaises(processutils.ProcessExecutionError, self.assertRaises(processutils.ProcessExecutionError,

View File

@ -0,0 +1,9 @@
---
fixes:
- |
Change the default for ``use_ipmitool_retries`` to ``False`` so that
Ironic will do the retries by default. This is needed for certain BMCs
that don't support the Cipher Suites command and ipmitool retries take an
excessively long time. See `story 2007632
<https://storyboard.openstack.org/#!/story/2007632>`_ for additional
information.