mirror of
https://github.com/ansible/awx.git
synced 2026-03-04 18:21:03 -03:30
combine launch config and multi-cred migrations
This commit is contained in:
@@ -6,7 +6,7 @@ import django.db.models.deletion
|
|||||||
import awx.main.fields
|
import awx.main.fields
|
||||||
|
|
||||||
from awx.main.migrations import _migration_utils as migration_utils
|
from awx.main.migrations import _migration_utils as migration_utils
|
||||||
from awx.main.migrations._workflow_credential import migrate_workflow_cred
|
from awx.main.migrations._multi_cred import migrate_workflow_cred, migrate_workflow_cred_reverse
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
@@ -67,8 +67,8 @@ class Migration(migrations.Migration):
|
|||||||
field=awx.main.fields.JSONField(default={}, editable=False, blank=True),
|
field=awx.main.fields.JSONField(default={}, editable=False, blank=True),
|
||||||
),
|
),
|
||||||
# Run data migration before removing the old credential field
|
# Run data migration before removing the old credential field
|
||||||
migrations.RunPython(migration_utils.set_current_apps_for_migrations, lambda x, y: None),
|
migrations.RunPython(migration_utils.set_current_apps_for_migrations, migrations.RunPython.noop),
|
||||||
migrations.RunPython(migrate_workflow_cred, lambda x, y: None),
|
migrations.RunPython(migrate_workflow_cred, migrate_workflow_cred_reverse),
|
||||||
migrations.RemoveField(
|
migrations.RemoveField(
|
||||||
model_name='workflowjobnode',
|
model_name='workflowjobnode',
|
||||||
name='credential',
|
name='credential',
|
||||||
|
|||||||
@@ -10,3 +10,25 @@ def migrate_to_multi_cred(app, schema_editor):
|
|||||||
j.credentials.add(j.vault_credential)
|
j.credentials.add(j.vault_credential)
|
||||||
for cred in j.extra_credentials.all():
|
for cred in j.extra_credentials.all():
|
||||||
j.credentials.add(cred)
|
j.credentials.add(cred)
|
||||||
|
|
||||||
|
|
||||||
|
def migrate_workflow_cred(app, schema_editor):
|
||||||
|
WorkflowJobTemplateNode = app.get_model('main', 'WorkflowJobTemplateNode')
|
||||||
|
WorkflowJobNode = app.get_model('main', 'WorkflowJobNode')
|
||||||
|
|
||||||
|
for cls in (WorkflowJobNode, WorkflowJobTemplateNode):
|
||||||
|
for node in cls.objects.iterator():
|
||||||
|
if node.credential:
|
||||||
|
node.credentials.add(j.credential)
|
||||||
|
|
||||||
|
|
||||||
|
def migrate_workflow_cred_reverse(app, schema_editor):
|
||||||
|
WorkflowJobTemplateNode = app.get_model('main', 'WorkflowJobTemplateNode')
|
||||||
|
WorkflowJobNode = app.get_model('main', 'WorkflowJobNode')
|
||||||
|
|
||||||
|
for cls in (WorkflowJobNode, WorkflowJobTemplateNode):
|
||||||
|
for node in cls.objects.iterator():
|
||||||
|
cred = node.credentials.first()
|
||||||
|
if cred:
|
||||||
|
node.credential = cred
|
||||||
|
node.save()
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
def migrate_workflow_cred(app, schema_editor):
|
|
||||||
WorkflowJobTemplateNode = app.get_model('main', 'WorkflowJobTemplateNode')
|
|
||||||
WorkflowJobNode = app.get_model('main', 'WorkflowJobNode')
|
|
||||||
|
|
||||||
for cls in (WorkflowJobNode, WorkflowJobTemplateNode):
|
|
||||||
for j in cls.objects.iterator():
|
|
||||||
if j.credential:
|
|
||||||
j.credentials.add(j.credential)
|
|
||||||
Reference in New Issue
Block a user