Protect the system from when one attempts to start a job without an inventory

This commit is contained in:
Matthew Jones 2015-01-08 14:55:58 -05:00
parent 80b2b36bf3
commit 0eaf2dc00c
3 changed files with 5 additions and 1 deletions

View File

@ -417,6 +417,8 @@ class Job(UnifiedJob, JobOptions):
def generate_dependencies(self, active_tasks):
from awx.main.models import InventoryUpdate, ProjectUpdate
if self.inventory is None or self.project is None:
return []
inventory_sources = self.inventory.inventory_sources.filter(active=True, update_on_launch=True)
project_found = False
inventory_sources_found = []

View File

@ -102,7 +102,8 @@ def emit_update_inventory_on_created_or_deleted(sender, **kwargs):
except Inventory.DoesNotExist:
pass
else:
update_inventory_computed_fields.delay(inventory.id, True)
if inventory is not None:
update_inventory_computed_fields.delay(inventory.id, True)
def store_initial_active_state(sender, **kwargs):
instance = kwargs['instance']

View File

@ -163,6 +163,7 @@ def update_inventory_computed_fields(inventory_id, should_update_hosts=True):
i = Inventory.objects.filter(id=inventory_id)
if not i.exists():
logger.error("Update Inventory Computed Fields failed due to missing inventory: " + str(inventory_id))
return
i = i[0]
i.update_computed_fields(update_hosts=should_update_hosts)