diff --git a/awx/main/migrations/0065_v220_changes.py b/awx/main/migrations/0065_v220_changes.py index 0bee821a8d..ff88cdc336 100644 --- a/awx/main/migrations/0065_v220_changes.py +++ b/awx/main/migrations/0065_v220_changes.py @@ -13,6 +13,11 @@ class Migration(SchemaMigration): self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + # Adding field 'Job.become_enabled' + db.add_column(u'main_job', 'become_enabled', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + # Adding field 'Credential.become_method' db.add_column(u'main_credential', 'become_method', self.gf('django.db.models.fields.CharField')(default='', max_length=32, blank=True), @@ -33,6 +38,9 @@ class Migration(SchemaMigration): # Deleting field 'JobTemplate.become_enabled' db.delete_column(u'main_jobtemplate', 'become_enabled') + # Deleting field 'Job.become_enabled' + db.delete_column(u'main_job', 'become_enabled') + # Deleting field 'Credential.become_method' db.delete_column(u'main_credential', 'become_method') @@ -297,6 +305,7 @@ class Migration(SchemaMigration): }, 'main.job': { 'Meta': {'ordering': "('id',)", 'object_name': 'Job', '_ormbases': ['main.UnifiedJob']}, + 'become_enabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), 'cloud_credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs_as_cloud_credential+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'extra_vars': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}), diff --git a/awx/main/migrations/0066_v220_changes.py b/awx/main/migrations/0066_v220_changes.py index a53cdac990..27f33c0b7f 100644 --- a/awx/main/migrations/0066_v220_changes.py +++ b/awx/main/migrations/0066_v220_changes.py @@ -280,6 +280,7 @@ class Migration(DataMigration): }, 'main.job': { 'Meta': {'ordering': "('id',)", 'object_name': 'Job', '_ormbases': ['main.UnifiedJob']}, + 'become_enabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), 'cloud_credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs_as_cloud_credential+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'extra_vars': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}), diff --git a/awx/main/migrations/0067_v220_changes.py b/awx/main/migrations/0067_v220_changes.py index 8af45419a5..5bbcb7a8a5 100644 --- a/awx/main/migrations/0067_v220_changes.py +++ b/awx/main/migrations/0067_v220_changes.py @@ -293,6 +293,7 @@ class Migration(SchemaMigration): }, 'main.job': { 'Meta': {'ordering': "('id',)", 'object_name': 'Job', '_ormbases': ['main.UnifiedJob']}, + 'become_enabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), 'cloud_credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs_as_cloud_credential+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'extra_vars': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}), diff --git a/awx/main/migrations/0068_v220_changes.py b/awx/main/migrations/0068_v220_changes.py index f3e7357f93..62e63e461c 100644 --- a/awx/main/migrations/0068_v220_changes.py +++ b/awx/main/migrations/0068_v220_changes.py @@ -277,6 +277,7 @@ class Migration(SchemaMigration): }, 'main.job': { 'Meta': {'ordering': "('id',)", 'object_name': 'Job', '_ormbases': ['main.UnifiedJob']}, + 'become_enabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), 'cloud_credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs_as_cloud_credential+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'credential': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jobs'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['main.Credential']", 'blank': 'True', 'null': 'True'}), 'extra_vars': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}), @@ -525,4 +526,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['main'] \ No newline at end of file + complete_apps = ['main'] diff --git a/awx/main/models/jobs.py b/awx/main/models/jobs.py index dee5dfc603..cc5b4ad30a 100644 --- a/awx/main/models/jobs.py +++ b/awx/main/models/jobs.py @@ -113,6 +113,10 @@ class JobOptions(BaseModel): blank=True, default='', ) + become_enabled = models.BooleanField( + default=False, + ) + extra_vars_dict = VarsDictProperty('extra_vars', True) @@ -170,10 +174,6 @@ class JobTemplate(UnifiedJobTemplate, JobOptions): default=False, ) - become_enabled = models.BooleanField( - default=False, - ) - survey_spec = JSONField( blank=True, default={}, @@ -188,7 +188,7 @@ class JobTemplate(UnifiedJobTemplate, JobOptions): return ['name', 'description', 'job_type', 'inventory', 'project', 'playbook', 'credential', 'cloud_credential', 'forks', 'schedule', 'limit', 'verbosity', 'job_tags', 'extra_vars', 'launch_type', - 'force_handlers', 'skip_tags', 'start_at_task'] + 'force_handlers', 'skip_tags', 'start_at_task', 'become_enabled'] def create_job(self, **kwargs): ''' diff --git a/awx/main/tasks.py b/awx/main/tasks.py index a2308e8c99..87ddbebc64 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -637,7 +637,7 @@ class RunJob(BaseTask): if become_method and become_method == "su" and "become_password" in kwargs.get("passwords", {}): args.append("--ask-su-pass") else: - if job.job_template.become_enabled: + if job.become_enabled: args.append('--become') if become_method: args.extend(['--become-method', become_method])