diff --git a/cloudcontrol/node/host/__init__.py b/cloudcontrol/node/host/__init__.py index a52e4dcc8f95b940de091eab35ba9c259428e05e..6ffe1a70c210aca71106c452d14b6df4a56891b9 100644 --- a/cloudcontrol/node/host/__init__.py +++ b/cloudcontrol/node/host/__init__.py @@ -194,6 +194,20 @@ class Handler(BasePlugin): self.commands = set() #: jobs manager (different from MainLoop.jobs_manager) + try: + os.makedirs(self.main.config.jobs_store_path, mode=0755) + except OSError as e: + if e.errno == 17: + pass # Ignore existing directory + else: + logger.critical('Cannot create jobs directory: %s', e) + self.main.stop() + raise + except Exception as e: + logger.critical('Cannot create jobs directory: %s', e) + self.main.stop() + raise + try: self.jobs_manager = JobsManager(logger, NodeJobsManagerInterface(self), JobsStore(self.main.config.jobs_store_path))