diff --git a/reposync_scheduler.nomad b/reposync_scheduler.nomad index 4fa8d0a47eb9ae1c68ebfd9d197195ffe441eed5..60d0cf9433a9f3b4c4eedc8f27849d9b78c2b7b5 100644 --- a/reposync_scheduler.nomad +++ b/reposync_scheduler.nomad @@ -10,6 +10,9 @@ job "reposync_scheduler" { prohibit_overlap = true } + parameterized { + meta_optional = ["repoid"] + } task "reposync_scheduler" { driver = "docker" diff --git a/scheduler/schedule.py b/scheduler/schedule.py index 7e0de5c70986d0ce820a41e831077dece0393e20..dd806be0fe55cbeb297db28cd8971d531739be05 100755 --- a/scheduler/schedule.py +++ b/scheduler/schedule.py @@ -15,6 +15,7 @@ CONFIG = '/root/repos.yaml' REPOPATH = '/etc/yum.repos.d/' JOBNAME = 'reposync' STATUS_CHECK_SECS = 5 +REPOID = os.getenv('NOMAD_META_REPOID', None) def log(**kwargs): kwargs.update({ @@ -68,6 +69,10 @@ for repofile in os.listdir(REPOPATH): continue for rid in config.sections(): + # If we've been called as a parametrized job, only launch the job we've been asked for + if REPOID and rid != REPOID: + continue + try: PATHROOT = repoconf[repofile]['pathroot'] except KeyError: