diff options
Diffstat (limited to 'rumba/testbeds/qemu.py')
-rw-r--r-- | rumba/testbeds/qemu.py | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/rumba/testbeds/qemu.py b/rumba/testbeds/qemu.py index 5636e75..218f3e1 100644 --- a/rumba/testbeds/qemu.py +++ b/rumba/testbeds/qemu.py @@ -46,9 +46,27 @@ logger = log.get_logger(__name__) class Testbed(mod.Testbed): + """ + Represents a QEMU testbed. + """ def __init__(self, exp_name, bzimage_path=None, initramfs_path=None, proj_name="ARCFIRE", password="root", username="root", use_vhost=True): + """ + Initializes the testbed class. + + :param exp_name: The experiment name. + :param bzimage_path: Path of the bzimage. + :param initramfs_path: Path of the initramfs. + :param proj_name: Project name of the experiment. + :param password: Password of the user. + :param username: User of the VM. + :param use_vhost: Use virtual hosting or not? + + .. note:: In case no bzimage or initramfs is provided, Rumba + will automatically download the latest version available + from a repository. + """ mod.Testbed.__init__(self, exp_name, username, password, proj_name, system_logs=['/var/log/messages']) @@ -63,7 +81,7 @@ class Testbed(mod.Testbed): self.executor = SSHExecutor(self) # Prepend sudo to all commands if the user is not 'root' - def may_sudo(self, cmds): + def _may_sudo(self, cmds): if os.geteuid() != 0: for i, cmd in enumerate(cmds): cmds[i] = "sudo %s" % cmd @@ -106,7 +124,7 @@ class Testbed(mod.Testbed): else: results_queue.put("Command chain ran with %d error(s)" % errors) - def recover_if_names(self, experiment): + def _recover_if_names(self, experiment): for node in experiment.nodes: for ipcp in node.ipcps: if isinstance(ipcp, mod.ShimEthIPCP): @@ -228,7 +246,7 @@ class Testbed(mod.Testbed): executors = [] for i, script in enumerate(br_tab_scripts): names.append(i) - self.may_sudo(script) + self._may_sudo(script) args.append(script) executors.append(executor) @@ -335,7 +353,7 @@ class Testbed(mod.Testbed): logger.info('All VMs are running. Moving on...') - self.recover_if_names(experiment) + self._recover_if_names(experiment) for node in experiment.nodes: pub_key = os.path.join(os.path.expanduser("~"), @@ -349,7 +367,7 @@ class Testbed(mod.Testbed): logger.info('Experiment has been successfully swapped in.') - def swap_out(self, experiment): + def _swap_out(self, experiment): """ :rtype str :return: The script to tear down the experiment @@ -389,7 +407,7 @@ class Testbed(mod.Testbed): 'ip tuntap del mode tap name %(tap)s' % {'tap': tap, 'br': shim.name} ).split('\n') - self.may_sudo(commands) + self._may_sudo(commands) names.append(index) index += 1 @@ -412,7 +430,7 @@ class Testbed(mod.Testbed): 'brctl delbr %(br)s' % {'br': shim.name} ).split('\n') - self.may_sudo(commands) + self._may_sudo(commands) names.append(index) index += 1 |