mirror of
https://github.com/ansible/awx.git
synced 2026-08-02 02:49:58 -02:30
prevent instance group delete if running jobs
* related to https://github.com/ansible/ansible-tower/issues/7936
This commit is contained in:
@@ -19,8 +19,12 @@ from awx.main.fields import JSONField
|
||||
from awx.main.models.inventory import InventoryUpdate
|
||||
from awx.main.models.jobs import Job
|
||||
from awx.main.models.projects import ProjectUpdate
|
||||
from awx.main.models.unified_jobs import UnifiedJob
|
||||
from awx.main.models.unified_jobs import (
|
||||
UnifiedJob,
|
||||
ACTIVE_STATES
|
||||
)
|
||||
from awx.main.utils import get_cpu_capacity, get_mem_capacity, get_system_task_capacity
|
||||
from awx.main.models.mixins import RelatedJobsMixin
|
||||
|
||||
__all__ = ('Instance', 'InstanceGroup', 'JobOrigin', 'TowerScheduleState',)
|
||||
|
||||
@@ -110,7 +114,7 @@ class Instance(models.Model):
|
||||
|
||||
|
||||
|
||||
class InstanceGroup(models.Model):
|
||||
class InstanceGroup(models.Model, RelatedJobsMixin):
|
||||
"""A model representing a Queue/Group of AWX Instances."""
|
||||
objects = InstanceGroupManager()
|
||||
|
||||
@@ -152,6 +156,14 @@ class InstanceGroup(models.Model):
|
||||
def capacity(self):
|
||||
return sum([inst.capacity for inst in self.instances.all()])
|
||||
|
||||
'''
|
||||
RelatedJobsMixin
|
||||
'''
|
||||
def _get_active_jobs(self):
|
||||
return UnifiedJob.objects.filter(instance_group=self,
|
||||
status__in=ACTIVE_STATES)
|
||||
|
||||
|
||||
class Meta:
|
||||
app_label = 'main'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user