mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 18:40:01 -03:30
Revert "Apply migration flag check to task manager"
This reverts commit a0910eb6de3c4713199e73c43f003c48c2895f9f.
This commit is contained in:
parent
c6dc69c68b
commit
1f46878652
@ -13,17 +13,18 @@ import urllib.parse
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.db.models.signals import post_save
|
||||
from django.db import IntegrityError
|
||||
from django.db.migrations.executor import MigrationExecutor
|
||||
from django.db import IntegrityError, connection
|
||||
from django.utils.functional import curry
|
||||
from django.shortcuts import get_object_or_404, redirect
|
||||
from django.apps import apps
|
||||
from django.core.cache import cache
|
||||
from django.utils.deprecation import MiddlewareMixin
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.urls import reverse, resolve
|
||||
|
||||
from awx.main.models import ActivityStream
|
||||
from awx.main.utils.named_url_graph import generate_graph, GraphNode
|
||||
from awx.main.utils.db import migration_in_progress_check_or_relase
|
||||
from awx.conf import fields, register
|
||||
|
||||
|
||||
@ -213,7 +214,11 @@ class URLModificationMiddleware(MiddlewareMixin):
|
||||
class MigrationRanCheckMiddleware(MiddlewareMixin):
|
||||
|
||||
def process_request(self, request):
|
||||
if migration_in_progress_check_or_relase():
|
||||
if getattr(resolve(request.path), 'url_name', '') == 'migrations_notran':
|
||||
return
|
||||
return redirect(reverse("ui:migrations_notran"))
|
||||
if cache.get('migration_in_progress', False):
|
||||
executor = MigrationExecutor(connection)
|
||||
plan = executor.migration_plan(executor.loader.graph.leaf_nodes())
|
||||
if not bool(plan):
|
||||
logger.info('Detected that migration finished, migration page taken down.')
|
||||
cache.delete('migration_in_progress')
|
||||
elif getattr(resolve(request.path), 'url_name', '') != 'migrations_notran':
|
||||
return redirect(reverse("ui:migrations_notran"))
|
||||
|
||||
@ -5,15 +5,11 @@ import logging
|
||||
# AWX
|
||||
from awx.main.scheduler import TaskManager
|
||||
from awx.main.dispatch.publish import task
|
||||
from awx.main.utils.db import migration_in_progress_check_or_relase
|
||||
|
||||
logger = logging.getLogger('awx.main.scheduler')
|
||||
|
||||
|
||||
@task()
|
||||
def run_task_manager():
|
||||
if migration_in_progress_check_or_relase():
|
||||
logger.debug("Not running task manager because migration is in progress.")
|
||||
return
|
||||
logger.debug("Running Tower task manager.")
|
||||
TaskManager().schedule()
|
||||
|
||||
@ -1,16 +1,8 @@
|
||||
# Copyright (c) 2017 Ansible by Red Hat
|
||||
# All Rights Reserved.
|
||||
|
||||
import logging
|
||||
from itertools import chain
|
||||
|
||||
from django.core.cache import cache
|
||||
from django.db.migrations.executor import MigrationExecutor
|
||||
from django.db import connection
|
||||
|
||||
|
||||
logger = logging.getLogger('awx.main.utils.db')
|
||||
|
||||
|
||||
def get_all_field_names(model):
|
||||
# Implements compatibility with _meta.get_all_field_names
|
||||
@ -22,21 +14,3 @@ def get_all_field_names(model):
|
||||
# GenericForeignKey from the results.
|
||||
if not (field.many_to_one and field.related_model is None)
|
||||
)))
|
||||
|
||||
|
||||
def migration_in_progress_check_or_relase():
|
||||
'''A memcache flag is raised (set to True) to inform cluster
|
||||
that a migration is ongoing see main.apps.MainConfig.ready
|
||||
if the flag is True then the flag is removed on this instance if
|
||||
models-db consistency is observed
|
||||
effective value of migration flag is returned
|
||||
'''
|
||||
migration_in_progress = cache.get('migration_in_progress', False)
|
||||
if migration_in_progress:
|
||||
executor = MigrationExecutor(connection)
|
||||
plan = executor.migration_plan(executor.loader.graph.leaf_nodes())
|
||||
if not bool(plan):
|
||||
logger.info('Detected that migration finished, migration flag taken down.')
|
||||
cache.delete('migration_in_progress')
|
||||
migration_in_progress = False
|
||||
return migration_in_progress
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user