CreateSliver method returns possibly altered rspec
[sfa.git] / sfa / managers / aggregate_manager_eucalyptus.py
index 8dc604b..68669bd 100644 (file)
@@ -490,8 +490,8 @@ def ListResources(api, creds, options, call_id):
 """
 Hook called via 'sfi.py create'
 """
-def create_slice(api, xrn, creds, xml, users, call_id):
-    if Callids().already_handled(call_id): return False
+def CreateSliver(api, xrn, creds, xml, users, call_id):
+    if Callids().already_handled(call_id): return ""
 
     global cloud
     hrn = urn_to_hrn(xrn)[0]
@@ -499,7 +499,7 @@ def create_slice(api, xrn, creds, xml, users, call_id):
     conn = getEucaConnection()
     if not conn:
         print >>sys.stderr, 'Error: Cannot create a connection to Eucalyptus'
-        return False
+        return ""
 
     # Validate RSpec
     schemaXML = ET.parse(EUCALYPTUS_RSPEC_SCHEMA)
@@ -563,7 +563,9 @@ def create_slice(api, xrn, creds, xml, users, call_id):
                                     inst_type = instType)
             eucaInst.reserveInstance(conn, pubKeys)
 
-    return True
+    # xxx - should return altered rspec 
+    # with enough data for the client to understand what's happened
+    return xml
 
 def main():
     init_server()
@@ -571,7 +573,7 @@ def main():
     #theRSpec = None
     #with open(sys.argv[1]) as xml:
     #    theRSpec = xml.read()
-    #create_slice(None, 'planetcloud.pc.test', theRSpec, 'call-id-cloudtest')
+    #CreateSliver(None, 'planetcloud.pc.test', theRSpec, 'call-id-cloudtest')
 
     #rspec = ListResources('euca', 'planetcloud.pc.test', 'planetcloud.pc.marcoy', 'test_euca')
     #print rspec