Deprecate introspection_delay_drivers option and make it no-op
With switch to virtualbmc we can no longer distinguish between virtual and bare metal nodes. To stay on a safer side, introspection_delay now affects all drivers. I'm also aware of similar DHCP problems on bare metal. Also renamed unit tests for clarity. Change-Id: I7d69cd899ec4d893b21cc49d59834dd3c83e0fe2
This commit is contained in:
parent
71099c9248
commit
0a321235bf
@ -58,9 +58,11 @@
|
|||||||
# Delay (in seconds) between two introspections. (integer value)
|
# Delay (in seconds) between two introspections. (integer value)
|
||||||
#introspection_delay = 5
|
#introspection_delay = 5
|
||||||
|
|
||||||
# Only node with drivers matching this regular expression will be
|
# DEPRECATED: Only node with drivers matching this regular expression
|
||||||
# affected by introspection_delay setting. (string value)
|
# will be affected by introspection_delay setting. (string value)
|
||||||
#introspection_delay_drivers = ^.*_ssh$
|
# This option is deprecated for removal.
|
||||||
|
# Its value may be silently ignored in the future.
|
||||||
|
#introspection_delay_drivers = .*
|
||||||
|
|
||||||
# Ironic driver_info fields that are equivalent to ipmi_address. (list
|
# Ironic driver_info fields that are equivalent to ipmi_address. (list
|
||||||
# value)
|
# value)
|
||||||
|
@ -203,10 +203,11 @@ SERVICE_OPTS = [
|
|||||||
default=5,
|
default=5,
|
||||||
help=_('Delay (in seconds) between two introspections.')),
|
help=_('Delay (in seconds) between two introspections.')),
|
||||||
cfg.StrOpt('introspection_delay_drivers',
|
cfg.StrOpt('introspection_delay_drivers',
|
||||||
default='^.*_ssh$',
|
default='.*',
|
||||||
help=_('Only node with drivers matching this regular '
|
help=_('Only node with drivers matching this regular '
|
||||||
'expression will be affected by introspection_delay '
|
'expression will be affected by introspection_delay '
|
||||||
'setting.')),
|
'setting.'),
|
||||||
|
deprecated_for_removal=True),
|
||||||
cfg.ListOpt('ipmi_address_fields',
|
cfg.ListOpt('ipmi_address_fields',
|
||||||
default=['ilo_address', 'drac_host', 'drac_address',
|
default=['ilo_address', 'drac_host', 'drac_address',
|
||||||
'cimc_address'],
|
'cimc_address'],
|
||||||
|
@ -268,32 +268,8 @@ class TestIntrospect(BaseTest):
|
|||||||
|
|
||||||
@mock.patch.object(time, 'sleep')
|
@mock.patch.object(time, 'sleep')
|
||||||
@mock.patch.object(time, 'time')
|
@mock.patch.object(time, 'time')
|
||||||
def test_sleep_no_pxe_ssh(self, time_mock, sleep_mock, client_mock,
|
def test_introspection_delay(self, time_mock, sleep_mock, client_mock,
|
||||||
start_mock, filters_mock):
|
start_mock, filters_mock):
|
||||||
self.node.driver = 'pxe_ipmitool'
|
|
||||||
time_mock.return_value = 42
|
|
||||||
introspect._LAST_INTROSPECTION_TIME = 40
|
|
||||||
CONF.set_override('introspection_delay', 10)
|
|
||||||
|
|
||||||
cli = self._prepare(client_mock)
|
|
||||||
start_mock.return_value = self.node_info
|
|
||||||
|
|
||||||
introspect.introspect(self.uuid)
|
|
||||||
|
|
||||||
self.assertFalse(sleep_mock.called)
|
|
||||||
cli.node.set_boot_device.assert_called_once_with(self.uuid,
|
|
||||||
'pxe',
|
|
||||||
persistent=False)
|
|
||||||
cli.node.set_power_state.assert_called_once_with(self.uuid,
|
|
||||||
'reboot')
|
|
||||||
# not changed
|
|
||||||
self.assertEqual(40, introspect._LAST_INTROSPECTION_TIME)
|
|
||||||
|
|
||||||
@mock.patch.object(time, 'sleep')
|
|
||||||
@mock.patch.object(time, 'time')
|
|
||||||
def test_sleep_with_pxe_ssh(self, time_mock, sleep_mock, client_mock,
|
|
||||||
start_mock, filters_mock):
|
|
||||||
self.node.driver = 'pxe_ssh'
|
|
||||||
time_mock.return_value = 42
|
time_mock.return_value = 42
|
||||||
introspect._LAST_INTROSPECTION_TIME = 40
|
introspect._LAST_INTROSPECTION_TIME = 40
|
||||||
CONF.set_override('introspection_delay', 10)
|
CONF.set_override('introspection_delay', 10)
|
||||||
@ -314,10 +290,9 @@ class TestIntrospect(BaseTest):
|
|||||||
|
|
||||||
@mock.patch.object(time, 'sleep')
|
@mock.patch.object(time, 'sleep')
|
||||||
@mock.patch.object(time, 'time')
|
@mock.patch.object(time, 'time')
|
||||||
def test_sleep_not_needed_with_pxe_ssh(self, time_mock, sleep_mock,
|
def test_introspection_delay_not_needed(self, time_mock, sleep_mock,
|
||||||
client_mock, start_mock,
|
client_mock, start_mock,
|
||||||
filters_mock):
|
filters_mock):
|
||||||
self.node.driver = 'agent_ssh'
|
|
||||||
time_mock.return_value = 100
|
time_mock.return_value = 100
|
||||||
introspect._LAST_INTROSPECTION_TIME = 40
|
introspect._LAST_INTROSPECTION_TIME = 40
|
||||||
CONF.set_override('introspection_delay', 10)
|
CONF.set_override('introspection_delay', 10)
|
||||||
@ -338,8 +313,9 @@ class TestIntrospect(BaseTest):
|
|||||||
|
|
||||||
@mock.patch.object(time, 'sleep')
|
@mock.patch.object(time, 'sleep')
|
||||||
@mock.patch.object(time, 'time')
|
@mock.patch.object(time, 'time')
|
||||||
def test_sleep_with_custom_driver(self, time_mock, sleep_mock, client_mock,
|
def test_introspection_delay_custom_drivers(self, time_mock, sleep_mock,
|
||||||
start_mock, filters_mock):
|
client_mock, start_mock,
|
||||||
|
filters_mock):
|
||||||
self.node.driver = 'foobar'
|
self.node.driver = 'foobar'
|
||||||
time_mock.return_value = 42
|
time_mock.return_value = 42
|
||||||
introspect._LAST_INTROSPECTION_TIME = 40
|
introspect._LAST_INTROSPECTION_TIME = 40
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
The configuration option "introspection_delay_drivers" was changed to
|
||||||
|
``.*``, which means that "introspection_delay" is now applied to all
|
||||||
|
drivers. Set "introspection_delay" to 0 to disable the delay.
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
The configuration option "introspection_delay_drivers" is deprecated.
|
Loading…
Reference in New Issue
Block a user