Changeset f4f4117 for fedd/fedd_experiment_control.py
- Timestamp:
- Oct 20, 2008 5:17:31 PM (16 years ago)
- Branches:
- axis_example, compt_changes, info-ops, master, version-1.30, version-2.00, version-3.01, version-3.02
- Children:
- fa19281
- Parents:
- 72ed6e4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/fedd_experiment_control.py
r72ed6e4 rf4f4117 192 192 self.scripts_dir = config.get("experiment_control", 193 193 "federation_script_dir") 194 self.splitter_url = config.get("experiment_control", "splitter_url") 194 195 else: 195 196 self.debug = False 196 197 self.state_filename = None 197 198 self.scripts_dir = "/users/faber/testbed/federation" 199 self.splitter_url = None 198 200 199 201 # XXX … … 908 910 if key: 909 911 tbparam[tb][key]= a['value'] 912 913 def remote_splitter(self, uri, desc, master): 914 915 req = { 916 'description' : { 'ns2description': desc }, 917 'master': master, 918 } 919 920 # No retry loop here. Proxy servers must correctly authenticate 921 # themselves without help 922 try: 923 ctx = fedd_ssl_context(self.cert_file, 924 self.trusted_certs, password=self.cert_pwd) 925 except SSL.SSLError: 926 raise service_error(service_error.server_config, 927 "Server certificates misconfigured") 928 929 loc = feddInternalServiceLocator(); 930 port = loc.getfeddInternalPortType(uri, 931 transport=M2Crypto.httpslib.HTTPSConnection, 932 transdict={ 'ssl_context' : ctx }) 933 934 # Reconstruct the full request message 935 msg = Ns2SplitRequestMessage() 936 msg.set_element_Ns2SplitRequestBody( 937 pack_soap(msg, "Ns2SplitRequestBody", req)) 938 939 try: 940 resp = port.Ns2Split(msg) 941 except ZSI.ParseException, e: 942 raise service_error(service_error.req, 943 "Bad format message (XMLRPC??): %s" % 944 str(e)) 945 r = unpack_soap(resp) 946 if r.has_key('Ns2SplitResponseBody'): 947 r = r['Ns2SplitResponseBody'] 948 if r.has_key('output'): 949 return r['output'].splitlines() 950 else: 951 raise service_error(service_error.proxy, 952 "Bad splitter response (no output)") 953 else: 954 raise service_error(service_error.proxy, "Bad splitter response") 910 955 911 956 class current_testbed: … … 1408 1453 raise service_error(service_error.req, "No master testbed label") 1409 1454 1410 1411 tclcmd = [self.tclsh, self.tcl_splitter, '-s', '-x', 1412 str(self.muxmax), '-m', master, pid, gid, eid, tclfile] 1413 tclparser = Popen(tclcmd, stdout=PIPE) 1455 if self.splitter_url: 1456 split_data = self.remote_splitter(self.splitter_url, file_content, 1457 master) 1458 else: 1459 tclcmd = [self.tclsh, self.tcl_splitter, '-s', '-x', 1460 str(self.muxmax), '-m', master, pid, gid, eid, tclfile] 1461 tclparser = Popen(tclcmd, stdout=PIPE) 1462 split_data = tclparser.stdout 1414 1463 1415 1464 allocated = { } # Testbeds we can access … … 1432 1481 1433 1482 # Worling on the split data 1434 for line in tclparser.stdout:1483 for line in split_data: 1435 1484 line = line.rstrip() 1436 1485 if parse_current_testbed(line, master, allocated, tbparams):
Note: See TracChangeset
for help on using the changeset viewer.