Ejegg has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/344046 )

Change subject: Move some things into global config
......................................................................

Move some things into global config

Change-Id: I402b4f65af2c6a4e75edd5ebd787a2ebaf78c3cd
---
M process-control.yaml
M processcontrol/crontab.py
M processcontrol/job_wrapper.py
M processcontrol/mailer.py
4 files changed, 20 insertions(+), 25 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/process-control 
refs/changes/46/344046/1

diff --git a/process-control.yaml b/process-control.yaml
index 7084186..78f684e 100644
--- a/process-control.yaml
+++ b/process-control.yaml
@@ -1,3 +1,9 @@
+cron_template: "# Generated from {source}\n{schedule} {user} {command}\n"
+
 default_job_config:
-    from_address: "Fail Mail <fr-t...@wikimedia.org>"
-    to_address: "fr-t...@wikimedia.org"
+    failmail:
+        from_address: "Fail Mail <fr-t...@wikimedia.org>"
+        to_address: "fr-t...@wikimedia.org"
+
+    timeout: 600
+    user: jenkins
diff --git a/processcontrol/crontab.py b/processcontrol/crontab.py
index c3d1703..e6d3ff9 100644
--- a/processcontrol/crontab.py
+++ b/processcontrol/crontab.py
@@ -3,14 +3,7 @@
 
 import job_wrapper
 
-# FIXME: Move to global config
-DEFAULT_USER = "jenkins"
-
-CRON_TEMPLATE = """# Generated from {source}
-{schedule} {user} {command}
-"""
-
-RUNNER_PATH = os.path.dirname(__file__) + "/crash-override"
+RUNNER_PATH = os.path.dirname(__file__) + "/bin/run-job"
 
 
 def make_cron(config_dir):
@@ -45,11 +38,13 @@
         command = "{runner} {conf}".format(
             runner=RUNNER_PATH,
             conf=self.job.config_path)
+        
+        template = self.job.global_config.get("cron_template")
 
-        out = CRON_TEMPLATE.format(
+        out = template.format(
             source=self.job.config_path,
             schedule=self.job.config.get("schedule"),
-            user=DEFAULT_USER,
+            user=self.job.config.get("user"),
             command=command)
 
         return out
diff --git a/processcontrol/job_wrapper.py b/processcontrol/job_wrapper.py
index 6b8423e..fefcf25 100644
--- a/processcontrol/job_wrapper.py
+++ b/processcontrol/job_wrapper.py
@@ -9,9 +9,6 @@
 from . import lock
 from . import mailer
 
-# FIXME: move to global config
-DEFAULT_TIMEOUT = 600
-
 
 class JobWrapper(object):
     def __init__(self, config_path=None):
@@ -22,11 +19,7 @@
         self.name = self.config.get("name")
         self.start_time = datetime.datetime.utcnow().isoformat()
         self.mailer = mailer.Mailer(self.config)
-
-        if self.config.has("timeout"):
-            self.timeout = self.config.get("timeout")
-        else:
-            self.timeout = DEFAULT_TIMEOUT
+        self.timeout = self.config.get("timeout")
 
         if self.config.has("disabled") and self.config.get("disabled") is True:
             self.enabled = False
diff --git a/processcontrol/mailer.py b/processcontrol/mailer.py
index 35e3a07..08bb432 100644
--- a/processcontrol/mailer.py
+++ b/processcontrol/mailer.py
@@ -4,7 +4,8 @@
 
 class Mailer(object):
     def __init__(self, config):
-        self.config = config
+        self.from_address = config.get("failmail/from_address")
+        self.to_address = config.get("failmail/to_address")
         # FIXME: this is set to ensure one failmail per instance. Should
         # do something more sophisticated to collect all calls and send
         # the mail before exiting.
@@ -17,13 +18,13 @@
         msg = MIMEText(body)
 
         msg["Subject"] = "Fail Mail : " + subject
-        msg["From"] = self.config.get("from_address")
-        msg["To"] = self.config.get("to_address")
+        msg["From"] = self.from_address
+        msg["To"] = self.to_address
 
         mailer = smtplib.SMTP("localhost")
         mailer.sendmail(
-            self.config.get("from_address"),
-            self.config.get("to_address"),
+            self.from_address,
+            self.to_address,
             msg.as_string()
         )
         mailer.quit()

-- 
To view, visit https://gerrit.wikimedia.org/r/344046
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I402b4f65af2c6a4e75edd5ebd787a2ebaf78c3cd
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/process-control
Gerrit-Branch: master
Gerrit-Owner: Ejegg <eeggles...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to