[Qa-jenkins-scm] [jenkins.debian.net] 01/03: reproducible: scheduler: remove the concept of ARCH_SHARE. it's not really needed since we have the bigger LIMITS
Holger Levsen
holger at moszumanska.debian.org
Sat Sep 12 14:36:43 UTC 2015
This is an automated email from the git hooks/post-receive script.
holger pushed a commit to branch master
in repository jenkins.debian.net.
commit 1db246e6ffc9e334d38c321d77daa4f50875482b
Author: Mattia Rizzolo <mattia at mapreri.org>
Date: Sat Sep 12 10:39:41 2015 +0000
reproducible: scheduler: remove the concept of ARCH_SHARE. it's not really needed since we have the bigger LIMITS
---
TODO | 1 -
bin/reproducible_scheduler.py | 56 ++++++++++++++++---------------------------
2 files changed, 20 insertions(+), 37 deletions(-)
diff --git a/TODO b/TODO
index a213fa0..62368f3 100644
--- a/TODO
+++ b/TODO
@@ -194,7 +194,6 @@ properties:
*** send notifications to maintainers when a note to their packages changes?
* lesser prio
-** reproducible_scheduler.py: why do we have ARCH_SHARE when LIMITS is different for each arch anyway...? legacy? if so -> cleanup...
** do final s#debbindiff#diffoscope#g and s#dbd#ds#g and rename .debbindiff.html+txt files as well as the dbd directories...
** run amd64 builder 400 days in the past… (that way we will notice problems soon)
*** Acquire::Check-Valid-Until "false" should help, when setting the time to the future
diff --git a/bin/reproducible_scheduler.py b/bin/reproducible_scheduler.py
index 6b1d7c3..beccf71 100755
--- a/bin/reproducible_scheduler.py
+++ b/bin/reproducible_scheduler.py
@@ -30,57 +30,54 @@ from reproducible_html_packages import purge_old_pages
LIMITS = {
'untested': {
'amd64': {
- 'testing': {'*': 44},
- 'unstable': {'*': 44},
- 'experimental': {'*': 44},
+ 'testing': {'*': 440},
+ 'unstable': {'*': 440},
+ 'experimental': {'*': 440},
},
'armhf': {
'testing': {'*': 0},
- 'unstable': {'*': 44},
+ 'unstable': {'*': 130},
'experimental': {'*': 0},
},
},
'new': {
'amd64': {
- 'testing': {1: (100, 25), 2: (200, 20), '*': 15},
- 'unstable': {1: (100, 25), 2: (200, 20), '*': 15},
- 'experimental': {1: (100, 25), 2: (200, 20), '*': 15},
+ 'testing': {1: (100, 250), 2: (200, 200), '*': 150},
+ 'unstable': {1: (100, 250), 2: (200, 200), '*': 150},
+ 'experimental': {1: (100, 250), 2: (200, 200), '*': 150},
},
'armhf': {
'testing': {1: (100, 0), 2: (200, 0), '*': 0},
- 'unstable': {1: (100, 25), 2: (200, 20), '*': 15},
+ 'unstable': {1: (100, 75), 2: (200, 60), '*': 45},
'experimental': {1: (100, 0), 2: (200, 0), '*': 0},
},
},
'ftbfs': {
'amd64': {
- 'testing': {1: (250, 4), 2: (350, 2), '*': 0},
- 'unstable': {1: (250, 4), 2: (350, 2), '*': 0},
- 'experimental': {1: (250, 4), 2: (350, 2), '*': 0},
+ 'testing': {1: (250, 40), 2: (350, 20), '*': 0},
+ 'unstable': {1: (250, 40), 2: (350, 20), '*': 0},
+ 'experimental': {1: (250, 40), 2: (350, 20), '*': 0},
},
'armhf': {
'testing': {1: (250, 0), 2: (350, 0), '*': 0},
- 'unstable': {1: (250, 4), 2: (350, 2), '*': 0},
+ 'unstable': {1: (250, 12), 2: (350, 6), '*': 0},
'experimental': {1: (250, 0), 2: (350, 0), '*': 0},
}
},
'old': {
'amd64': {
- 'testing': {1: (300, 20), 2: (400, 30), '*': 0},
- 'unstable': {1: (300, 60), 2: (400, 70), '*': 0},
- 'experimental': {1: (300, 3.5), 2: (400, 2.5), '*': 0},
+ 'testing': {1: (300, 200), 2: (400, 300), '*': 0},
+ 'unstable': {1: (300, 600), 2: (400, 700), '*': 0},
+ 'experimental': {1: (300, 35), 2: (400, 25), '*': 0},
},
'armhf': {
'testing': {1: (300, 0), 2: (400, 0), '*': 0},
- 'unstable': {1: (300, 17.5), 2: (400, 12.5), '*': 0},
+ 'unstable': {1: (300, 50), 2: (400, 40), '*': 0},
'experimental': {1: (300, 0), 2: (400, 0), '*': 0},
}
}
}
-# define an "arch factor", so the scheduling limits differ between archs
-ARCH_SHARE = {'amd64': 10, 'armhf': 3}
-
MAXIMUM = {'amd64': 750, 'armhf': 250}
class Limit:
@@ -88,16 +85,9 @@ class Limit:
self.arch = arch
self.queue = queue
- def _get_arch_multiplier(self):
- try:
- return ARCH_SHARE[self.arch]
- except KeyError:
- log.error('No arch factor defined for %s, returning 1')
- return 1
-
- def _get_level(self, stage):
+ def get_level(self, stage):
try:
- return LIMITS[self.queue][self.arch][self.suite][stage][0]
+ return int(LIMITS[self.queue][self.arch][self.suite][stage][0])
except KeyError:
log.error('No limit defined for the %s queue on %s/%s stage %s. '
'Returning 1', self.queue, self.suite, self.arch, stage)
@@ -107,10 +97,7 @@ class Limit:
'I can\'t guess what you want, giving up')
sys.exit(1)
- def get_level(self, stage):
- return int(self._get_level(stage) * self._get_arch_multiplier())
-
- def _get_limit(self, stage):
+ def get_limit(self, stage):
try:
limit = LIMITS[self.queue][self.arch][self.suite][stage]
limit = limit[1]
@@ -128,10 +115,7 @@ class Limit:
pass
else:
raise
- return limit
-
- def get_limit(self, stage):
- return int(self._get_limit(stage) * self._get_arch_multiplier())
+ return int(limit)
def get_staged_limit(self, current_total):
if current_total <= self.get_level(1):
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git
More information about the Qa-jenkins-scm
mailing list