summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Metadata.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-02-07 10:14:31 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-02-14 14:56:38 -0500
commitfb723b0164318459e337911cf243ba497d8f6683 (patch)
tree5006d781c0c63a213dccec5805d972a4fa0c1eb2 /src/lib/Bcfg2/Server/Plugins/Metadata.py
parentb8ebd636ac3a5e2919b3e62041019f26acb1e2c0 (diff)
downloadbcfg2-fb723b0164318459e337911cf243ba497d8f6683.tar.gz
bcfg2-fb723b0164318459e337911cf243ba497d8f6683.tar.bz2
bcfg2-fb723b0164318459e337911cf243ba497d8f6683.zip
Metadata: process default client bootstrap mode properly
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Metadata.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Metadata.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Metadata.py b/src/lib/Bcfg2/Server/Plugins/Metadata.py
index bd02739d5..383e8e1dc 100644
--- a/src/lib/Bcfg2/Server/Plugins/Metadata.py
+++ b/src/lib/Bcfg2/Server/Plugins/Metadata.py
@@ -384,7 +384,7 @@ class MetadataGroup(tuple):
class Metadata(Bcfg2.Server.Plugin.Metadata,
- Bcfg2.Server.Plugin.Statistics,
+ Bcfg2.Server.Plugin.ClientRunHooks,
Bcfg2.Server.Plugin.DatabaseBacked):
"""This class contains data for bcfg2 server metadata."""
__author__ = 'bcfg-dev@mcs.anl.gov'
@@ -392,7 +392,7 @@ class Metadata(Bcfg2.Server.Plugin.Metadata,
def __init__(self, core, datastore, watch_clients=True):
Bcfg2.Server.Plugin.Metadata.__init__(self)
- Bcfg2.Server.Plugin.Statistics.__init__(self, core, datastore)
+ Bcfg2.Server.Plugin.ClientRunHooks.__init__(self)
Bcfg2.Server.Plugin.DatabaseBacked.__init__(self, core, datastore)
self.watch_clients = watch_clients
self.states = dict()
@@ -1252,12 +1252,11 @@ class Metadata(Bcfg2.Server.Plugin.Metadata,
return True
# pylint: enable=R0911,R0912
- def process_statistics(self, meta, _):
- """ Hook into statistics interface to toggle clients in
- bootstrap mode """
- client = meta.hostname
- if client in self.auth and self.auth[client] == 'bootstrap':
- self.update_client(client, dict(auth='cert'))
+ def end_statistics(self, metadata):
+ """ Hook to toggle clients in bootstrap mode """
+ if self.auth.get(metadata.hostname,
+ self.core.setup('authentication')) == 'bootstrap':
+ self.update_client(metadata.hostname, dict(auth='cert'))
def viz(self, hosts, bundles, key, only_client, colors):
"""Admin mode viz support."""