summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-30 10:11:01 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-30 10:11:15 -0400
commit96c492953db706df8e2e7be938b9be2bd4e442af (patch)
tree7a40844b563fb955537917920a826ebc7b4c1d0c /src
parent039fba743655ed1b4d1f159afe501533227c2292 (diff)
downloadbcfg2-96c492953db706df8e2e7be938b9be2bd4e442af.tar.gz
bcfg2-96c492953db706df8e2e7be938b9be2bd4e442af.tar.bz2
bcfg2-96c492953db706df8e2e7be938b9be2bd4e442af.zip
Metadata: only write client version to clients.xml/database if it has changed
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Metadata.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Metadata.py b/src/lib/Bcfg2/Server/Plugins/Metadata.py
index 2d095ed0a..fad9d7e38 100644
--- a/src/lib/Bcfg2/Server/Plugins/Metadata.py
+++ b/src/lib/Bcfg2/Server/Plugins/Metadata.py
@@ -802,17 +802,17 @@ class Metadata(Bcfg2.Server.Plugin.Metadata,
def set_version(self, client, version):
"""Set group parameter for provided client."""
- self.logger.info("Setting client %s version to %s" % (client, version))
if client in self.clients:
- self.logger.info("Setting version on client %s to %s" %
- (client, version))
- self.update_client(client, dict(version=version))
+ if client not in self.versions or version != self.versions[client]:
+ self.logger.info("Setting client %s version to %s" %
+ (client, version))
+ self.update_client(client, dict(version=version))
+ self.versions[client] = version
+ self.clients_xml.write()
else:
msg = "Cannot set version on non-existent client %s" % client
self.logger.error(msg)
raise Bcfg2.Server.Plugin.MetadataConsistencyError(msg)
- self.versions[client] = version
- self.clients_xml.write()
def resolve_client(self, addresspair, cleanup_cache=False):
"""Lookup address locally or in DNS to get a hostname."""