import sys
from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
+from sfa.rspecs.version_manager import VersionManager
command = Commands(usage="%prog [options] node1 node2...",
description="Add slivers to the RSpec. " +
else:
outfile=sys.stdout
-rspec = parse_rspec(infile)
-rspec.type = 'request'
+request_rspec = RSpec(infile)
nodes = file(command.opts.nodefile).read().split()
+version_manager = VersionManager()
try:
- if rspec.version['type'].lower() == 'protogeni':
- rspec.xml.set('type', 'request')
+ type = request_rspec.version.type
+ version_num = request_rspec.version.version
+ manifest_version = version_manager._get_version(type, version_num, 'manifest')
+ manifest_rspec = RSpec(version=manifest_version)
slivers = [{'hostname': node} for node in nodes]
- rspec.add_slivers(slivers)
+ manifest_rspec.version.merge(request_rspec)
+ manifest_rspec.version.add_slivers(slivers)
except:
print >> sys.stderr, "FAILED: %s" % nodes
sys.exit(1)
-print >>outfile, rspec.toxml(cleanup=True)
+print >>outfile, manifest_rspec.toxml(cleanup=True)
sys.exit(0)
import sys
from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
command = Commands(usage="%prog [options] node1 node2...",
description="Delete slivers from the RSpec. " +
command.prep()
if command.opts.infile:
- rspec = parse_rspec(command.opts.infile)
+ rspec = RSpec(command.opts.infile)
nodes = []
if command.opts.nodefile:
f = open(command.opts.nodefile, "r")
try:
slivers = [{'hostname': node} for node in nodes]
- rspec.remove_slivers(slivers)
+ rspec.version.remove_slivers(slivers)
+ print rspec.toxml()
except:
print >> sys.stderr, "FAILED: %s" % nodes
- print rspec.toxml()
import sys
from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
command = Commands(usage="%prog [options]",
description="List all nodes in the RSpec. " +
command.prep()
if command.opts.infile:
- rspec = parse_rspec(command.opts.infile)
- nodes = rspec.get_nodes()
+ rspec = RSpec(command.opts.infile)
+ nodes = rspec.version.get_nodes()
if command.opts.outfile:
sys.stdout = open(command.opts.outfile, 'w')
import sys
from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
command = Commands(usage="%prog [options]",
description="List all slivers in the RSpec. " +
command.prep()
if command.opts.infile:
- rspec = parse_rspec(command.opts.infile)
- nodes = rspec.get_nodes_with_slivers()
+ rspec = RSpec(command.opts.infile)
+ nodes = rspec.version.get_nodes_with_slivers()
if command.opts.showatt:
- defaults = rspec.get_default_sliver_attributes()
+ defaults = rspec.version.get_default_sliver_attributes()
if defaults:
print "ALL NODES"
for (name, value) in defaults:
for node in nodes:
print node
if command.opts.showatt:
- atts = rspec.get_sliver_attributes(node)
+ atts = rspec.version.get_sliver_attributes(node)
for (name, value) in atts:
print " %s: %s" % (name, value)