]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Drop restarting jobs
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Jun 2022 10:01:14 +0000 (10:01 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Jun 2022 10:01:14 +0000 (10:01 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
src/buildservice/jobs.py
src/scripts/pakfire-build-service
src/templates/job-schedule-rebuild.html [deleted file]
src/templates/job-schedule-test.html [deleted file]
src/web/__init__.py
src/web/jobs.py

index 84ee7c53dffd95a5d49e2c3a30557bccf7b1c062..e24f6ac5ee62a0be9ff7a422199e9ccc3ee57d78 100644 (file)
@@ -172,8 +172,6 @@ dist_templates_DATA = \
        src/templates/index.html \
        src/templates/jobs-abort.html \
        src/templates/jobs-buildroot.html \
-       src/templates/job-schedule-rebuild.html \
-       src/templates/job-schedule-test.html \
        src/templates/keys-delete.html \
        src/templates/keys-import.html \
        src/templates/keys-list.html \
index 6f254ece7612307937ebedab79a59b05ff9946d9..54c1dade646b16b834bd4d4363d78b90d2cbedc5 100644 (file)
@@ -67,25 +67,6 @@ class Jobs(base.Object):
 
                return jobs
 
-       def restart_failed(self):
-               jobs = self._get_jobs("SELECT jobs.* FROM jobs \
-                       JOIN builds ON builds.id = jobs.build_id \
-                       WHERE \
-                               jobs.type = 'build' AND \
-                               jobs.state = 'failed' AND \
-                               NOT builds.state = 'broken' AND \
-                               jobs.time_finished < NOW() - '72 hours'::interval \
-                       ORDER BY \
-                               CASE \
-                                       WHEN jobs.type = 'build' THEN 0 \
-                                       WHEN jobs.type = 'test'  THEN 1 \
-                               END, \
-                               builds.priority DESC, jobs.time_created ASC")
-
-               # Restart the job
-               for job in jobs:
-                       job.restart()
-
 
 class Job(base.DataObject):
        table = "jobs"
@@ -261,16 +242,6 @@ class Job(base.DataObject):
                # Notify users
                self.send_failed_message()
 
-       def restart(self, test=None, start_not_before=None):
-               # Copy the job and let it build again
-               job = self.backend.jobs.create(self.build, self.arch,
-                       test=test or self.test, superseeds=self)
-
-               if start_not_before:
-                       job.start_not_before = start_not_before
-
-               return job
-
        def is_active(self):
                """
                        Returns True if this job is active
index 9a13ceb643a0f727edfa633f70da01584ae60521..13cb06a0f96461a48dd7e05dfd720bcf5b42dcb1 100644 (file)
@@ -44,9 +44,6 @@ class Cli(object):
                        # Remaster Repositories
                        "remaster-repositories" : self.backend.repos.remaster,
 
-                       # Restart failed jobs
-                       "restart-failed-jobs" : self.backend.jobs.restart_failed,
-
                        # Send bug updates to Bugzilla
                        "send-bug-updates" : self.backend.bugzilla.send_all,
 
diff --git a/src/templates/job-schedule-rebuild.html b/src/templates/job-schedule-rebuild.html
deleted file mode 100644 (file)
index 079c16b..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-{% extends "base.html" %}
-
-{% block title %}{{ _("Schedule rebuild for %s") % job.name }}{% end block %}
-
-{% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/packages">{{ _("Packages") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/package/{{ build.pkg.name }}">{{ build.pkg.name }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/build/{{ build.uuid }}">{{ build.pkg.friendly_version }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       <a href="/build/{{ build.uuid }}/schedule?type=rebuild">{{ _("Schedule rebuild") }}</a>
-               </li>
-       </ul>
-
-       <div class="page-header">
-               <h1>{{ _("Schedule rebuild for %s") % job.name }}</h1>
-       </div>
-
-       <div class="row">
-               <div class="span6 offset3">
-                       <p>
-                               {{ _("At this place, you can submit failed build jobs to be built again.") }}
-                       </p>
-                       <p>
-                               {{ _("The build job will be started when a build slot is available but not before the given time.") }}
-                       </p>
-
-                       {% module BuildOffset() %}
-               </div>
-       </div>
-{% end block %}
diff --git a/src/templates/job-schedule-test.html b/src/templates/job-schedule-test.html
deleted file mode 100644 (file)
index 4d076d9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-{% extends "base.html" %}
-
-{% block title %}{{ _("Schedule test build for %s") % job.name }}{% end block %}
-
-{% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/packages">{{ _("Packages") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/package/{{ build.pkg.name }}">{{ build.pkg.name }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/build/{{ build.uuid }}">{{ build.pkg.friendly_version }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       <a href="/build/{{ build.uuid }}/schedule?type=test">{{ _("Schedule test build") }}</a>
-               </li>
-       </ul>
-
-       <div class="page-header">
-               <h1>{{ _("Schedule test build for %s") % build.name }}</h1>
-       </div>
-
-       <div class="row">
-               <div class="span6 offset3">
-                       <p>
-                               {{ _("A test build is used to check if a package builds with the current package set.") }}
-                               {{ _("In this way, developers are able to find quality issues fast and without actively searching for them.") }}
-                       </p>
-                       <p>
-                               {{ _("As this build platform only has a limited amount of performance, test builds only have a very less priority.") }}
-                               {{ _("However, you can manually request to run a test.") }}
-                       </p>
-                       <p>
-                               {{ _("The build job will be started when a build slot is available but not before the given time.") }}
-                               {{ _("Please note, that all other kinds of build are preferred over the test builds.") }}
-                       </p>
-
-                       {% module BuildOffset() %}
-               </div>
-       </div>
-{% end block %}
index d3e66422293d6895738fc7e845a620771a06f09a..7663b2e0951f6e427c6b072376bf9fa9021e02f9 100644 (file)
@@ -147,7 +147,6 @@ class Application(tornado.web.Application):
                        # Jobs
                        (r"/job/([\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})/abort", jobs.JobAbortHandler),
                        (r"/job/([\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})/buildroot", jobs.JobBuildrootHandler),
-                       (r"/job/([\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})/schedule", jobs.JobScheduleHandler),
 
                        # Builders
                        (r"/builders", builders.BuilderListHandler),
index 421314b2a69abd996492647d9d27e31278438d8e..4b41205720b517818356145045f16005184655e5 100644 (file)
@@ -31,45 +31,6 @@ class JobBuildrootHandler(base.BaseHandler):
                        buildroot_size=buildroot_size)
 
 
-class JobScheduleHandler(base.BaseHandler):
-       allowed_types = ("test", "rebuild",)
-
-       @tornado.web.authenticated
-       def get(self, uuid):
-               type = self.get_argument("type")
-               assert type in self.allowed_types
-
-               job = self.backend.jobs.get_by_uuid(uuid)
-               if not job:
-                       raise tornado.web.HTTPError(404, "Job not found: %s" % uuid)
-
-               self.render("job-schedule-%s.html" % type, type=type, job=job, build=job.build)
-
-       @tornado.web.authenticated
-       def post(self, uuid):
-               type = self.get_argument("type")
-               assert type in self.allowed_types
-
-               job = self.backend.jobs.get_by_uuid(uuid)
-               if not job:
-                       raise tornado.web.HTTPError(404, "Job not found: %s" % uuid)
-
-               # Get the start offset.
-               offset = self.get_argument("offset", 0)
-               try:
-                       offset = int(offset)
-               except TypeError:
-                       offset = 0
-
-               # Is this supposed to be a test job?
-               test = (type == "test")
-
-               with self.db.transaction():
-                       new_job = job.restart(test=test)
-
-               self.redirect("/job/%s" % new_job.uuid)
-
-
 class JobAbortHandler(base.BaseHandler):
        def get_job(self, uuid):
                job = self.backend.jobs.get_by_uuid(uuid)