-import datetime
-import time
-import traceback
-import sys
-
-from types import StringTypes
from sfa.util.namespace import *
from sfa.util.rspec import *
from sfa.util.specdict import *
from sfa.util.faults import *
-from sfa.util.record import SfaRecord
-from sfa.util.policy import Policy
+
from sfa.util.record import *
-from sfa.util.sfaticket import SfaTicket
-from sfa.server.registry import Registries
-from sfa.util.debug import log
-from sfa.plc.slices import Slices
-import sfa.plc.peers as peers
-from sfa.plc.api import SfaAPI
+
from sfa.plc.slices import *
from sfa.util.sfalogging import *
import zlib
return rspec
-def CreateSlice(api, slice_xrn, creds, rspec):
+def CreateSliver(api, slice_xrn, creds, rspec):
manager_base = 'sfa.managers'
mgr_type = 'pl'
manager_module = manager_base + ".aggregate_manager_%s" % mgr_type
allocated = manager.create_slice(api, slice_xrn, rspec)
return allocated
+def DeleteSliver(api, slice_xrn, creds):
+ manager_base = 'sfa.managers'
+ mgr_type = 'pl'
+ manager_module = manager_base + ".aggregate_manager_%s" % mgr_type
+ manager = __import__(manager_module, fromlist=[manager_base])
+
+ allocated = manager.delete_slice(api, slice_xrn)
+ return allocated
+
\ No newline at end of file
from sfa.util.faults import *
from sfa.util.namespace import *
from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
-from sfa.trust.auth import Auth
-from sfa.trust.gid import GID
-from sfa.trust.certificate import Certificate
+from sfa.util.parameter import Parameter
class CreateSliver(Method):
"""
mgr_type = self.api.config.SFA_GENI_AGGREGATE_TYPE
manager_module = manager_base + ".geni_am_%s" % mgr_type
manager = __import__(manager_module, fromlist=[manager_base])
- return manager.CreateSlice(self.api, slice_xrn, creds, rspec)
+ return manager.CreateSliver(self.api, slice_xrn, creds, rspec)
return ''
--- /dev/null
+from sfa.util.faults import *
+from sfa.util.namespace import *
+from sfa.util.method import Method
+from sfa.util.parameter import Parameter
+
+class DeleteSliver(Method):
+ """
+ Allocate resources to a slice. This operation is expected to
+ start the allocated resources asynchornously after the operation
+ has successfully completed. Callers can check on the status of
+ the resources using SliverStatus.
+
+ @param slice_urn (string) URN of slice to allocate to
+ @param credentials ([string]) of credentials
+ @param rspec (string) rspec to allocate
+
+ """
+ interfaces = ['geni_am']
+ accepts = [
+ Parameter(str, "Slice URN"),
+ Parameter(type([str]), "List of credentials"),
+ ]
+ returns = Parameter(bool, "Success or Failure")
+
+ def call(self, slice_xrn, creds):
+ hrn, type = urn_to_hrn(slice_xrn)
+
+ self.api.logger.info("interface: %s\ttarget-hrn: %s\tcaller-creds: %s\tmethod-name: %s"%(self.api.interface, hrn, creds, self.name))
+
+ # Validate that at least one of the credentials is good enough
+ found = False
+ for cred in creds:
+ try:
+ self.api.auth.check(cred, 'deleteslice')
+ found = True
+ break
+ except:
+ continue
+
+ if not found:
+ raise InsufficientRights('DeleteSliver: Credentials either did not verify, were no longer valid, or did not have appropriate privileges')
+
+
+ manager_base = 'sfa.managers'
+
+ if self.api.interface in ['geni_am']:
+ mgr_type = self.api.config.SFA_GENI_AGGREGATE_TYPE
+ manager_module = manager_base + ".geni_am_%s" % mgr_type
+ manager = __import__(manager_module, fromlist=[manager_base])
+ return manager.DeleteSliver(self.api, slice_xrn, creds)
+
+ return ''
+
from sfa.util.faults import *
from sfa.util.namespace import *
from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
-from sfa.trust.auth import Auth
-from sfa.trust.gid import GID
-from sfa.trust.certificate import Certificate
+from sfa.util.parameter import Parameter
+
class GetVersion(Method):
"""
from sfa.util.namespace import *
from sfa.util.method import Method
from sfa.util.parameter import Parameter, Mixed
-from sfa.trust.auth import Auth
-from sfa.trust.gid import GID
-from sfa.trust.certificate import Certificate
class ListResources(Method):
"""
ListResources
CreateSliver
get_geni_aggregates
+DeleteSliver
""".split()