diff options
-rw-r--r-- | rpkid/Makefile.in | 11 | ||||
-rw-r--r-- | rpkid/portal-gui/scripts/rpkigui-reset-demo.py | 38 |
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() |