diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-08-30 10:11:01 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-08-30 10:11:15 -0400 |
commit | 96c492953db706df8e2e7be938b9be2bd4e442af (patch) | |
tree | 7a40844b563fb955537917920a826ebc7b4c1d0c /src/lib | |
parent | 039fba743655ed1b4d1f159afe501533227c2292 (diff) | |
download | bcfg2-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/lib')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Metadata.py | 12 |
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.""" |