diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-09-05 08:00:20 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-09-05 08:00:20 -0400 |
commit | 98fa4b4978ebd63b4a108cb7d366f11edd60d6a2 (patch) | |
tree | 5f3505fa0cd86d035a6875564a2270330c8431df | |
parent | 864dd26107e6ab8dcd78096b66883d6ab0e5fdde (diff) | |
download | bcfg2-98fa4b4978ebd63b4a108cb7d366f11edd60d6a2.tar.gz bcfg2-98fa4b4978ebd63b4a108cb7d366f11edd60d6a2.tar.bz2 bcfg2-98fa4b4978ebd63b4a108cb7d366f11edd60d6a2.zip |
updated various scripts/components to reflect updated Core invocation for thread-safety
-rw-r--r-- | src/lib/Bcfg2/Server/BuiltinCore.py | 4 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Core.py | 10 | ||||
-rwxr-xr-x | src/sbin/bcfg2-info | 21 | ||||
-rwxr-xr-x | src/sbin/bcfg2-server | 2 | ||||
-rwxr-xr-x | tools/bcfg2-profile-templates.py | 5 |
5 files changed, 12 insertions, 30 deletions
diff --git a/src/lib/Bcfg2/Server/BuiltinCore.py b/src/lib/Bcfg2/Server/BuiltinCore.py index df25a24a8..4e15f85d4 100644 --- a/src/lib/Bcfg2/Server/BuiltinCore.py +++ b/src/lib/Bcfg2/Server/BuiltinCore.py @@ -19,8 +19,8 @@ class NoExposedMethod (Exception): class Core(BaseCore): name = 'bcfg2-server' - def __init__(self, setup, start_fam_thread=False): - BaseCore.__init__(self, setup, start_fam_thread=start_fam_thread) + def __init__(self, setup): + BaseCore.__init__(self, setup) self.server = None self.context = daemon.DaemonContext() diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py index 8b9cd4916..13be70731 100644 --- a/src/lib/Bcfg2/Server/Core.py +++ b/src/lib/Bcfg2/Server/Core.py @@ -73,7 +73,7 @@ class BaseCore(object): Bcfg2 Server logic and modules. """ - def __init__(self, setup, start_fam_thread=False): + def __init__(self, setup): self.datastore = setup['repo'] if setup['debug']: @@ -192,7 +192,6 @@ class BaseCore(object): threading.Thread(name="%sFAMThread" % setup['filemonitor'], target=self._file_monitor_thread) self.lock = threading.Lock() - self.start_fam_thread = start_fam_thread self.stats = Statistics() @@ -458,11 +457,10 @@ class BaseCore(object): open(self.setup['daemon'], "w").write("%s\n" % os.getpid()) self._run() - + self.fam.start() - if self.start_fam_thread: - self.fam_thread.start() - self.fam.AddMonitor(self.cfile, self.setup) + self.fam_thread.start() + self.fam.AddMonitor(self.cfile, self.setup) self._block() diff --git a/src/sbin/bcfg2-info b/src/sbin/bcfg2-info index 9fb183776..f188131f0 100755 --- a/src/sbin/bcfg2-info +++ b/src/sbin/bcfg2-info @@ -170,17 +170,9 @@ def load_interpreters(): class infoCore(cmd.Cmd, Bcfg2.Server.Core.BaseCore): """Main class for bcfg2-info.""" - def __init__(self, repo, plgs, passwd, encoding, event_debug, - filemonitor='default', setup=None): + def __init__(self, setup): cmd.Cmd.__init__(self) - try: - Bcfg2.Server.Core.BaseCore.__init__(self, setup=setup) - if event_debug: - self.fam.debug = True - except Bcfg2.Server.Core.CoreInitError: - msg = sys.exc_info()[1] - print("Core load failed: %s" % msg) - raise SystemExit(1) + Bcfg2.Server.Core.BaseCore.__init__(self, setup=setup) self.prompt = '> ' self.cont = True self.fam.handle_events_in_interval(4) @@ -694,16 +686,11 @@ if __name__ == '__main__': sys.exit(0) elif setup['profile'] and have_profile: prof = profile.Profile() - loop = prof.runcall(infoCore, setup['repo'], setup['plugins'], - setup['password'], setup['encoding'], - setup['debug'], setup['filemonitor'], - setup) + loop = prof.runcall(infoCore, setup) displayTrace(prof) else: if setup['profile']: print("Profiling functionality not available.") - loop = infoCore(setup['repo'], setup['plugins'], setup['password'], - setup['encoding'], setup['debug'], - setup['filemonitor'], setup) + loop = infoCore(setup) loop.Run(setup['args']) diff --git a/src/sbin/bcfg2-server b/src/sbin/bcfg2-server index 32c97b63d..fe16866cf 100755 --- a/src/sbin/bcfg2-server +++ b/src/sbin/bcfg2-server @@ -37,7 +37,7 @@ if __name__ == '__main__': from Bcfg2.Server.BuiltinCore import Core try: - core = Core(setup, start_fam_thread=True) + core = Core(setup) core.run() except CoreInitError: msg = sys.exc_info()[1] diff --git a/tools/bcfg2-profile-templates.py b/tools/bcfg2-profile-templates.py index d60d7584a..fe7146d27 100755 --- a/tools/bcfg2-profile-templates.py +++ b/tools/bcfg2-profile-templates.py @@ -54,10 +54,7 @@ def main(): setup.parse(sys.argv[1:]) logger = get_logger(setup) - core = Bcfg2.Server.Core.Core(setup['repo'], - setup['plugins'], - setup['password'], - setup['encoding']) + core = Bcfg2.Server.Core.BaseCore(setup) logger.info("Bcfg2 server core loaded") core.fam.handle_events_in_interval(4) logger.debug("Repository events processed") |