From ec7aa1867fc116bb14b76275b21a7b7a70cba3e8 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Mon, 6 Oct 2014 11:43:53 -0500 Subject: [PATCH] Adding JobOrigin model and migration. --- awx/main/migrations/0056_v210_changes.py | 2 +- awx/main/models/ha.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/awx/main/migrations/0056_v210_changes.py b/awx/main/migrations/0056_v210_changes.py index b5d9ced76a..0291afc6e0 100644 --- a/awx/main/migrations/0056_v210_changes.py +++ b/awx/main/migrations/0056_v210_changes.py @@ -475,4 +475,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['main'] \ No newline at end of file + complete_apps = ['main'] diff --git a/awx/main/models/ha.py b/awx/main/models/ha.py index a0f42c1d5f..34659bb7ef 100644 --- a/awx/main/models/ha.py +++ b/awx/main/models/ha.py @@ -2,7 +2,9 @@ # All Rights Reserved. from django.db import models + from awx.main.managers import InstanceManager +from awx.main.models import UnifiedJob class Instance(models.Model): @@ -26,3 +28,21 @@ class Instance(models.Model): if self.primary: return 'primary' return 'secondary' + + +class JobOrigin(models.Model): + """A model representing the relationship between a unified job and + the instance that was responsible for starting that job. + + It may be possible that a job has no origin (the common reason for this + being that the job was started on Tower < 2.1 before origins were a thing). + This is fine, and code should be able to handle it. A job with no origin + is always assumed to *not* have the current instance as its origin. + """ + unified_job = models.ForeignKey(UnifiedJob) + instance = models.ForeignKey(Instance) + created = models.DateTimeField(auto_now_add=True) + modified = models.DateTimeField(auto_now=True) + + class Meta: + app_label = 'main'