X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=clientbin%2FsfiDeleteSliver.py;fp=clientbin%2FsfiDeleteSliver.py;h=3dc50e655f8f9d0405037fa40da1f1e4c6b33ab8;hb=a0b08c3177b6273ad22f3882cd62495743ed404c;hp=0000000000000000000000000000000000000000;hpb=4bb9f60eb04e6e7f63f22e1e384c6a306bae05bc;p=sfa.git diff --git a/clientbin/sfiDeleteSliver.py b/clientbin/sfiDeleteSliver.py new file mode 100755 index 00000000..3dc50e65 --- /dev/null +++ b/clientbin/sfiDeleteSliver.py @@ -0,0 +1,34 @@ +#! /usr/bin/env python + +import sys + +from sfa.util.sfalogging import logger +from sfa.client.sfi_commands import Commands +from sfa.rspecs.rspec import RSpec + +logger.enable_console() +command = Commands(usage="%prog [options] node1 node2...", + description="Delete slivers from the RSpec. " + + "This command reads in an RSpec and outputs a modified " + + "RSpec. Use this to remove nodes from your slice.") +command.add_nodefile_option() +command.prep() + +if command.opts.infile: + rspec = RSpec(command.opts.infile) + nodes = [] + if command.opts.nodefile: + f = open(command.opts.nodefile, "r") + nodes = f.read().split() + f.close() + + try: + slivers = [{'hostname': node} for node in nodes] + rspec.version.remove_slivers(slivers) + print rspec.toxml() + except: + logger.log_exc("sfiDeleteSliver FAILED with nodes %s" % nodes) + + + +