aboutsummaryrefslogtreecommitdiff
path: root/rpki/rpkid_tasks.py
AgeCommit message (Collapse)Author
2016-04-23Upon further analysis: Roots and Turtles don't need handles, onlyRob Austein
Parents do, because Roots will be uniquely named by reference to their associated Parent. So move the handle back to Parent. svn path=/branches/tk705/; revision=6370
2016-04-23Swing CA model to link to Turtle instead of Parent.Rob Austein
svn path=/branches/tk705/; revision=6369
2016-04-23Step one of adding internal support for RPKI roots to rpkid: splitRob Austein
Parent model into base Turtle model and derived Parent model. svn path=/branches/tk705/; revision=6367
2016-04-21Missing dictionary key in a few tests in UpdateChildrenTask.Rob Austein
Fixes #804. svn path=/branches/tk705/; revision=6364
2016-02-26Tweak UpdateROAsTask to create new ROAs before worrying about updating old ones.Rob Austein
svn path=/branches/tk705/; revision=6296
2016-02-26Using a Tornado yield dictionary is elegant (not to mention cute), butRob Austein
using a single bulk IRDB query for all the child data that UpdateChildrenTask needs is a better solution. svn path=/branches/tk705/; revision=6295
2016-02-26Simplify UpdateChildrenTask.Rob Austein
svn path=/branches/tk705/; revision=6294
2016-02-26Tweak default rpkid timing parameters.Rob Austein
svn path=/branches/tk705/; revision=6293
2016-02-25Helps to add task back into the queue when postponing, doh.Rob Austein
svn path=/branches/tk705/; revision=6292
2016-02-25Tweak postponement code so that, if everything in the task queue hasRob Austein
already been postponed at least once, we stay with the current task rather than doing a forced round-robin. This may require further tweaks, eg, to flush the publication queue at regular intervals even if we're not postponing, but the intent is to allow tasks with complex setup to run to completion while remaining responsive, to avoid wasting all of our time on repeated setup overhead. svn path=/branches/tk705/; revision=6291
2016-02-25Need to pass PostponeTask exception up the line for it to work properly.Rob Austein
svn path=/branches/tk705/; revision=6290
2016-02-25Major simplifcation of rpkid's internal tasking system.Rob Austein
svn path=/branches/tk705/; revision=6289
2016-02-25Fix inverted loop variables in orphaned resource class destructor.Rob Austein
svn path=/branches/tk705/; revision=6287
2016-02-25Dumb errors constructing key for temporary dict() were causing us toRob Austein
generate duplicate ROAs. svn path=/branches/tk705/; revision=6283
2016-02-23Rework ROA postponement code to lower memory footprint.Rob Austein
svn path=/branches/tk705/; revision=6280
2016-02-21Some rpkid tweaks to work better with large data sets.Rob Austein
svn path=/branches/tk705/; revision=6276
2016-02-19Task system tweaks, see if this fixes hangs on postponed tasks.Rob Austein
svn path=/branches/tk705/; revision=6273
2015-11-29rcynicng caught a bug in rpkid! Router certificates are forbiddenRob Austein
from having SIA extensions, unlike all other RPKI certificates which are required to have them. Start moving RPKI conformance checks which can be performed in Python out of POW.c, tag a bunch more for consideration. svn path=/branches/tk705/; revision=6204
2015-11-14Comment nit.Rob Austein
svn path=/branches/tk705/; revision=6173
2015-11-13Clean up more gratuitous unused magic CRL autoregeneration.Rob Austein
Regenerate EE certificates along with everything else when activating a new CADetail (ie, when rolling a CA key). svn path=/branches/tk705/; revision=6172
2015-11-12Clean up silly automatic-CRL-and-MFT-regeneration-except-when-its-notRob Austein
hacks: in practice, we always bypassed it (except when we forgot...). Make sure we revoke and withdraw the old certs and objects for ROAs and Ghostbusters rather than the new ones during forced reissue. svn path=/branches/tk705/; revision=6171
2015-11-12Add .__repr__() methods to rpkidb models. RewriteRob Austein
.publish_world_now() to something a little less whacky. Consolidate fix for singleton URIs in SIA fields. svn path=/branches/tk705/; revision=6170
2015-11-11Clean up yet another screwball constructor. Other minor cleanup.Rob Austein
svn path=/branches/tk705/; revision=6168
2015-11-11Further simplify CRL and manifest code.Rob Austein
svn path=/branches/tk705/; revision=6166
2015-11-11Refactor a few of the ridiculously long rpkidb model methods intoRob Austein
rpkid_task code. Combine and simplify CRL and manifest generation. svn path=/branches/tk705/; revision=6164
2015-11-11Configure pylint to use the pylint-django plugin, which (mostly)Rob Austein
understands Django's exotic metaclasses, which in turn allows us to re-enable a number of pylint checks we had disabled. While we were at this, stripped out a bunch of old pylint pragmas, then added back the subset that were really needed. As usual with pylint, this turned up a few real bugs along with an awful lot of noise. svn path=/branches/tk705/; revision=6162
2015-11-10Use a lock to serialize rpkid tasks. Add temporary trace callRob Austein
sequence trace code to rpki.rpkidb.models to assist in simplifying some of the gratuitously complicated method call chains. Various trivial PyLint cleanups. svn path=/branches/tk705/; revision=6161
2015-10-26"Any programmer who fails to comply with the standard naming, formatting,Rob Austein
or commenting conventions should be shot. If it so happens that it is inconvenient to shoot him, then he is to be politely requested to recode his program in adherence to the above standard." -- Michael Spier, Digital Equipment Corporation svn path=/branches/tk705/; revision=6152
2015-10-25All SKI operations on issued certificates are really g(SKI)Rob Austein
operations, so simplify code and schema by removing gratuitous transformations to and from binary format. svn path=/branches/tk705/; revision=6150
2015-10-23Task system now working with Tornado. Two new problems: some kind ofRob Austein
UTF-8 whining on what are supposed to be binary fields that's probably the result of a MySQL upgrade, and CMS Replay exceptions due to the pseudo-random order in which HTTP client connections run in Tornado. The UTF-8 mess is probably a good reason to change over to Django's native binary field type, which we were going to want to do anyway. The CMS Replay problem is not Tornado's fault: we probably would have seen it in the old code were it not for an accidental side effect of a long-since-abandoned attempt to use persistent HTTP connections. The fix is probably to serialize requests to a particular host using use a tornaodo.queue.Queue() object, or something like that. svn path=/branches/tk705/; revision=6143
2015-10-22Fix a couple of places where we were calling coroutines as if theyRob Austein
were ordinary functions. May want some kind of naming scheme or other convention to make it easier to avoid this sort of thing. svn path=/branches/tk705/; revision=6142
2015-10-22First cut at replacing rpkid's HTTP and I/O system with Tornado. NotRob Austein
quite working perfectly yet (cron is a bit wonky) but manages to produce an initial set of ROAs without thowing any exceptions, and code is already much cleaner than the old callback-based horror. svn path=/branches/tk705/; revision=6139
2015-10-20Change <self/> (etc) to <tenant/> (etc). "self" always was a reallyRob Austein
bad choice for something implemented in Python, holdover from an older specification, but Django ORM's troubles with "self" as a keyword argument were the last straw. Enough already. Backwards compatability should be a straightforward data migration. svn path=/branches/tk705/; revision=6134
2015-10-19Amputate old SQL code out of rpkid with a fire axe, replacing it withRob Austein
Django ORM. Duct tape and bailing wire everywhere, much clean-up left to do, but basic "make yamltest" suite runs. Much of the clean-up isn't worth doing until after revamping the I/O system, as it'll all change again at that point anyway. svn path=/branches/tk705/; revision=6127
2015-10-16.delete() -> .destroy() to avoid built-in ORM .delete() methods.Rob Austein
svn path=/branches/tk705/; revision=6122
2015-10-07Apparently I broke router certificate generation on this branch a while ago ↵Rob Austein
and didn't notice. svn path=/branches/tk705/; revision=6097
2014-10-02Whittle one small chunk off the left-right protocol SAX mess.Rob Austein
svn path=/branches/tk705/; revision=5981
2014-09-25Convert remaining rpkid up-down code from SAX to etree.Rob Austein
svn path=/branches/tk705/; revision=5970
2014-08-19First cut at proper transactions for new pubd SQL code.Rob Austein
svn path=/branches/tk705/; revision=5922
2014-08-18Sweep SQL cache on task exit. See #707.Rob Austein
svn path=/trunk/; revision=5921
2014-07-09Add withdrawal hashes to publication and rrdp.Rob Austein
svn path=/branches/tk705/; revision=5888
2014-07-03Convert to current IETF I-D version of publication protocol. See #705.Rob Austein
svn path=/branches/tk705/; revision=5881
2014-05-29PyLintRob Austein
svn path=/trunk/; revision=5845
2014-05-29Provide our own logging Formatter class rather than straining toRob Austein
subclass the stock one. Replace all uses of rpki.log.traceback() with logging package .exception() calls. Use LoggingAdapter for all the whacky per-stream logging code in rpki.http. Fix default logging priority for non-daemon programs like rpkic. svn path=/trunk/; revision=5843
2014-05-28Update all uses of rpki.log.traceback() for use with logging module.Rob Austein
svn path=/trunk/; revision=5838
2014-05-28Whack all logging calls to use per-module logger objects.Rob Austein
svn path=/trunk/; revision=5837
2014-04-05Source tree reorg, phase 1. Almost everything moved, no file contents changed.Rob Austein
svn path=/branches/tk685/; revision=5757