mirror of
https://github.com/ansible/awx.git
synced 2026-03-20 10:27:34 -02:30
Merge pull request #5768 from AlanCoding/fewer_computed_fields
Remove computed fields artifacts no longer valid Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
@@ -16,13 +16,10 @@ from awx.main.models import (
|
|||||||
Job, AdHocCommand, ProjectUpdate, InventoryUpdate,
|
Job, AdHocCommand, ProjectUpdate, InventoryUpdate,
|
||||||
SystemJob, WorkflowJob, Notification
|
SystemJob, WorkflowJob, Notification
|
||||||
)
|
)
|
||||||
from awx.main.signals import ( # noqa
|
from awx.main.signals import (
|
||||||
emit_update_inventory_on_created_or_deleted,
|
|
||||||
emit_update_inventory_computed_fields,
|
|
||||||
disable_activity_stream,
|
disable_activity_stream,
|
||||||
disable_computed_fields
|
disable_computed_fields
|
||||||
)
|
)
|
||||||
from django.db.models.signals import post_save, post_delete, m2m_changed # noqa
|
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Generated by Django 2.2.8 on 2020-01-27 12:39
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('main', '0105_v370_remove_jobevent_parent_and_hosts'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='inventory',
|
||||||
|
name='groups_with_active_failures',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -122,12 +122,6 @@ class Inventory(CommonModelNameNotUnique, ResourceMixin, RelatedJobsMixin):
|
|||||||
help_text=_('This field is deprecated and will be removed in a future release. '
|
help_text=_('This field is deprecated and will be removed in a future release. '
|
||||||
'Total number of groups in this inventory.'),
|
'Total number of groups in this inventory.'),
|
||||||
)
|
)
|
||||||
groups_with_active_failures = models.PositiveIntegerField(
|
|
||||||
default=0,
|
|
||||||
editable=False,
|
|
||||||
help_text=_('This field is deprecated and will be removed in a future release. '
|
|
||||||
'Number of groups in this inventory with active failures.'),
|
|
||||||
)
|
|
||||||
has_inventory_sources = models.BooleanField(
|
has_inventory_sources = models.BooleanField(
|
||||||
default=False,
|
default=False,
|
||||||
editable=False,
|
editable=False,
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ class JobNotificationMixin(object):
|
|||||||
{'playbook_counts': ['play_count', 'task_count']},
|
{'playbook_counts': ['play_count', 'task_count']},
|
||||||
{'summary_fields': [{'inventory': ['id', 'name', 'description', 'has_active_failures',
|
{'summary_fields': [{'inventory': ['id', 'name', 'description', 'has_active_failures',
|
||||||
'total_hosts', 'hosts_with_active_failures', 'total_groups',
|
'total_hosts', 'hosts_with_active_failures', 'total_groups',
|
||||||
'groups_with_active_failures', 'has_inventory_sources',
|
'has_inventory_sources',
|
||||||
'total_inventory_sources', 'inventory_sources_with_failures',
|
'total_inventory_sources', 'inventory_sources_with_failures',
|
||||||
'organization_id', 'kind']},
|
'organization_id', 'kind']},
|
||||||
{'project': ['id', 'name', 'description', 'status', 'scm_type']},
|
{'project': ['id', 'name', 'description', 'status', 'scm_type']},
|
||||||
@@ -327,7 +327,6 @@ class JobNotificationMixin(object):
|
|||||||
'username': 'admin'},
|
'username': 'admin'},
|
||||||
'instance_group': {'id': 1, 'name': 'tower'},
|
'instance_group': {'id': 1, 'name': 'tower'},
|
||||||
'inventory': {'description': 'Sample inventory description',
|
'inventory': {'description': 'Sample inventory description',
|
||||||
'groups_with_active_failures': 0,
|
|
||||||
'has_active_failures': False,
|
'has_active_failures': False,
|
||||||
'has_inventory_sources': False,
|
'has_inventory_sources': False,
|
||||||
'hosts_with_active_failures': 0,
|
'hosts_with_active_failures': 0,
|
||||||
|
|||||||
@@ -72,41 +72,6 @@ def get_current_user_or_none():
|
|||||||
return u
|
return u
|
||||||
|
|
||||||
|
|
||||||
def emit_update_inventory_computed_fields(sender, **kwargs):
|
|
||||||
logger.debug("In update inventory computed fields")
|
|
||||||
if getattr(_inventory_updates, 'is_updating', False):
|
|
||||||
return
|
|
||||||
instance = kwargs['instance']
|
|
||||||
if sender == Group.hosts.through:
|
|
||||||
sender_name = 'group.hosts'
|
|
||||||
elif sender == Group.parents.through:
|
|
||||||
sender_name = 'group.parents'
|
|
||||||
elif sender == Host.inventory_sources.through:
|
|
||||||
sender_name = 'host.inventory_sources'
|
|
||||||
elif sender == Group.inventory_sources.through:
|
|
||||||
sender_name = 'group.inventory_sources'
|
|
||||||
else:
|
|
||||||
sender_name = str(sender._meta.verbose_name)
|
|
||||||
if kwargs['signal'] == post_save:
|
|
||||||
if sender == Job:
|
|
||||||
return
|
|
||||||
sender_action = 'saved'
|
|
||||||
elif kwargs['signal'] == post_delete:
|
|
||||||
sender_action = 'deleted'
|
|
||||||
elif kwargs['signal'] == m2m_changed and kwargs['action'] in ('post_add', 'post_remove', 'post_clear'):
|
|
||||||
sender_action = 'changed'
|
|
||||||
else:
|
|
||||||
return
|
|
||||||
logger.debug('%s %s, updating inventory computed fields: %r %r',
|
|
||||||
sender_name, sender_action, sender, kwargs)
|
|
||||||
try:
|
|
||||||
inventory = instance.inventory
|
|
||||||
except Inventory.DoesNotExist:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
update_inventory_computed_fields.delay(inventory.id)
|
|
||||||
|
|
||||||
|
|
||||||
def emit_update_inventory_on_created_or_deleted(sender, **kwargs):
|
def emit_update_inventory_on_created_or_deleted(sender, **kwargs):
|
||||||
if getattr(_inventory_updates, 'is_updating', False):
|
if getattr(_inventory_updates, 'is_updating', False):
|
||||||
return
|
return
|
||||||
@@ -210,10 +175,6 @@ def connect_computed_field_signals():
|
|||||||
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=Host)
|
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=Host)
|
||||||
post_save.connect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
post_save.connect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
||||||
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
||||||
m2m_changed.connect(emit_update_inventory_computed_fields, sender=Group.hosts.through)
|
|
||||||
m2m_changed.connect(emit_update_inventory_computed_fields, sender=Group.parents.through)
|
|
||||||
m2m_changed.connect(emit_update_inventory_computed_fields, sender=Host.inventory_sources.through)
|
|
||||||
m2m_changed.connect(emit_update_inventory_computed_fields, sender=Group.inventory_sources.through)
|
|
||||||
post_save.connect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
post_save.connect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
||||||
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
||||||
post_save.connect(emit_update_inventory_on_created_or_deleted, sender=Job)
|
post_save.connect(emit_update_inventory_on_created_or_deleted, sender=Job)
|
||||||
@@ -350,10 +311,6 @@ def disable_computed_fields():
|
|||||||
post_delete.disconnect(emit_update_inventory_on_created_or_deleted, sender=Host)
|
post_delete.disconnect(emit_update_inventory_on_created_or_deleted, sender=Host)
|
||||||
post_save.disconnect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
post_save.disconnect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
||||||
post_delete.disconnect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
post_delete.disconnect(emit_update_inventory_on_created_or_deleted, sender=Group)
|
||||||
m2m_changed.disconnect(emit_update_inventory_computed_fields, sender=Group.hosts.through)
|
|
||||||
m2m_changed.disconnect(emit_update_inventory_computed_fields, sender=Group.parents.through)
|
|
||||||
m2m_changed.disconnect(emit_update_inventory_computed_fields, sender=Host.inventory_sources.through)
|
|
||||||
m2m_changed.disconnect(emit_update_inventory_computed_fields, sender=Group.inventory_sources.through)
|
|
||||||
post_save.disconnect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
post_save.disconnect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
||||||
post_delete.disconnect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
post_delete.disconnect(emit_update_inventory_on_created_or_deleted, sender=InventorySource)
|
||||||
post_save.disconnect(emit_update_inventory_on_created_or_deleted, sender=Job)
|
post_save.disconnect(emit_update_inventory_on_created_or_deleted, sender=Job)
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ class TestJobNotificationMixin(object):
|
|||||||
'username': str},
|
'username': str},
|
||||||
'instance_group': {'id': int, 'name': str},
|
'instance_group': {'id': int, 'name': str},
|
||||||
'inventory': {'description': str,
|
'inventory': {'description': str,
|
||||||
'groups_with_active_failures': int,
|
|
||||||
'has_active_failures': bool,
|
'has_active_failures': bool,
|
||||||
'has_inventory_sources': bool,
|
'has_inventory_sources': bool,
|
||||||
'hosts_with_active_failures': int,
|
'hosts_with_active_failures': int,
|
||||||
|
|||||||
Reference in New Issue
Block a user