Add prompt for verbosity.

This commit is contained in:
Aaron Tan
2017-05-04 14:32:08 -04:00
parent 6c7028f657
commit 18ba56964f
6 changed files with 30 additions and 8 deletions

View File

@@ -2256,8 +2256,8 @@ class JobTemplateSerializer(JobTemplateMixin, UnifiedJobTemplateSerializer, JobO
class Meta: class Meta:
model = JobTemplate model = JobTemplate
fields = ('*', 'host_config_key', 'ask_variables_on_launch', 'ask_limit_on_launch', fields = ('*', 'host_config_key', 'ask_variables_on_launch', 'ask_limit_on_launch', 'ask_tags_on_launch',
'ask_tags_on_launch', 'ask_skip_tags_on_launch', 'ask_job_type_on_launch', 'ask_inventory_on_launch', 'ask_skip_tags_on_launch', 'ask_job_type_on_launch', 'ask_verbosity_on_launch', 'ask_inventory_on_launch',
'ask_credential_on_launch', 'survey_enabled', 'become_enabled', 'allow_simultaneous') 'ask_credential_on_launch', 'survey_enabled', 'become_enabled', 'allow_simultaneous')
def get_related(self, obj): def get_related(self, obj):
@@ -2317,6 +2317,7 @@ class JobSerializer(UnifiedJobSerializer, JobOptionsSerializer):
ask_skip_tags_on_launch = serializers.ReadOnlyField() ask_skip_tags_on_launch = serializers.ReadOnlyField()
ask_tags_on_launch = serializers.ReadOnlyField() ask_tags_on_launch = serializers.ReadOnlyField()
ask_job_type_on_launch = serializers.ReadOnlyField() ask_job_type_on_launch = serializers.ReadOnlyField()
ask_verbosity_on_launch = serializers.ReadOnlyField()
ask_inventory_on_launch = serializers.ReadOnlyField() ask_inventory_on_launch = serializers.ReadOnlyField()
ask_credential_on_launch = serializers.ReadOnlyField() ask_credential_on_launch = serializers.ReadOnlyField()
artifacts = serializers.SerializerMethodField() artifacts = serializers.SerializerMethodField()
@@ -2325,8 +2326,8 @@ class JobSerializer(UnifiedJobSerializer, JobOptionsSerializer):
model = Job model = Job
fields = ('*', 'job_template', 'passwords_needed_to_start', 'ask_variables_on_launch', fields = ('*', 'job_template', 'passwords_needed_to_start', 'ask_variables_on_launch',
'ask_limit_on_launch', 'ask_tags_on_launch', 'ask_skip_tags_on_launch', 'ask_limit_on_launch', 'ask_tags_on_launch', 'ask_skip_tags_on_launch',
'ask_job_type_on_launch', 'ask_inventory_on_launch', 'ask_credential_on_launch', 'ask_job_type_on_launch', 'ask_verbosity_on_launch', 'ask_inventory_on_launch',
'allow_simultaneous', 'artifacts', 'scm_revision',) 'ask_credential_on_launch', 'allow_simultaneous', 'artifacts', 'scm_revision',)
def get_related(self, obj): def get_related(self, obj):
res = super(JobSerializer, self).get_related(obj) res = super(JobSerializer, self).get_related(obj)
@@ -2929,13 +2930,13 @@ class JobLaunchSerializer(BaseSerializer):
'extra_vars', 'limit', 'job_tags', 'skip_tags', 'job_type', 'inventory', 'extra_vars', 'limit', 'job_tags', 'skip_tags', 'job_type', 'inventory',
'credential', 'ask_variables_on_launch', 'ask_tags_on_launch', 'credential', 'ask_variables_on_launch', 'ask_tags_on_launch',
'ask_skip_tags_on_launch', 'ask_job_type_on_launch', 'ask_limit_on_launch', 'ask_skip_tags_on_launch', 'ask_job_type_on_launch', 'ask_limit_on_launch',
'ask_inventory_on_launch', 'ask_credential_on_launch', 'ask_verbosity_on_launch', 'ask_inventory_on_launch', 'ask_credential_on_launch',
'survey_enabled', 'variables_needed_to_start', 'survey_enabled', 'variables_needed_to_start',
'credential_needed_to_start', 'inventory_needed_to_start', 'credential_needed_to_start', 'inventory_needed_to_start',
'job_template_data', 'defaults') 'job_template_data', 'defaults')
read_only_fields = ( read_only_fields = (
'ask_variables_on_launch', 'ask_limit_on_launch', 'ask_tags_on_launch', 'ask_variables_on_launch', 'ask_limit_on_launch', 'ask_tags_on_launch',
'ask_skip_tags_on_launch', 'ask_job_type_on_launch', 'ask_skip_tags_on_launch', 'ask_job_type_on_launch', 'ask_verbosity_on_launch',
'ask_inventory_on_launch', 'ask_credential_on_launch') 'ask_inventory_on_launch', 'ask_credential_on_launch')
extra_kwargs = { extra_kwargs = {
'credential': {'write_only': True,}, 'credential': {'write_only': True,},

View File

@@ -153,6 +153,13 @@ class Migration(migrations.Migration):
field=models.PositiveIntegerField(default=1, blank=True, choices=[(0, b'0 (WARNING)'), (1, b'1 (INFO)'), (2, b'2 (DEBUG)')]), field=models.PositiveIntegerField(default=1, blank=True, choices=[(0, b'0 (WARNING)'), (1, b'1 (INFO)'), (2, b'2 (DEBUG)')]),
), ),
# Job Templates
migrations.AddField(
model_name='jobtemplate',
name='ask_verbosity_on_launch',
field=models.BooleanField(default=False),
),
# Workflows # Workflows
migrations.AddField( migrations.AddField(
model_name='workflowjob', model_name='workflowjob',

View File

@@ -257,6 +257,10 @@ class JobTemplate(UnifiedJobTemplate, JobOptions, SurveyJobTemplateMixin, Resour
blank=True, blank=True,
default=False, default=False,
) )
ask_verbosity_on_launch = models.BooleanField(
blank=True,
default=False,
)
ask_inventory_on_launch = models.BooleanField( ask_inventory_on_launch = models.BooleanField(
blank=True, blank=True,
default=False, default=False,
@@ -363,6 +367,7 @@ class JobTemplate(UnifiedJobTemplate, JobOptions, SurveyJobTemplateMixin, Resour
job_tags=self.ask_tags_on_launch, job_tags=self.ask_tags_on_launch,
skip_tags=self.ask_skip_tags_on_launch, skip_tags=self.ask_skip_tags_on_launch,
job_type=self.ask_job_type_on_launch, job_type=self.ask_job_type_on_launch,
verbosity=self.ask_verbosity_on_launch,
inventory=self.ask_inventory_on_launch, inventory=self.ask_inventory_on_launch,
credential=self.ask_credential_on_launch credential=self.ask_credential_on_launch
) )
@@ -548,6 +553,12 @@ class Job(UnifiedJob, JobOptions, SurveyJobMixin, JobNotificationMixin):
return self.job_template.ask_job_type_on_launch return self.job_template.ask_job_type_on_launch
return False return False
@property
def ask_verbosity_on_launch(self):
if self.job_template is not None:
return self.job_template.ask_verbosity_on_launch
return False
@property @property
def ask_inventory_on_launch(self): def ask_inventory_on_launch(self):
if self.job_template is not None: if self.job_template is not None:

View File

@@ -52,6 +52,7 @@ def job_template_prompts(project, inventory, machine_credential):
ask_inventory_on_launch=on_off, ask_inventory_on_launch=on_off,
ask_limit_on_launch=on_off, ask_limit_on_launch=on_off,
ask_credential_on_launch=on_off, ask_credential_on_launch=on_off,
ask_verbosity_on_launch=on_off,
) )
return rf return rf
@@ -71,6 +72,7 @@ def job_template_prompts_null(project):
ask_inventory_on_launch=True, ask_inventory_on_launch=True,
ask_limit_on_launch=True, ask_limit_on_launch=True,
ask_credential_on_launch=True, ask_credential_on_launch=True,
ask_verbosity_on_launch=True,
) )

View File

@@ -55,8 +55,8 @@ class TestJobRelaunchAccess:
jt = JobTemplate.objects.create( jt = JobTemplate.objects.create(
name='test-job-template-prompts', credential=machine_credential, inventory=inventory, name='test-job-template-prompts', credential=machine_credential, inventory=inventory,
ask_tags_on_launch=True, ask_variables_on_launch=True, ask_skip_tags_on_launch=True, ask_tags_on_launch=True, ask_variables_on_launch=True, ask_skip_tags_on_launch=True,
ask_limit_on_launch=True, ask_job_type_on_launch=True, ask_inventory_on_launch=True, ask_limit_on_launch=True, ask_job_type_on_launch=True, ask_verbosity_on_launch=True,
ask_credential_on_launch=True) ask_inventory_on_launch=True, ask_credential_on_launch=True)
new_cred = Credential.objects.create( new_cred = Credential.objects.create(
name='new-cred', name='new-cred',
credential_type=credentialtype_ssh, credential_type=credentialtype_ssh,

View File

@@ -105,6 +105,7 @@ def jt_ask(job_template_factory):
jt.ask_skip_tags_on_launch = True jt.ask_skip_tags_on_launch = True
jt.ask_limit_on_launch = True jt.ask_limit_on_launch = True
jt.ask_tags_on_launch = True jt.ask_tags_on_launch = True
jt.ask_verbosity_on_launch = True
return jt return jt