Changeset dd3e38b for fedd/federation/proxy_protogeni_segment.py
- Timestamp:
- Mar 7, 2010 8:01:52 AM (14 years ago)
- Branches:
- axis_example, compt_changes, info-ops, master, version-3.01, version-3.02
- Children:
- 062b991
- Parents:
- d101c8c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/federation/proxy_protogeni_segment.py
rd101c8c rdd3e38b 91 91 # name) has an entry with the allocated machine in hostname and the 92 92 # interfaces in 'interfaces'. I love having XML parser code lying around. 93 def manifest_to_dict(self, manifest ):94 if self.debug :93 def manifest_to_dict(self, manifest, ignore_debug=False): 94 if self.debug and not ignore_debug: 95 95 self.log.debug("Returning null manifest dict") 96 96 return { } … … 388 388 print >>script, "sudo perl -I%s/lib %s/bin/import_key.pl /users/%s/.ssh/authorized_keys /root/.ssh/authorized_keys" % (fed_dir, fed_dir, user) 389 389 # XXX: debug 390 # start routing on nodes 391 print >>script, "sudo perl %s/bin/protogeni_routing.pl" % \ 392 fed_dir 390 393 if e.get_attribute('startup'): 391 394 print >>script, "%s \\$USER '%s'" % \ … … 541 544 542 545 # With manifest in hand, we can export the portal node names. 543 nodes = self.manifest_to_dict(manifest) 544 print nodes 546 nodes = self.manifest_to_dict(manifest, ignore_debug=True) 545 547 self.export_store_info(export_certfile, nodes, parent.ssh_port, 546 548 connInfo) … … 589 591 else: 590 592 parent.state_lock.acquire() 593 parent.allocation[aid]['slice_name'] = slicename 591 594 parent.allocation[aid]['slice_credential'] = slice_cred 592 595 parent.allocation[aid]['sliver_credential'] = sliver_cred … … 644 647 return rv 645 648 649 class renew_segment(segment_base): 650 def __init__(self, log=None, debug=False, keyfile=None, 651 ch_url=None, sa_url=None, cm_url=None): 652 segment_base.__init__(self, log=log, keyfile=keyfile, debug=debug, 653 ch_url=cm_url, sa_url=sa_url, cm_url=cm_url) 654 655 def __call__(self, name, scred, interval, certfile, certpw): 656 ctxt = fedd_ssl_context(my_cert=certfile, password=certpw) 657 try: 658 expiration = time.strftime("%Y%m%dT%H:%M:%S", 659 time.gmtime(time.time() + interval)) 660 cred = self.pg_call(self.sa_url, 'GetCredential', {}, ctxt) 661 662 param = { 663 'credential': scred, 664 'expiration': expiration 665 } 666 r = self.pg_call(self.sa_url, 'RenewSlice', param, ctxt) 667 param = { 668 'credential': cred, 669 'hrn': name, 670 'type': 'Slice', 671 } 672 slice = self.pg_call(self.sa_url, 'Resolve', param, ctxt) 673 uuid = slice.get('uuid', None) 674 if uuid == None: 675 sys.exit('No uuid for %s' % slicename) 676 677 print 'Calling GetCredential (uuid)' 678 param = { 679 'credential': cred, 680 'uuid': uuid, 681 'type': 'Slice', 682 } 683 new_scred = self.pg_call(self.sa_url, 'GetCredential', param, ctxt) 684 f = open('./new_slice_cred', 'w') 685 print >>f, new_scred 686 f.close() 687 688 except self.ProtoGENIError, e: 689 self.log.error("Failed to extend slice %s: %s" % (name, e)) 690 return None 691 try: 692 print 'Calling RenewSlice (CM)' 693 param = { 694 'credential': new_scred, 695 } 696 r = self.pg_call(self.cm_url, 'RenewSlice', param, ctxt) 697 except self.ProtoGENIError, e: 698 self.log.warn("Failed to renew sliver for %s: %s" % (name, e)) 699 700 return new_scred 701
Note: See TracChangeset
for help on using the changeset viewer.