mirror of
https://github.com/ansible/awx.git
synced 2026-09-16 00:40:11 -02:30
AC-1040 Unified jobs updates to get unit tests to pass (hopefully).
This commit is contained in:
@@ -53,15 +53,36 @@ class Migration(DataMigration):
|
||||
new_ctype = orm['contenttypes.ContentType'].objects.get(app_label=orm.Project._meta.app_label, model=orm.Project._meta.module_name)
|
||||
for project in orm.Project.objects.order_by('pk'):
|
||||
d = self._get_dict_from_common_model(project)
|
||||
d['polymorphic_ctype_id'] = new_ctype.pk
|
||||
d.update({
|
||||
'polymorphic_ctype_id': new_ctype.pk,
|
||||
'local_path': project.local_path,
|
||||
'scm_type': project.scm_type,
|
||||
'scm_url': project.scm_url,
|
||||
'scm_branch': project.scm_branch,
|
||||
'scm_clean': project.scm_clean,
|
||||
'scm_delete_on_update': project.scm_delete_on_update,
|
||||
'credential_id': project.credential_id,
|
||||
'scm_delete_on_next_update': project.scm_delete_on_next_update,
|
||||
'scm_update_on_launch': project.scm_update_on_launch,
|
||||
})
|
||||
new_project, created = orm.ProjectNew.objects.get_or_create(old_pk=project.pk, defaults=d)
|
||||
|
||||
# Copy ProjectUpdate old to new.
|
||||
new_ctype = orm['contenttypes.ContentType'].objects.get(app_label=orm.ProjectUpdate._meta.app_label, model=orm.ProjectUpdate._meta.module_name)
|
||||
for project_update in orm.ProjectUpdate.objects.order_by('pk'):
|
||||
project = project_update.project
|
||||
d = self._get_dict_from_common_task_model(project_update)
|
||||
d['project_id'] = orm.ProjectNew.objects.get(old_pk=project_update.project_id).pk
|
||||
d['polymorphic_ctype_id'] = new_ctype.pk
|
||||
d.update({
|
||||
'polymorphic_ctype_id': new_ctype.pk,
|
||||
'project_id': orm.ProjectNew.objects.get(old_pk=project_update.project_id).pk,
|
||||
'local_path': project.local_path,
|
||||
'scm_type': project.scm_type,
|
||||
'scm_url': project.scm_url,
|
||||
'scm_branch': project.scm_branch,
|
||||
'scm_clean': project.scm_clean,
|
||||
'scm_delete_on_update': project.scm_delete_on_update,
|
||||
'credential_id': project.credential_id,
|
||||
})
|
||||
new_project_update, created = orm.ProjectUpdateNew.objects.get_or_create(old_pk=project_update.pk, defaults=d)
|
||||
|
||||
# Update Project last run.
|
||||
@@ -71,6 +92,9 @@ class Migration(DataMigration):
|
||||
new_project.current_job = orm.ProjectUpdateNew.objects.get(old_pk=project.current_update_id)
|
||||
if project.last_update:
|
||||
new_project.last_job = orm.ProjectUpdateNew.objects.get(old_pk=project.last_update_id)
|
||||
new_project.last_job_failed = project.last_update_failed
|
||||
new_project.last_job_run = project.last_updated
|
||||
new_project.status = project.status
|
||||
new_project.save()
|
||||
|
||||
# Update Organization projects.
|
||||
@@ -97,15 +121,38 @@ class Migration(DataMigration):
|
||||
new_ctype = orm['contenttypes.ContentType'].objects.get(app_label=orm.InventorySource._meta.app_label, model=orm.InventorySource._meta.module_name)
|
||||
for inventory_source in orm.InventorySource.objects.order_by('pk'):
|
||||
d = self._get_dict_from_common_model(inventory_source)
|
||||
d['polymorphic_ctype_id'] = new_ctype.pk
|
||||
d.update({
|
||||
'polymorphic_ctype_id': new_ctype.pk,
|
||||
'source': inventory_source.source,
|
||||
'source_path': inventory_source.source_path,
|
||||
'source_vars': inventory_source.source_vars,
|
||||
'credential_id': inventory_source.credential_id,
|
||||
'source_regions': inventory_source.source_regions,
|
||||
'overwrite': inventory_source.overwrite,
|
||||
'overwrite_vars': inventory_source.overwrite_vars,
|
||||
'update_on_launch': inventory_source.update_on_launch,
|
||||
'inventory_id': inventory_source.inventory_id,
|
||||
'group_id': inventory_source.group_id,
|
||||
})
|
||||
new_inventory_source, created = orm.InventorySourceNew.objects.get_or_create(old_pk=inventory_source.pk, defaults=d)
|
||||
|
||||
# Copy InventoryUpdate old to new.
|
||||
new_ctype = orm['contenttypes.ContentType'].objects.get(app_label=orm.InventoryUpdate._meta.app_label, model=orm.InventoryUpdate._meta.module_name)
|
||||
for inventory_update in orm.InventoryUpdate.objects.order_by('pk'):
|
||||
inventory_source = inventory_update.inventory_source
|
||||
d = self._get_dict_from_common_task_model(inventory_update)
|
||||
d['inventory_source_id'] = orm.InventorySourceNew.objects.get(old_pk=inventory_update.inventory_source_id).pk
|
||||
d['polymorphic_ctype_id'] = new_ctype.pk
|
||||
d.update({
|
||||
'polymorphic_ctype_id': new_ctype.pk,
|
||||
'source': inventory_source.source,
|
||||
'source_path': inventory_source.source_path,
|
||||
'source_vars': inventory_source.source_vars,
|
||||
'credential_id': inventory_source.credential_id,
|
||||
'source_regions': inventory_source.source_regions,
|
||||
'overwrite': inventory_source.overwrite,
|
||||
'overwrite_vars': inventory_source.overwrite_vars,
|
||||
'inventory_source_id': orm.InventorySourceNew.objects.get(old_pk=inventory_update.inventory_source_id).pk,
|
||||
'license_error': inventory_update.license_error,
|
||||
})
|
||||
new_inventory_update, created = orm.InventoryUpdateNew.objects.get_or_create(old_pk=inventory_update.pk, defaults=d)
|
||||
|
||||
# Update InventorySource last run.
|
||||
@@ -115,6 +162,9 @@ class Migration(DataMigration):
|
||||
new_inventory_source.current_job = orm.InventoryUpdateNew.objects.get(old_pk=inventory_source.current_update_id)
|
||||
if inventory_source.last_update:
|
||||
new_inventory_source.last_job = orm.InventoryUpdateNew.objects.get(old_pk=inventory_source.last_update_id)
|
||||
new_inventory_source.last_job_failed = inventory_source.last_update_failed
|
||||
new_inventory_source.last_job_run = inventory_source.last_updated
|
||||
new_inventory_source.status = inventory_source.status
|
||||
new_inventory_source.save()
|
||||
|
||||
# Update Group inventory_sources.
|
||||
@@ -133,20 +183,57 @@ class Migration(DataMigration):
|
||||
new_ctype = orm['contenttypes.ContentType'].objects.get(app_label=orm.JobTemplate._meta.app_label, model=orm.JobTemplate._meta.module_name)
|
||||
for job_template in orm.JobTemplate.objects.order_by('pk'):
|
||||
d = self._get_dict_from_common_model(job_template)
|
||||
d.update({
|
||||
'polymorphic_ctype_id': new_ctype.pk,
|
||||
'job_type': job_template.job_type,
|
||||
'inventory_id': job_template.inventory_id,
|
||||
'playbook': job_template.playbook,
|
||||
'credential_id': job_template.credential_id,
|
||||
'cloud_credential_id': job_template.cloud_credential_id,
|
||||
'forks': job_template.forks,
|
||||
'limit': job_template.limit,
|
||||
'extra_vars': job_template.extra_vars,
|
||||
'job_tags': job_template.job_tags,
|
||||
'host_config_key': job_template.host_config_key,
|
||||
})
|
||||
if job_template.project:
|
||||
d['project_id'] = orm.ProjectNew.objects.get(old_pk=job_template.project_id).pk
|
||||
d['polymorphic_ctype_id'] = new_ctype.pk
|
||||
new_job_template, created = orm.JobTemplateNew.objects.get_or_create(old_pk=job_template.pk, defaults=d)
|
||||
|
||||
# Copy Job old to new.
|
||||
new_ctype = orm['contenttypes.ContentType'].objects.get(app_label=orm.Job._meta.app_label, model=orm.Job._meta.module_name)
|
||||
for job in orm.Job.objects.order_by('pk'):
|
||||
d = self._get_dict_from_common_task_model(job)
|
||||
d.update({
|
||||
'polymorphic_ctype_id': new_ctype.pk,
|
||||
'job_type': job_template.job_type,
|
||||
'inventory_id': job_template.inventory_id,
|
||||
'playbook': job_template.playbook,
|
||||
'credential_id': job_template.credential_id,
|
||||
'cloud_credential_id': job_template.cloud_credential_id,
|
||||
'forks': job_template.forks,
|
||||
'limit': job_template.limit,
|
||||
'extra_vars': job_template.extra_vars,
|
||||
'job_tags': job_template.job_tags,
|
||||
})
|
||||
if job.project:
|
||||
d['project_id'] = orm.ProjectNew.objects.get(old_pk=job.project_id).pk
|
||||
d['polymorphic_ctype_id'] = new_ctype.pk
|
||||
if job.job_template:
|
||||
d['job_template_id'] = orm.JobTemplateNew.objects.get(old_pk=job.job_template_id).pk
|
||||
new_job, created = orm.JobNew.objects.get_or_create(old_pk=job.pk, defaults=d)
|
||||
|
||||
# Update JobTemplate last run.
|
||||
for new_job_template in orm.JobTemplateNew.objects.order_by('pk'):
|
||||
try:
|
||||
new_last_job = new_job_template.jobs.order_by('-pk')[0]
|
||||
new_job_template.last_job = new_last_job
|
||||
new_job_template.last_job_failed = new_last_job.failed
|
||||
new_job_template.last_job_run = new_last_job.finished
|
||||
new_job_template.status = 'failed' if new_last_job.failed else 'successful'
|
||||
except IndexError:
|
||||
new_job_template.status = 'never updated'
|
||||
new_inventory_source.save()
|
||||
|
||||
# Update JobHostSummary job.
|
||||
for job_host_summary in orm.JobHostSummary.objects.order_by('pk'):
|
||||
new_job = orm.JobNew.objects.get(old_pk=job_host_summary.job_id)
|
||||
@@ -192,6 +279,7 @@ class Migration(DataMigration):
|
||||
"Write your backwards methods here."
|
||||
|
||||
# FIXME: Would like to have this, but not required.
|
||||
raise NotImplementedError()
|
||||
|
||||
models = {
|
||||
u'auth.group': {
|
||||
|
||||
@@ -7,7 +7,7 @@ from django.db import models
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
'''
|
||||
Rename tables to be consistent with model names.
|
||||
Rename tables/columns to be consistent with model/field names.
|
||||
'''
|
||||
|
||||
def forwards(self, orm):
|
||||
@@ -19,41 +19,60 @@ class Migration(SchemaMigration):
|
||||
db.rename_table(u'main_jobnew', 'main_job')
|
||||
|
||||
db.rename_table(db.shorten_name(u'main_team_new_projects'), db.shorten_name(u'main_team_projects'))
|
||||
db.rename_column(db.shorten_name(u'main_team_projects'), 'projectnew_id', 'project_id')
|
||||
db.rename_table(db.shorten_name(u'main_organization_new_projects'), db.shorten_name(u'main_organization_projects'))
|
||||
db.rename_column(db.shorten_name(u'main_organization_projects'), 'projectnew_id', 'project_id')
|
||||
db.rename_column(u'main_permission', 'new_project_id', 'project_id')
|
||||
|
||||
db.rename_column(u'main_host', 'new_last_job_id', 'last_job_id')
|
||||
db.rename_table(db.shorten_name(u'main_host_new_inventory_sources'), db.shorten_name(u'main_host_inventory_sources'))
|
||||
db.rename_column(db.shorten_name(u'main_host_inventory_sources'), 'inventorysourcenew_id', 'inventorysource_id')
|
||||
db.rename_table(db.shorten_name(u'main_group_new_inventory_sources'), db.shorten_name(u'main_group_inventory_sources'))
|
||||
db.rename_column(db.shorten_name(u'main_group_inventory_sources'), 'inventorysourcenew_id', 'inventorysource_id')
|
||||
|
||||
db.rename_column(u'main_jobhostsummary', 'new_job_id', 'job_id')
|
||||
db.rename_column(u'main_jobevent', 'new_job_id', 'job_id')
|
||||
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_new_project'), db.shorten_name(u'main_activitystream_project'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_project'), 'projectnew_id', 'project_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_new_project_update'), db.shorten_name(u'main_activitystream_project_update'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_project_update'), 'projectupdatenew_id', 'projectupdate_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_new_inventory_source'), db.shorten_name(u'main_activitystream_inventory_source'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_inventory_source'), 'inventorysourcenew_id', 'inventorysource_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_new_inventory_update'), db.shorten_name(u'main_activitystream_inventory_update'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_inventory_update'), 'inventoryupdatenew_id', 'inventoryupdate_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_new_job_template'), db.shorten_name(u'main_activitystream_job_template'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_job_template'), 'jobtemplatenew_id', 'jobtemplate_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_new_job'), db.shorten_name(u'main_activitystream_job'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_job'), 'jobnew_id', 'job_id')
|
||||
|
||||
def backwards(self, orm):
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_job'), 'job_id', 'jobnew_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_job'), db.shorten_name(u'main_activitystream_new_job'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_job_template'), 'jobtemplate_id', 'jobtemplatenew_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_job_template'), db.shorten_name(u'main_activitystream_new_job_template'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_inventory_update'), 'inventoryupdate_id', 'inventoryupdatenew_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_inventory_update'), db.shorten_name(u'main_activitystream_new_inventory_update'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_inventory_source'), 'inventorysource_id', 'inventorysourcenew_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_inventory_source'), db.shorten_name(u'main_activitystream_new_inventory_source'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_project_update'), 'projectupdate_id', 'projectupdatenew_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_project_update'), db.shorten_name(u'main_activitystream_new_project_update'))
|
||||
db.rename_column(db.shorten_name(u'main_activitystream_project'), 'project_id', 'projectnew_id')
|
||||
db.rename_table(db.shorten_name(u'main_activitystream_project'), db.shorten_name(u'main_activitystream_new_project'))
|
||||
|
||||
db.rename_column(u'main_jobevent', 'job_id', 'new_job_id')
|
||||
db.rename_column(u'main_jobhostsummary', 'job_id', 'new_job_id')
|
||||
|
||||
|
||||
db.rename_column(db.shorten_name(u'main_group_inventory_sources'), 'inventorysource_id', 'inventorysourcenew_id')
|
||||
db.rename_table(db.shorten_name(u'main_group_inventory_sources'), db.shorten_name(u'main_group_new_inventory_sources'))
|
||||
db.rename_column(db.shorten_name(u'main_host_inventory_sources'), 'inventorysource_id', 'inventorysourcenew_id')
|
||||
db.rename_table(db.shorten_name(u'main_host_inventory_sources'), db.shorten_name(u'main_host_new_inventory_sources'))
|
||||
db.rename_column(u'main_host', 'last_job_id', 'new_last_job_id')
|
||||
|
||||
db.rename_column(u'main_permission', 'project_id', 'new_project_id')
|
||||
db.rename_column(db.shorten_name(u'main_organization_projects'), 'project_id', 'projectnew_id')
|
||||
db.rename_table(db.shorten_name(u'main_organization_projects'), db.shorten_name(u'main_organization_new_projects'))
|
||||
db.rename_column(db.shorten_name(u'main_team_projects'), 'project_id', 'projectnew_id')
|
||||
db.rename_table(db.shorten_name(u'main_team_projects'), db.shorten_name(u'main_team_new_projects'))
|
||||
|
||||
db.rename_table(u'main_job', 'main_jobnew')
|
||||
|
||||
Reference in New Issue
Block a user