Fix static driver equality check
A recent refactor of the config objects (which simplified the repetitive __eq__ methods) missed updating the static driver. This could lead to infinite recursion (as the static driver explicitly called super().__eq__ which itself called __eq__). This updates the driver to use the new framework, and it also adds a check to a unit test which exercises it. Change-Id: I0f443cde147e46d73112025cd2f819159a8b4f86
This commit is contained in:
parent
80a044e138
commit
36a7df3677
|
@ -22,6 +22,8 @@ from nodepool.config import as_list
|
||||||
|
|
||||||
|
|
||||||
class StaticPool(ConfigPool):
|
class StaticPool(ConfigPool):
|
||||||
|
ignore_equality = ['provider']
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.name = None
|
self.name = None
|
||||||
self.nodes = []
|
self.nodes = []
|
||||||
|
@ -31,13 +33,6 @@ class StaticPool(ConfigPool):
|
||||||
# Initialize base class attributes
|
# Initialize base class attributes
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
def __eq__(self, other):
|
|
||||||
if isinstance(other, StaticPool):
|
|
||||||
return (super().__eq__(other) and
|
|
||||||
other.name == self.name and
|
|
||||||
other.nodes == self.nodes)
|
|
||||||
return False
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<StaticPool %s>" % self.name
|
return "<StaticPool %s>" % self.name
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,8 @@ class TestDriverStatic(tests.DBTestCase):
|
||||||
configfile = self.setup_config('static.yaml')
|
configfile = self.setup_config('static.yaml')
|
||||||
config = nodepool_config.loadConfig(configfile)
|
config = nodepool_config.loadConfig(configfile)
|
||||||
self.assertIn('static-provider', config.providers)
|
self.assertIn('static-provider', config.providers)
|
||||||
|
config2 = nodepool_config.loadConfig(configfile)
|
||||||
|
self.assertEqual(config, config2)
|
||||||
|
|
||||||
def test_static_basic(self):
|
def test_static_basic(self):
|
||||||
'''
|
'''
|
||||||
|
|
Loading…
Reference in New Issue