aboutsummaryrefslogtreecommitdiff
path: root/ca/tests/bgpsec-yaml.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-07-12 04:32:21 +0000
committerRob Austein <sra@hactrn.net>2014-07-12 04:32:21 +0000
commit31519e146beaa4e6ac9d8077f82edada35589c26 (patch)
treec3ac2a3b430b7526397642df47e9350f5d3772a7 /ca/tests/bgpsec-yaml.py
parent00369f84c1c730094ea33847d08e276181dc76e8 (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-xca/tests/bgpsec-yaml.py71
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)