no change - cosmetic only - various typos in comments
[nepi.git] / examples / planetlab / update_fedora_repo.py
index 8d4b604..ed26f8d 100644 (file)
@@ -4,9 +4,8 @@
 #    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 six.moves import input
+
 from nepi.execution.ec import ExperimentController 
 
 from optparse import OptionParser, SUPPRESS_HELP
@@ -56,7 +59,7 @@ parser.add_option("-k", "--pl-ssh-key", dest="pl_ssh_key",
 
 (options, args) = parser.parse_args()
 
-proceed = raw_input ("Executing this script will modify the fedora yum repositories in the selected PlanetLab hosts. Are you sure to continue? [y/N] ")
+proceed = input ("Executing this script will modify the fedora yum repositories in the selected PlanetLab hosts. Are you sure to continue? [y/N] ")
 if proceed.lower() not in ['yes', 'y']:
     os._exit(1)
 
@@ -66,7 +69,7 @@ pl_user = options.pl_user
 pl_password = options.pl_password
 hosts = options.hosts
 
-hosts = map(str.strip, hosts.split(","))
+hosts = [host.strip() for host in hosts.split(",")]
 apps = []
 
 ## Create the experiment controller
@@ -77,13 +80,19 @@ for hostname in hosts:
     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)
@@ -94,11 +103,12 @@ for hostname in hosts:
             "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)
@@ -109,11 +119,12 @@ for hostname in hosts:
             "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)
@@ -124,7 +135,10 @@ ec.deploy()
 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()