diff options
author | Jason Kincl <kincljc@ornl.gov> | 2013-04-17 14:40:49 -0400 |
---|---|---|
committer | Jason Kincl <kincljc@ornl.gov> | 2013-04-17 14:40:49 -0400 |
commit | d7fbb6d325796954c461fad71c15873d71d79fef (patch) | |
tree | 59c976204b8605cf304af02903cad5b749b79600 | |
parent | b950aaa6f3452b2b5a14f6f01331f94e66ee3313 (diff) | |
download | bcfg2-d7fbb6d325796954c461fad71c15873d71d79fef.tar.gz bcfg2-d7fbb6d325796954c461fad71c15873d71d79fef.tar.bz2 bcfg2-d7fbb6d325796954c461fad71c15873d71d79fef.zip |
Adding option to force server to wait until all FAM events are processed
-rw-r--r-- | src/lib/Bcfg2/Options.py | 5 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Core.py | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Options.py b/src/lib/Bcfg2/Options.py index 3197d2682..1519e2603 100644 --- a/src/lib/Bcfg2/Options.py +++ b/src/lib/Bcfg2/Options.py @@ -534,6 +534,11 @@ SERVER_FAM_IGNORE = \ 'SCCS', '.svn', '4913', '.gitignore'], cf=('server', 'ignore_files'), cook=list_split) +SERVER_FAM_BLOCK = \ + Option('FAM blocks on startup until all events are processed', + default=False, + cook=get_bool, + cf=('server', 'fam_blocking')) SERVER_LISTEN_ALL = \ Option('Listen on all interfaces', default=False, diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py index 382f11e50..f2af2fa87 100644 --- a/src/lib/Bcfg2/Server/Core.py +++ b/src/lib/Bcfg2/Server/Core.py @@ -761,6 +761,11 @@ class BaseCore(object): self.shutdown() raise + if setup['fam_blocking']: + time.sleep(1) + while self.fam.pending() != 0: + time.sleep(1) + self.set_debug(None, self.debug_flag) self._block() |