From dbe354e4cff7f27b19899114f380fec6c9c86e42 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Thu, 20 Apr 2017 14:49:31 +0200 Subject: testbeds: jfed: Add support for custom image This adds support to select a custom image, which may be handy for the IRATI prototype. --- rumba/testbeds/jfed.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'rumba/testbeds/jfed.py') diff --git a/rumba/testbeds/jfed.py b/rumba/testbeds/jfed.py index 8ad173b..f51081c 100644 --- a/rumba/testbeds/jfed.py +++ b/rumba/testbeds/jfed.py @@ -29,7 +29,8 @@ import rumba.model as mod class Testbed(mod.Testbed): def __init__(self, exp_name, username, cert_file, exp_hours="2", - proj_name="ARCFIRE", authority="wall2.ilabt.iminds.be"): + proj_name="ARCFIRE", authority="wall2.ilabt.iminds.be", + image=None): passwd = getpass.getpass(prompt="Password for certificate file: ") mod.Testbed.__init__(self, exp_name, username, passwd, proj_name) self.authority = "urn:publicid:IDN+" + authority + "+authority+cm" @@ -40,6 +41,11 @@ class Testbed(mod.Testbed): self.rspec = self.exp_name + ".rspec" self.manifest = self.exp_name + ".rrspec" self.jfed_jar = "jfed_cli/experimenter-cli.jar" + if image is not None: + self.image = "urn:publicid:IDN+" + authority + \ + "+image+GeniSlices:" + image + else: + self.image = None if os.path.exists(self.jfed_jar) == False: print("Couldn't find jFed CLI. Downloading.") @@ -93,6 +99,11 @@ class Testbed(mod.Testbed): el.appendChild(el2) el2.setAttribute("name", "raw-pc") + if self.image is not None: + image_el = doc.createElement("disk_image") + image_el.setAttribute("name", self.image) + el2.appendChild(image_el) + node.ifs = 0 for ipcp in node.ipcps: if isinstance(ipcp, mod.ShimEthIPCP): -- cgit v1.2.3