diff options
Diffstat (limited to 'potpourri/rpkigui-reset-demo.py')
-rw-r--r-- | potpourri/rpkigui-reset-demo.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/potpourri/rpkigui-reset-demo.py b/potpourri/rpkigui-reset-demo.py new file mode 100644 index 00000000..0a3a1537 --- /dev/null +++ b/potpourri/rpkigui-reset-demo.py @@ -0,0 +1,48 @@ +# Copyright (C) 2012, 2013, 2014 SPARTA, Inc. a Parsons Company +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND SPARTA DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL SPARTA BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +""" +This script is used to reset all of the labuser* accounts on demo.rpki.net back +to a state suitable for a new workshop. It removes all ROAs and Ghostbuster +issued by the labuser accounts. + +""" + +__version__ = '$Id$' + +from rpki.gui.script_util import setup +setup() + +import sys + +from rpki.gui.app.models import Conf +from rpki.irdb.models import ROARequest, GhostbusterRequest +from rpki.gui.app.glue import list_received_resources + +for n in xrange(1, 33): + username = 'labuser%02d' % n + print 'removing objects for ' + username + for cls in (ROARequest, GhostbusterRequest): + cls.objects.filter(issuer__handle=username).delete() + conf = Conf.objects.get(handle=username) + conf.clear_alerts() + print '... updating resource certificate cache' + list_received_resources(sys.stdout, conf) + + # Remove delegated resources (see https://trac.rpki.net/ticket/544) + # Note that we do not remove the parent-child relationship, just the + # resources. + for child in conf.children(): + child.asns.delete() + child.address_ranges.delete() |