From 3fc7afd194bde8b049e2ea07b8e9bc0a2b9926e8 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sun, 10 Jan 2016 00:04:01 +0000 Subject: First apparently-working version of rcynicng using database instead of disk files. rcynic.xml output looks reasonable. Don't yet have any other tools which know how to walk the result database, so can't (yet) compare results with rcynic. Does not yet do any cleanup of old data, so will eventually consume all disk space in the universe until this is fixed. svn path=/branches/tk705/; revision=6219 --- rpki/rcynicdb/models.py | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) (limited to 'rpki/rcynicdb/models.py') diff --git a/rpki/rcynicdb/models.py b/rpki/rcynicdb/models.py index 318f87e3..32b894fc 100644 --- a/rpki/rcynicdb/models.py +++ b/rpki/rcynicdb/models.py @@ -32,16 +32,17 @@ from django.db import models # be specific to the original poster's desired semantics. class Retrieval(models.Model): - uri = models.TextField() - started = models.DateTimeField() - finished = models.DateTimeField() + uri = models.TextField() + started = models.DateTimeField() + finished = models.DateTimeField() successful = models.BooleanField() # Collection of validated objects (like current # rsync-data/authenticated.yyyy-mm-ddTHH:MM:SS/ tree) class Authenticated(models.Model): - timestamp = models.DateTimeField() + started = models.DateTimeField() + finished = models.DateTimeField(null = True) # One instance of an RRDP snapshot. # @@ -55,24 +56,18 @@ class Authenticated(models.Model): class RRDPSnapshot(models.Model): timestamp = models.DateTimeField() - uuid = models.UUIDField() - serial = models.BigIntegerField() + uuid = models.UUIDField() + serial = models.BigIntegerField() retrieved = models.OneToOneField(Retrieval) # RPKI objects. class RPKIObject(models.Model): - der = models.BinaryField(unique = True) - uri = models.TextField() - aki = models.SlugField(max_length = 40) # hex SHA-1 - ski = models.SlugField(max_length = 40) # hex SHA-1 - hash = models.SlugField(max_length = 64) # hex SHA-256 - retrieved = models.ForeignKey(Retrieval) + der = models.BinaryField(unique = True) + uri = models.TextField() + aki = models.SlugField(max_length = 40) # hex SHA-1 + ski = models.SlugField(max_length = 40) # hex SHA-1 + sha256 = models.SlugField(max_length = 64) # hex SHA-256 + retrieved = models.ForeignKey(Retrieval) authenticated = models.ManyToManyField(Authenticated) - snapshot = models.ManyToManyField(RRDPSnapshot) - -# No exact analogue to current unauthenticated tree. Generally, when -# we would have looked in the unauthenticated tree we want the most -# recently retrieved copy of a particular object, but particular -# object gets a little weird in RRDP universe. See Tim's draft, not -# gospel but best worked example available to date. + snapshot = models.ManyToManyField(RRDPSnapshot) -- cgit v1.2.3