convenience to push the fd driver
[sfa.git] / sfa / client / sfi.py
index 6da7dda..5f7aefe 100644 (file)
@@ -340,8 +340,6 @@ class Sfi:
         parser.add_option("-D", "--debug",
                           action="store_true", dest="debug", default=False,
                           help="Debug (xml-rpc) protocol messages")
-        parser.add_option("-p", "--protocol", dest="protocol", default="xmlrpc",
-                         help="RPC protocol (xmlrpc or soap)")
         # would it make sense to use ~/.ssh/id_rsa as a default here ?
         parser.add_option("-k", "--private-key",
                          action="store", dest="user_private_key", default=None,
@@ -839,7 +837,10 @@ or with an slice hrn, shows currently provisioned resources
                     api_options['geni_rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict() 
             else:
                 api_options['geni_rspec_version'] = {'type': 'geni', 'version': '3.0'}    
-                api_options ['call_id'] = unique_call_id()
+            # always send call_id to v2 servers
+            api_options ['call_id'] = unique_call_id()
+            # ask for cached value if available
+            api_options ['cached'] = True
             # the V2 form
             result = server.ListResources (creds, api_options)
         # V1
@@ -913,12 +914,12 @@ or with an slice hrn, shows currently provisioned resources
         # not contained in this request will be removed from the slice
 
         # CreateSliver has supported the options argument for a while now so it should
-        # be safe to assume this server support it 
+        # be safe to assume this server support it
         api_options = {}
         api_options ['append'] = False
         api_options ['call_id'] = unique_call_id()
 
-        result = server.CreateSliver(slice_urn, creds, rspec, users, api_options)
+        result = server.CreateSliver(slice_urn, creds, rspec, users, *self.ois(server, api_options))
         value = ReturnValue.get_value(result)
         if options.file is None:
             print value
@@ -966,12 +967,11 @@ or with an slice hrn, shows currently provisioned resources
         if options.delegate:
             delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority))
             creds.append(delegated_cred)
-        call_args.append(creds)
 
         # options and call_id when supported
         api_options = {}
        api_options['call_id']=unique_call_id()
-        result = server.SliverStatus(slice_urn, creds, self.ois(server,api_options))
+        result = server.SliverStatus(slice_urn, creds, *self.ois(server,api_options))
         value = ReturnValue.get_value(result)
         print value
         if options.file: