Commit 34d657ba authored by Iustin Pop's avatar Iustin Pop
Browse files

Automatically cleanup _temporary_ids at save


Signed-off-by: default avatarIustin Pop <iustin@google.com>
Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
parent 34e54ebc
......@@ -207,6 +207,13 @@ class ConfigWriter:
self._temporary_ids.add(unique_id)
return unique_id
def _CleanupTemporaryIDs(self):
"""Cleanups the _temporary_ids structure.
"""
existing = self._AllIDs(include_temporary=False)
self._temporary_ids = self._temporary_ids - existing
def _AllMACs(self):
"""Return all MACs present in the config.
......@@ -1119,6 +1126,10 @@ class ConfigWriter:
"""Write the configuration data to persistent storage.
"""
# first, cleanup the _temporary_ids set, if an ID is now in the
# other objects it should be discarded to prevent unbounded growth
# of that structure
self._CleanupTemporaryIDs()
config_errors = self._UnlockedVerifyConfig()
if config_errors:
raise errors.ConfigurationError("Configuration data is not"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment