git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more to do to get CreateSliver working at ProtoGeni aggregates
[sfa.git]
/
sfa
/
client
/
sfi.py
diff --git
a/sfa/client/sfi.py
b/sfa/client/sfi.py
index
5974a03
..
f7b3d15
100755
(executable)
--- a/
sfa/client/sfi.py
+++ b/
sfa/client/sfi.py
@@
-204,6
+204,8
@@
class Sfi:
default="all")
# display formats
if command in ("resources"):
default="all")
# display formats
if command in ("resources"):
+ parser.add_option("-r", "--rspec-version", dest="rspec_version", default="sfa 1",
+ help="schema type and version of resulting RSpec")
parser.add_option("-f", "--format", dest="format", type="choice",
help="display format ([xml]|dns|ip)", default="xml",
choices=("xml", "dns", "ip"))
parser.add_option("-f", "--format", dest="format", type="choice",
help="display format ([xml]|dns|ip)", default="xml",
choices=("xml", "dns", "ip"))
@@
-225,6
+227,10
@@
class Sfi:
help="delegate slice credential", metavar="HRN", default=None)
if command in ("version"):
help="delegate slice credential", metavar="HRN", default=None)
if command in ("version"):
+ parser.add_option("-a", "--aggregate", dest="aggregate",
+ default=None, help="aggregate host")
+ parser.add_option("-p", "--port", dest="port",
+ default=AGGREGATE_PORT, help="aggregate port")
parser.add_option("-R","--registry-version",
action="store_true", dest="version_registry", default=False,
help="probe registry version instead of slicemgr")
parser.add_option("-R","--registry-version",
action="store_true", dest="version_registry", default=False,
help="probe registry version instead of slicemgr")
@@
-494,7
+500,7
@@
class Sfi:
if (os.path.isfile(file)):
return file
else:
if (os.path.isfile(file)):
return file
else:
- self.logger.critical("No such rspec file"%rspec)
+ self.logger.critical("No such rspec file
%s
"%rspec)
sys.exit(1)
def get_record_file(self, record):
sys.exit(1)
def get_record_file(self, record):
@@
-796,6
+802,7
@@
class Sfi:
delegated_cred = self.delegate_cred(user_cred, get_authority(self.authority))
creds.append(delegated_cred)
server = self.get_server_from_opts(opts)
delegated_cred = self.delegate_cred(user_cred, get_authority(self.authority))
creds.append(delegated_cred)
server = self.get_server_from_opts(opts)
+ #results = server.ListSlices(creds, unique_call_id())
results = server.ListSlices(creds)
display_list(results)
return
results = server.ListSlices(creds)
display_list(results)
return
@@
-818,7
+825,9
@@
class Sfi:
creds = [cred]
if opts.delegate:
delegated_cred = self.delegate_cred(cred, get_authority(self.authority))
creds = [cred]
if opts.delegate:
delegated_cred = self.delegate_cred(cred, get_authority(self.authority))
- creds.append(delegated_cred)
+ creds.append(delegated_cred)
+ if opts.rspec_version:
+ call_options['rspec_version'] = opts.rspec_version
result = server.ListResources(creds, call_options,unique_call_id())
format = opts.format
if opts.file is None:
result = server.ListResources(creds, call_options,unique_call_id())
format = opts.format
if opts.file is None:
@@
-842,8
+851,17
@@
class Sfi:
creds.append(delegated_cred)
rspec_file = self.get_rspec_file(args[1])
rspec = open(rspec_file).read()
creds.append(delegated_cred)
rspec_file = self.get_rspec_file(args[1])
rspec = open(rspec_file).read()
+
+ # TODO: need to determine if this request is going to a ProtoGENI aggregate. If so
+ # we need to obtain the keys for all users in the slice
+ # e.g.
+ # users = [
+ # { urn: urn:publicid:IDN+emulab.net+user+alice
+ # keys: [<ssh key A>, <ssh key B>]
+ # }]
+ users = []
server = self.get_server_from_opts(opts)
server = self.get_server_from_opts(opts)
- result = server.CreateSliver(slice_urn, creds, rspec,
[]
, unique_call_id())
+ result = server.CreateSliver(slice_urn, creds, rspec,
users
, unique_call_id())
print result
return result
print result
return result
@@
-958,7
+976,7
@@
class Sfi:
delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority))
creds.append(delegated_cred)
time = args[1]
delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority))
creds.append(delegated_cred)
time = args[1]
- return server.RenewSliver(slice_urn, creds, time)
+ return server.RenewSliver(slice_urn, creds, time
, unique_call_id()
)
def status(self, opts, args):
def status(self, opts, args):
@@
-970,7
+988,7
@@
class Sfi:
delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority))
creds.append(delegated_cred)
server = self.get_server_from_opts(opts)
delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority))
creds.append(delegated_cred)
server = self.get_server_from_opts(opts)
- print server.SliverStatus(slice_urn, creds)
+ print server.SliverStatus(slice_urn, creds
, unique_call_id()
)
def shutdown(self, opts, args):
def shutdown(self, opts, args):