on job template launch inherit variables in the following hierarchy

(bottom up):

* Job Launch Extra Vars
* Job Template Survey (defaults)
* Job Template Extra vars
This commit is contained in:
Chris Meyers
2015-07-23 16:02:44 -04:00
parent fa93c8bbd3
commit 0ce3a240e6

View File

@@ -283,6 +283,19 @@ class JobTemplate(UnifiedJobTemplate, JobOptions):
survey_element['choices'])) survey_element['choices']))
return errors return errors
def _update_unified_job_kwargs(self, **kwargs):
# Overwrite job extra_vars with job template extra vars
extra_vars = self.extra_vars_dict
# Overwrite with job template survey default vars
if self.survey_enabled and 'spec' in self.survey_spec:
for survey_element in self.survey_spec.get("spec", []):
if survey_element['default']:
extra_vars[survey_element['variable']] = survey_element['default']
kwargs['extra_vars'] = json.dumps(extra_vars)
return kwargs
@property @property
def cache_timeout_blocked(self): def cache_timeout_blocked(self):
if Job.objects.filter(job_template=self, status__in=['pending', 'waiting', 'running']).count() > getattr(settings, 'SCHEDULE_MAX_JOBS', 10): if Job.objects.filter(job_template=self, status__in=['pending', 'waiting', 'running']).count() > getattr(settings, 'SCHEDULE_MAX_JOBS', 10):