summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2
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 15:12:20 -0500
commitdc22e36574d4d4cdbde282906ef3e1d3c7fe7c94 (patch)
tree047826fc9347d9730faa2c393f4e0eb85fecc3dc /src/lib/Bcfg2
parent893acc1735794e6df9d290c30d9911621bb2a927 (diff)
downloadbcfg2-dc22e36574d4d4cdbde282906ef3e1d3c7fe7c94.tar.gz
bcfg2-dc22e36574d4d4cdbde282906ef3e1d3c7fe7c94.tar.bz2
bcfg2-dc22e36574d4d4cdbde282906ef3e1d3c7fe7c94.zip
Metadata: process default client bootstrap mode properly
Diffstat (limited to 'src/lib/Bcfg2')
-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 9fdee96ab..e568c5c65 100644
--- a/src/lib/Bcfg2/Server/Plugins/Metadata.py
+++ b/src/lib/Bcfg2/Server/Plugins/Metadata.py
@@ -383,7 +383,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'
@@ -391,7 +391,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."""