summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-09-04 15:48:05 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-09-04 15:48:05 -0400
commitbdcbded3236fa76f011c8d594c4b261c8b816199 (patch)
tree23d9886731ccbf52e8f3d3d9ccc0cfeb8dbb273a /src/lib/Bcfg2
parent864bce0515b85f206381ac033875b12d06a2540d (diff)
parent5c9cd24767bcbc8cdb39eebf2fd81e9c814c01af (diff)
downloadbcfg2-bdcbded3236fa76f011c8d594c4b261c8b816199.tar.gz
bcfg2-bdcbded3236fa76f011c8d594c4b261c8b816199.tar.bz2
bcfg2-bdcbded3236fa76f011c8d594c4b261c8b816199.zip
Merge branch 'maint'
Conflicts: doc/client/tools/actions.txt schemas/authorizedkeys.xsd src/lib/Bcfg2/Client/Frame.py src/lib/Bcfg2/Server/Plugin/helpers.py src/lib/Bcfg2/Server/Plugins/Bundler.py testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py
Diffstat (limited to 'src/lib/Bcfg2')
-rw-r--r--src/lib/Bcfg2/Client/__init__.py6
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Bundler.py5
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Cfg/CfgAuthorizedKeysGenerator.py13
3 files changed, 12 insertions, 12 deletions
diff --git a/src/lib/Bcfg2/Client/__init__.py b/src/lib/Bcfg2/Client/__init__.py
index 6243213cd..433fb570a 100644
--- a/src/lib/Bcfg2/Client/__init__.py
+++ b/src/lib/Bcfg2/Client/__init__.py
@@ -669,13 +669,15 @@ class Client(object):
# first process prereq actions
for bundle in bundles[:]:
if bundle.tag == 'Bundle':
- bmodified = any(item in self.whitelist for item in bundle)
+ bmodified = any((item in self.whitelist or
+ item in self.modified) for item in bundle)
else:
bmodified = False
actions = [a for a in bundle.findall('./Action')
if (a.get('timing') in ['pre', 'both'] and
(bmodified or a.get('when') == 'always'))]
- # now we process all "always actions"
+ # now we process all "pre" and "both" actions that are either
+ # always or the bundle has been modified
if Bcfg2.Options.setup.interactive:
self.promptFilter(iprompt, actions)
self.DispatchInstallCalls(actions)
diff --git a/src/lib/Bcfg2/Server/Plugins/Bundler.py b/src/lib/Bcfg2/Server/Plugins/Bundler.py
index f91bac634..b3824fb57 100644
--- a/src/lib/Bcfg2/Server/Plugins/Bundler.py
+++ b/src/lib/Bcfg2/Server/Plugins/Bundler.py
@@ -52,15 +52,12 @@ class Bundler(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.XMLDirectoryBacked.__init__(self, self.data)
#: Bundles by bundle name, rather than filename
self.bundles = dict()
- __init__.__doc__ = Bcfg2.Server.Plugin.Plugin.__init__.__doc__
def HandleEvent(self, event):
Bcfg2.Server.Plugin.XMLDirectoryBacked.HandleEvent(self, event)
self.bundles = dict([(b.bundle_name, b)
for b in self.entries.values()])
- HandleEvent.__doc__ = \
- Bcfg2.Server.Plugin.XMLDirectoryBacked.HandleEvent.__doc__
def BuildStructures(self, metadata):
bundleset = []
@@ -121,5 +118,3 @@ class Bundler(Bcfg2.Server.Plugin.Plugin,
data.remove(child)
bundleset.append(data)
return bundleset
- BuildStructures.__doc__ = \
- Bcfg2.Server.Plugin.Structure.BuildStructures.__doc__
diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgAuthorizedKeysGenerator.py b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgAuthorizedKeysGenerator.py
index 384d1bf12..895752c9c 100644
--- a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgAuthorizedKeysGenerator.py
+++ b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgAuthorizedKeysGenerator.py
@@ -38,10 +38,13 @@ class CfgAuthorizedKeysGenerator(CfgGenerator, StructFile):
spec = self.XMLMatch(metadata)
rv = []
for allow in spec.findall("Allow"):
- params = ''
- if allow.find("Params") is not None:
- params = ",".join("=".join(p)
- for p in allow.find("Params").attrib.items())
+ options = []
+ for opt in allow.findall("Option"):
+ if opt.get("value"):
+ options.append("%s=%s" % (opt.get("name"),
+ opt.get("value")))
+ else:
+ options.append(opt.get("name"))
pubkey_name = allow.get("from")
if pubkey_name:
@@ -85,6 +88,6 @@ class CfgAuthorizedKeysGenerator(CfgGenerator, StructFile):
(metadata.hostname,
lxml.etree.tostring(allow)))
continue
- rv.append(" ".join([params, pubkey]).strip())
+ rv.append(" ".join([",".join(options), pubkey]).strip())
return "\n".join(rv)
get_data.__doc__ = CfgGenerator.get_data.__doc__