From 6a821ea00a481bd77a8522f8b7145b8d7ce35d7f Mon Sep 17 00:00:00 2001 From: maxbr Date: Thu, 5 Jan 2017 12:38:00 +0100 Subject: Add booking communication reference implementation JIRA: PHAROS-265 This adds an implementation of a booking communication agent that listens for booking notifications from the dashboard and updates the pod status in the dashboard. Change-Id: I1ea22390a46182a185df9c5e1771c9312d462092 Signed-off-by: maxbr --- pharos-dashboard/src/dashboard/admin.py | 1 + .../src/dashboard/migrations/0001_initial.py | 20 +++++++++++++++++--- .../dashboard/migrations/0002_auto_20161005_1202.py | 21 --------------------- pharos-dashboard/src/dashboard/models.py | 15 ++++++++++++++- 4 files changed, 32 insertions(+), 25 deletions(-) delete mode 100644 pharos-dashboard/src/dashboard/migrations/0002_auto_20161005_1202.py (limited to 'pharos-dashboard/src/dashboard') diff --git a/pharos-dashboard/src/dashboard/admin.py b/pharos-dashboard/src/dashboard/admin.py index a1463a7..56ac169 100644 --- a/pharos-dashboard/src/dashboard/admin.py +++ b/pharos-dashboard/src/dashboard/admin.py @@ -14,3 +14,4 @@ from dashboard.models import * admin.site.register(Resource) admin.site.register(Server) +admin.site.register(ResourceStatus) diff --git a/pharos-dashboard/src/dashboard/migrations/0001_initial.py b/pharos-dashboard/src/dashboard/migrations/0001_initial.py index ee054d3..aaf3945 100644 --- a/pharos-dashboard/src/dashboard/migrations/0001_initial.py +++ b/pharos-dashboard/src/dashboard/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-09-23 11:36 +# Generated by Django 1.10 on 2016-11-03 13:33 from __future__ import unicode_literals from django.conf import settings @@ -12,8 +12,8 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('jenkins', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('jenkins', '0001_initial'), ] operations = [ @@ -26,12 +26,26 @@ class Migration(migrations.Migration): ('url', models.CharField(blank=True, max_length=100, null=True)), ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_lab_owner', to=settings.AUTH_USER_MODEL)), ('slave', models.ForeignKey(null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='jenkins.JenkinsSlave')), - ('vpn_users', models.ManyToManyField(related_name='user_vpn_users', to=settings.AUTH_USER_MODEL)), + ('vpn_users', models.ManyToManyField(blank=True, related_name='user_vpn_users', to=settings.AUTH_USER_MODEL)), ], options={ 'db_table': 'resource', }, ), + migrations.CreateModel( + name='ResourceStatus', + fields=[ + ('id', models.AutoField(primary_key=True, serialize=False)), + ('timestamp', models.DateTimeField(auto_now_add=True)), + ('type', models.CharField(max_length=20)), + ('title', models.CharField(max_length=50)), + ('content', models.CharField(max_length=5000)), + ('resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='dashboard.Resource')), + ], + options={ + 'db_table': 'resource_status', + }, + ), migrations.CreateModel( name='Server', fields=[ diff --git a/pharos-dashboard/src/dashboard/migrations/0002_auto_20161005_1202.py b/pharos-dashboard/src/dashboard/migrations/0002_auto_20161005_1202.py deleted file mode 100644 index e47c3b1..0000000 --- a/pharos-dashboard/src/dashboard/migrations/0002_auto_20161005_1202.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-10-05 12:02 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('dashboard', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='resource', - name='vpn_users', - field=models.ManyToManyField(blank=True, related_name='user_vpn_users', to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/pharos-dashboard/src/dashboard/models.py b/pharos-dashboard/src/dashboard/models.py index ec6fec7..4f3ac95 100644 --- a/pharos-dashboard/src/dashboard/models.py +++ b/pharos-dashboard/src/dashboard/models.py @@ -64,7 +64,6 @@ class Resource(models.Model): def __str__(self): return self.name - class Server(models.Model): id = models.AutoField(primary_key=True) resource = models.ForeignKey(Resource, on_delete=models.CASCADE) @@ -79,3 +78,17 @@ class Server(models.Model): def __str__(self): return self.name + +class ResourceStatus(models.Model): + id = models.AutoField(primary_key=True) + resource = models.ForeignKey(Resource, on_delete=models.CASCADE) + timestamp = models.DateTimeField(auto_now_add=True) + type = models.CharField(max_length=20) + title = models.CharField(max_length=50) + content = models.CharField(max_length=5000) + + class Meta: + db_table = 'resource_status' + + def __str__(self): + return self.resource.name + ': ' + self.title + ' ' + str(self.timestamp) -- cgit 1.2.3-korg