diff options
author | Rob Austein <sra@hactrn.net> | 2014-07-12 04:32:21 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-07-12 04:32:21 +0000 |
commit | 31519e146beaa4e6ac9d8077f82edada35589c26 (patch) | |
tree | c3ac2a3b430b7526397642df47e9350f5d3772a7 /ca/tests/bgpsec-yaml.py | |
parent | 00369f84c1c730094ea33847d08e276181dc76e8 (diff) |
Debug rpki-rtr BGPSEC test case and rpki-rtr-replay script.
svn path=/trunk/; revision=5894
Diffstat (limited to 'ca/tests/bgpsec-yaml.py')
-rwxr-xr-x | ca/tests/bgpsec-yaml.py | 71 |
1 files changed, 53 insertions, 18 deletions
diff --git a/ca/tests/bgpsec-yaml.py b/ca/tests/bgpsec-yaml.py index fafaf7bd..49588258 100755 --- a/ca/tests/bgpsec-yaml.py +++ b/ca/tests/bgpsec-yaml.py @@ -28,26 +28,61 @@ import yaml root = "Root" -def kid(n): - name = "ISP-%03d" % n - ipv4 = "10.%d.0.0/16" % n - asn = n - router_id = n * 10000 - - return dict(name = name, - ipv4 = ipv4, - asn = asn, - hosted_by = root, - roa_request = [dict(asn = asn, ipv4 = ipv4)], - router_cert = [dict(asn = asn, router_id = router_id)]) +class Kid(object): + + def __init__(self, n): + self.name = "ISP-%03d" % n + self.ipv4 = "10.%d.0.0/16" % n + self.asn = n + self.router_id = n * 10000 + + @property + def declare(self): + return dict(name = self.name, + ipv4 = self.ipv4, + asn = self.asn, + hosted_by = root, + roa_request = [dict(asn = self.asn, ipv4 = self.ipv4)], + router_cert = [dict(asn = self.asn, router_id = self.router_id)]) + + @property + def del_routercert(self): + return dict(name = self.name, router_cert_del = [dict(asn = self.asn, router_id = self.router_id)]) + + @property + def add_routercert(self): + return dict(name = self.name, router_cert_add = [dict(asn = self.asn, router_id = self.router_id)]) + + +kids = [Kid(n + 1) for n in xrange(200)] + +shell_fmt = "shell set -x; ../../../rp/rpki-rtr/rpki-rtr cronjob rcynic-data/authenticated && tar %svf rpki-rtr.tar *.[ai]x.v*" +shell_first = shell_fmt % "c" +shell_next = shell_fmt % "u" + +sleeper = "sleep 30" + +docs = [dict(name = root, + valid_for = "1y", + kids = [kid.declare for kid in kids])] + +docs.append([shell_first, + sleeper]) + +gym = kids[50:70] + +for kid in gym: + docs.append([shell_next, + kid.del_routercert, + sleeper]) + +for kid in gym: + docs.append([shell_next, + kid.add_routercert, + sleeper]) print '''\ # This configuration was generated by a script. Edit at your own risk. ''' -print yaml.dump(dict(name = root, - crl_interval = "1h", - regen_margin = "20m", - valid_for = "1y", - kids = [kid(n + 1) for n in xrange(200)])) - +print yaml.safe_dump_all(docs, default_flow_style = False, allow_unicode = False) |