Ignore:
Timestamp:
May 28, 2010 4:02:20 AM (14 years ago)
Author:
Ted Faber <faber@…>
Branches:
axis_example, compt_changes, info-ops, master, version-3.01, version-3.02
Children:
fa4a4a8
Parents:
2f6820c
Message:

Importing is a relatively access semantics free endeavour, but export needs to be in each access controller.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fedd/federation/emulab_access.py

    r2f6820c r2c1fd21  
    723723                    "Cannot write experiment file %s: %s" % (expfn,e))
    724724
     725    def export_store_info(self, cf, proj, ename, connInfo):
     726        """
     727        For the export requests in the connection info, install the peer names
     728        at the experiment controller via SetValue calls.
     729        """
     730
     731        for c in connInfo:
     732            for p in [ p for p in c.get('parameter', []) \
     733                    if p.get('type', '') == 'output']:
     734
     735                if p.get('name', '') == 'peer':
     736                    k = p.get('key', None)
     737                    surl = p.get('store', None)
     738                    if surl and k and k.index('/') != -1:
     739                        value = "%s.%s.%s%s" % \
     740                                (k[k.index('/')+1:], ename, proj, self.domain)
     741                        req = { 'name': k, 'value': value }
     742                        self.log.debug("Setting %s to %s on %s" % \
     743                                (k, value, surl))
     744                        self.call_SetValue(surl, req, cf)
     745                    else:
     746                        self.log.error("Bad export request: %s" % p)
     747                elif p.get('name', '') == 'ssh_port':
     748                    k = p.get('key', None)
     749                    surl = p.get('store', None)
     750                    if surl and k:
     751                        req = { 'name': k, 'value': self.ssh_port }
     752                        self.log.debug("Setting %s to %s on %s" % \
     753                                (k, self.ssh_port, surl))
     754                        self.call_SetValue(surl, req, cf)
     755                    else:
     756                        self.log.error("Bad export request: %s" % p)
     757                else:
     758                    self.log.error("Unknown export parameter: %s" % \
     759                            p.get('name'))
     760                    continue
     761
     762
    725763    def configure_userconf(self, services):
    726764        """
Note: See TracChangeset for help on using the changeset viewer.