# Copyright (C) 2013 INRIA
#
# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation;
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# $ cd <path-to-nepi>
# python examples/planetlab/update_fedora_repo.py -H <host1,host2,..> -s <pl-slice> -u <pl-user> -p <pl-password> -k <pl-ssh-key>
+from __future__ import print_function
+
from nepi.execution.ec import ExperimentController
from optparse import OptionParser, SUPPRESS_HELP
node = ec.register_resource("planetlab::Node")
# The username in this case is the slice name, the one to use for login in
# via ssh into PlanetLab nodes. Replace with your own slice name.
- ec.set(node, "hostname", hostname)
+ if hostname != "any":
+ ec.set(node, "hostname", hostname)
+
ec.set(node, "username", pl_slice)
ec.set(node, "identity", pl_ssh_key)
# The pluser and plpassword are the ones used to login in the PlanetLab web
# site. Replace with your own user and password account information.
- ec.set(node, "pluser", pl_user)
- ec.set(node, "plpassword", pl_password)
+ if pl_user:
+ ec.set(node, "pluser", pl_user)
+ if pl_password:
+ ec.set(node, "plpassword", pl_password)
+
+ ec.set(node, "critical", False)
# Remove previous results
ec.set(node, "cleanExperiment", True)
ec.set(node, "cleanProcesses", True)
"fedora.repo")
app = ec.register_resource("linux::Application")
- ec.set(app, "sources", path_to_repo)
+ ec.set(app, "files", path_to_repo)
ec.set(app, "sudo", True)
ec.set(app, "command",
"cp /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.old; "
- "cp ${SRC}/fedora.repo /etc/yum.repos.d/fedora.repo")
+ "cp ${SHARE}/fedora.repo /etc/yum.repos.d/fedora.repo")
+ ec.set(app, "critical", False)
ec.register_connection(node, app)
apps.append(app)
"fedora-updates.repo")
app = ec.register_resource("linux::Application")
- ec.set(app, "sources", path_to_repo)
+ ec.set(app, "files", path_to_repo)
ec.set(app, "sudo", True)
ec.set(app, "command",
"cp /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.old; "
- "cp ${SRC}/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo")
+ "cp ${SHARE}/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo")
+ ec.set(app, "critical", False)
ec.register_connection(node, app)
apps.append(app)
ec.wait_finished(apps)
for app in apps:
- print ec.trace(app, "stderr")
+ try:
+ print(ec.trace(app, "stderr"))
+ except:
+ print("NO stderr")
ec.shutdown()