'Invalid argument: the first argument must be a sliver name.')
if not caller_name in (target_name, target_rec['delegations']):
raise xmlrpclib.Fault(108, 'Permission denied.')
- result = method(target_rec, *args[1:])
+ try: result = method(target_rec, *args[1:])
+ except Exception, err: raise xmlrpclib.Fault(104, 'Error in call: %s' %err)
else: result = method(*args)
if result == None: result = 1
return result
rec = sliver_name
accounts.get(rec['name']).stop()
+@export_to_docbook(roles=['nm-controller', 'self'],
+ accepts=[Parameter(str, 'A sliver/slice name.')],
+ returns=Parameter(int, '1 if successful'))
+
+@export_to_api(1)
+def ReCreate(sliver_name):
+ """Stop, Destroy, Create, Start sliver in order to reinstall it."""
+ Stop(sliver_name)
+ Destroy(sliver_name)
+ Create(sliver_name)
+ Start(sliver_name)
+
@export_to_docbook(roles=['nm-controller', 'self'],
accepts=[Parameter(str, 'A sliver/slice name.')],
returns=Parameter(dict, "A resource specification"))