aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rpkid/Makefile.in11
-rw-r--r--rpkid/portal-gui/scripts/rpkigui-reset-demo.py38
2 files changed, 47 insertions, 2 deletions
diff --git a/rpkid/Makefile.in b/rpkid/Makefile.in
index 2c2fe6dc..bb177cc5 100644
--- a/rpkid/Makefile.in
+++ b/rpkid/Makefile.in
@@ -43,13 +43,17 @@ POW_SO = rpki/POW/_POW.so
SCRIPTS = rpki-sql-backup rpki-sql-setup rpki-start-servers irbe_cli irdbd myrpki \
pubd rootd rpkic rpkid \
- portal-gui/scripts/rpkigui-rcynic portal-gui/scripts/rpkigui-import-routes
+ portal-gui/scripts/rpkigui-rcynic \
+ portal-gui/scripts/rpkigui-import-routes
+
+# scripts we build, but don't install
+BUILD_SCRIPTS = portal-gui/scripts/rpkigui-reset-demo
AUX_SCRIPTS =
SETTINGS = portal-gui/settings.py rpki/gui/app/settings.py portal-gui/rpki.wsgi
-all:: ${POW_SO} rpki/relaxng.py myrpki.rng rpki/sql_schemas.py ${SCRIPTS} ${AUX_SCRIPTS} ${SETTINGS}
+all:: ${POW_SO} rpki/relaxng.py myrpki.rng rpki/sql_schemas.py ${SCRIPTS} ${AUX_SCRIPTS} ${SETTINGS} ${BUILD_SCRIPTS}
${POW_SO}: ext/POW.c setup.py
${SETUP_PY} build_ext --inplace
@@ -244,6 +248,9 @@ portal-gui/scripts/rpkigui-rcynic: portal-gui/scripts/rpkigui-rcynic.py
portal-gui/scripts/rpkigui-import-routes: portal-gui/scripts/rpkigui-import-routes.py
${COMPILE_DJANGO}
+portal-gui/scripts/rpkigui-reset-demo: portal-gui/scripts/rpkigui-reset-demo.py
+ ${COMPILE_DJANGO}
+
portal-gui/rpki.wsgi: ${srcdir}/portal-gui/rpki.wsgi.in
sed -e "s|@VIRTUAL"_"ENV@|${VIRTUAL_ENV}|" \
-e "s|@PYTHON""PATH@|${sysconfdir}/rpki|" \
diff --git a/rpkid/portal-gui/scripts/rpkigui-reset-demo.py b/rpkid/portal-gui/scripts/rpkigui-reset-demo.py
new file mode 100644
index 00000000..e910ab28
--- /dev/null
+++ b/rpkid/portal-gui/scripts/rpkigui-reset-demo.py
@@ -0,0 +1,38 @@
+# Copyright (C) 2012 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.
+
+# normally this would be a module docstring, but since this script is
+# prepending with django boilerplate, that doesn't work
+description = """
+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 optparse import OptionParser
+import logging
+from rpki.gui.app.models import ROARequest, GhostbusterRequest
+
+if __name__ == '__main__':
+ parser = OptionParser(description=description)
+ (options, args) = parser.parse_args()
+
+ for n in xrange(1, 32):
+ username = 'labuser%02d' % n
+ logging.info('removing objects for ' + username)
+ for cls in (ROARequest, GhostbusterRequest):
+ cls.objects.filter(issuer__handle=username).delete()