diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2015-01-27 05:46:13 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2015-01-27 05:46:13 +0100 |
commit | 78cac1d0a6923ebc73ff221f8501885c36c112c1 (patch) | |
tree | d6e4416b6a43e872c1e35d0186223c4616a757ed /src/lib/Bcfg2/Server | |
parent | 4609569ec9a7b9ea083c5546fa38ef401bba5fa8 (diff) | |
download | bcfg2-78cac1d0a6923ebc73ff221f8501885c36c112c1.tar.gz bcfg2-78cac1d0a6923ebc73ff221f8501885c36c112c1.tar.bz2 bcfg2-78cac1d0a6923ebc73ff221f8501885c36c112c1.zip |
Make SSHbase also a Connector plugin.
Make the public host key data avaialabe for the templates.
Diffstat (limited to 'src/lib/Bcfg2/Server')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/SSHbase.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/SSHbase.py b/src/lib/Bcfg2/Server/Plugins/SSHbase.py index 2deea5f07..0152fcf70 100644 --- a/src/lib/Bcfg2/Server/Plugins/SSHbase.py +++ b/src/lib/Bcfg2/Server/Plugins/SSHbase.py @@ -93,6 +93,7 @@ class KnownHostsEntrySet(Bcfg2.Server.Plugin.EntrySet): class SSHbase(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Caching, + Bcfg2.Server.Plugin.Connector, Bcfg2.Server.Plugin.Generator, Bcfg2.Server.Plugin.PullTarget): """ @@ -127,6 +128,7 @@ class SSHbase(Bcfg2.Server.Plugin.Plugin, def __init__(self, core, datastore): Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore) Bcfg2.Server.Plugin.Caching.__init__(self) + Bcfg2.Server.Plugin.Connector.__init__(self) Bcfg2.Server.Plugin.Generator.__init__(self) Bcfg2.Server.Plugin.PullTarget.__init__(self) self.ipcache = {} @@ -444,3 +446,15 @@ class SSHbase(Bcfg2.Server.Plugin.Plugin, self.logger.error("Failed to pull %s. This file does not " "currently exist on the client" % entry.get('name')) + + def get_additional_data(self, metadata): + data = dict() + for key in self.keypatterns: + if key.endswith(".pub"): + try: + keyfile = "/etc/ssh/" + key + entry = self.entries[keyfile].best_matching(metadata) + data[key] = entry.data + except Bcfg2.Server.Plugin.PluginExecutionError: + pass + return data |