Changeset 9b3627e for fedd/federation/proxy_protogeni_segment.py
- Timestamp:
- Mar 9, 2010 1:08:05 AM (14 years ago)
- Branches:
- axis_example, compt_changes, info-ops, master, version-3.01, version-3.02
- Children:
- 4e9719b
- Parents:
- c2c153b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/federation/proxy_protogeni_segment.py
rc2c153b r9b3627e 191 191 'userconfig': client_null, 192 192 } 193 194 def server_port(f, s): 195 p = urlparse(s.get('server', 'http://localhost')) 196 print >>f, 'port: remote:%s:%s:%s' % (p.port, p.hostname, p.port) 197 198 def server_null(f,s): pass 199 200 def server_seer(f, s): 201 print >>f, 'seer: true' 202 203 server_service_out = { 204 'SMB': server_port, 205 'tmcd': server_port, 206 'userconfig': server_null, 207 'seer': server_seer, 208 } 193 209 # XXX: end un hardcode this 194 210 … … 231 247 for s in [s for s in services \ 232 248 if s.get('name', "") in parent.imports]: 233 p = urlparse(s.get('server', 'http://localhost')) 234 print >>f, 'port: remote:%s:%s:%s' % \ 235 (p.port, p.hostname, p.port) 249 server_service_out[s['name']](f, s) 236 250 237 251 if tunnelconfig: … … 251 265 252 266 # XXX: This little seer config file needs to go away. 253 if not seer_out:254 try:255 seerfn = "%s/seer.conf" % tmpdir256 f = open(seerfn, "w")257 if not master:258 print >>f, "ControlNode: control.%s.%s%s" % \259 (meid.lower(), mproj.lower(), mdomain)260 print >>f, "ExperimentID: %s" % mexp261 f.close()262 except IOError, e:263 raise service_error(service_error.internal,264 "Can't write seer.conf: %s" %e)265 seer_out = True267 #if not seer_out: 268 #try: 269 #seerfn = "%s/seer.conf" % tmpdir 270 #f = open(seerfn, "w") 271 #if not master: 272 #print >>f, "ControlNode: control.%s.%s%s" % \ 273 #(meid.lower(), mproj.lower(), mdomain) 274 #print >>f, "ExperimentID: %s" % mexp 275 #f.close() 276 #except IOError, e: 277 #raise service_error(service_error.internal, 278 #"Can't write seer.conf: %s" %e) 279 #seer_out = True 266 280 267 281 if not client_out and type in ('control', 'both'): … … 273 287 s.get('visibility','') == 'import': 274 288 client_service_out[s['name']](f, s) 275 # Does seer need this? 276 # print >>f, "ExperimentID: %s/%s" % (mproj, meid) 289 # Seer uses this to find credentials in the shared project 290 # dir. 291 print >>f, "ExperimentID: %s/%s" % (mproj, meid) 277 292 f.close() 278 293 except IOError, e: … … 326 341 327 342 def configure_nodes(self, topo, nodes, user, host, sshd, sshd_config, 328 gate_cmd, node_cmd, pubkey, secretkey, stagingdir, tmpdir): 343 gate_cmd, node_cmd, pubkey, secretkey, federation_software, 344 portal_software, stagingdir, tmpdir): 329 345 330 346 fed_dir = "/usr/local/federation" … … 354 370 % i.name) 355 371 372 for l, f in federation_software: 373 base = os.path.basename(f) 374 print >>script, "%s %s@%s:%s/%s ." % \ 375 (scp, user, host, stagingdir, base) 376 print >>script, \ 377 "%s -C %s -xzf %s" % (tar, l, base) 378 356 379 for s in e.software: 357 380 # XXX: Just tarfiles for now … … 364 387 "%s -C %s -xzf %s" % (tar, s.install, s_base) 365 388 for f in ('hosts', pubkey, secretkey, 'client.conf', 366 'userconf' , 'seer.conf'):389 'userconf'): 367 390 print >>script, "%s %s@%s:%s/%s %s/etc" % \ 368 391 (scp, user, host, stagingdir, f, fed_dir) … … 379 402 (scp, user, host, stagingdir, vname, fed_dir) 380 403 404 # Hackery dackery dock: the ProtoGENI python is really ancient. 405 # Get a modern version (though packaged for Mandrake (remember 406 # Mandrake? good times, good times)) and install it for SEER. 407 python_rpm="python2.4-2.4-1pydotorg.i586.rpm" 408 print >>script, "%s %s@%s:%s/%s ." % \ 409 (scp, user, host, stagingdir, python_rpm) 410 print >>script, "rpm --install ./%s" % python_rpm 411 print >>script, "rm /usr/bin/python" 412 print >>script, "ln /usr/bin/python2.4 /usr/bin/python" 413 # Back to less hacky stuff 381 414 382 415 # Start commands 383 416 if e.get_attribute('portal') and gate_cmd: 417 # Install portal software 418 for l, f in portal_software: 419 base = os.path.basename(f) 420 print >>script, "%s %s@%s:%s/%s ." % \ 421 (scp, user, host, stagingdir, base) 422 print >>script, \ 423 "%s -C %s -xzf %s" % (tar, l, base) 424 384 425 # Portals never have a user-specified start command 385 426 print >>script, gate_cmd … … 548 589 549 590 # With manifest in hand, we can export the portal node names. 550 nodes = self.manifest_to_dict(manifest , ignore_debug=True)591 nodes = self.manifest_to_dict(manifest) 551 592 self.export_store_info(export_certfile, nodes, parent.ssh_port, 552 593 connInfo) … … 612 653 self.configure_nodes(topo, nodes, user, parent.staging_host, 613 654 parent.sshd, parent.sshd_config, gate_cmd, node_cmd, 614 pubkey, secretkey, stagingdir, tmpdir) 655 pubkey, secretkey, parent.federation_software, 656 parent.portal_software, stagingdir, tmpdir) 615 657 616 658 self.start_nodes(user, parent.staging_host,
Note: See TracChangeset
for help on using the changeset viewer.