mirror of
https://github.com/ansible/awx.git
synced 2026-07-28 16:39:56 -02:30
[AAP-82221] Skip reverse sync during post-migrate role definition setup (#16561)
AAP-82221 — Skip reverse sync during post-migrate role definition setup
The dab_post_migrate signal handler added in 64dc097914 calls
setup_managed_role_definitions on every awx-manage migrate run.
During fresh installs this deletes stale managed role definitions
and triggers a reverse sync to the gateway, which returns 423
Locked because migrate_service_data has not finished yet. The
installer retries 5 times but each attempt fires the same signal
and hits the same 423, failing the controller init.
This commit is contained in:
committed by
GitHub
parent
54e5c948fe
commit
78a55b25ec
@@ -79,10 +79,16 @@ class MainConfig(AppConfig):
|
|||||||
def _sync_managed_role_definitions(sender, **kwargs):
|
def _sync_managed_role_definitions(sender, **kwargs):
|
||||||
from django.apps import apps as global_apps
|
from django.apps import apps as global_apps
|
||||||
|
|
||||||
|
from ansible_base.resource_registry.signals.handlers import no_reverse_sync
|
||||||
|
|
||||||
# NOTE: setup_managed_role_definitions lives in the migrations module because
|
# NOTE: setup_managed_role_definitions lives in the migrations module because
|
||||||
# it is also called from migration 0192. Ideally this would be extracted to a
|
# it is also called from migration 0192. Ideally this would be extracted to a
|
||||||
# shared non-migration module, but doing so requires updating the migration
|
# shared non-migration module, but doing so requires updating the migration
|
||||||
# import, which is a broader refactor (see also models/rbac.py imports).
|
# import, which is a broader refactor (see also models/rbac.py imports).
|
||||||
from awx.main.migrations._dab_rbac import setup_managed_role_definitions
|
from awx.main.migrations._dab_rbac import setup_managed_role_definitions
|
||||||
|
|
||||||
|
# During post-migrate the resource server (gateway) may not be ready
|
||||||
|
# (e.g. migrate_service_data still holds a 423 lock). Disable reverse
|
||||||
|
# sync for this call — gateway reconciles via migrate_service_data.
|
||||||
|
with no_reverse_sync():
|
||||||
setup_managed_role_definitions(global_apps, None)
|
setup_managed_role_definitions(global_apps, None)
|
||||||
|
|||||||
Reference in New Issue
Block a user