diff --git a/lib/config.py b/lib/config.py index ef2aedbec3d9ed91f6cce39c5a6e2218ce340aea..8635a8b4ed78d6e2d46314637d7cd0c93938a872 100644 --- a/lib/config.py +++ b/lib/config.py @@ -422,6 +422,7 @@ class ConfigWriter: logging.info("Instance '%s' DISK_LAYOUT: %s", instance.name, all_lvs) self._OpenConfig() + instance.serial_no = 1 self._config_data.instances[instance.name] = instance self._WriteConfig() @@ -441,6 +442,7 @@ class ConfigWriter: instance = self._config_data.instances[instance_name] if instance.status != status: instance.status = status + instance.serial_no += 1 self._WriteConfig() @locking.ssynchronized(_config_lock) @@ -580,6 +582,7 @@ class ConfigWriter: logging.info("Adding node %s to configuration" % node.name) self._OpenConfig() + node.serial_no = 1 self._config_data.nodes[node.name] = node self._WriteConfig() @@ -801,7 +804,7 @@ class ConfigWriter: if secondary_ip is None: secondary_ip = primary_ip nodeconfig = objects.Node(name=node, primary_ip=primary_ip, - secondary_ip=secondary_ip) + secondary_ip=secondary_ip, serial_no=1) self._config_data = objects.ConfigData(nodes={node: nodeconfig}, instances={}, @@ -880,4 +883,6 @@ class ConfigWriter: if not test: raise errors.ConfigurationError("Configuration updated since object" " has been read or unknown object") + target.serial_no += 1 + self._WriteConfig()