diff options
author | Robert Gogolok <gogo@cs.uni-sb.de> | 2007-12-28 17:50:15 +0000 |
---|---|---|
committer | Robert Gogolok <gogo@cs.uni-sb.de> | 2007-12-28 17:50:15 +0000 |
commit | 1b53eefe575e63d8995e7fc9065bec99dbe38927 (patch) | |
tree | ae47c17d13cd98436c97e97b66c86f98c0dfd318 /src | |
parent | 6501531fd4c2d866613d66532e5bd5a209659b98 (diff) | |
download | bcfg2-1b53eefe575e63d8995e7fc9065bec99dbe38927.tar.gz bcfg2-1b53eefe575e63d8995e7fc9065bec99dbe38927.tar.bz2 bcfg2-1b53eefe575e63d8995e7fc9065bec99dbe38927.zip |
fix case: info file gets moved as part of an upper directory, e.g. mv Cfg/etc/passwd /tmp
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4119 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Server/Plugins/Cfg.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/Server/Plugins/Cfg.py b/src/lib/Server/Plugins/Cfg.py index b273d1751..3c550391e 100644 --- a/src/lib/Server/Plugins/Cfg.py +++ b/src/lib/Server/Plugins/Cfg.py @@ -93,7 +93,18 @@ class ConfigFileEntry(object): self.interpolate = False self.paranoid = False filename = "%s/%s" % (self.repopath, name) - for line in open(filename).readlines(): + + # case: info file gets moved as part of an upper directory, + # e.g. mv Cfg/etc/passwd /tmp. + # Then comes first the event 'changed' for the info file + # and afterwards events 'changed' and 'deleted' for the + # actual config file and directory. + try: + lines = open(filename).readlines() + except IOError: + return + + for line in lines: match = self.info.match(line) if not match: if not self.iignore.match(line): |