Changeset c167378


Ignore:
Timestamp:
Oct 11, 2011 10:38:17 AM (8 years ago)
Author:
Ted Faber <faber@…>
Branches:
compt_changes, info-ops, master
Children:
8cb269a
Parents:
451fb96
Message:

Restore mnemonic names and allow seer_master experiments in groups. NB:
all existing experiments that are reused on DETER get deleted now.
Don't save anything in there.

Location:
fedd/federation
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • fedd/federation/emulab_access.py

    r451fb96 rc167378  
    965965
    966966        # Names longer than the emulab max are discarded
    967         # Projects with a group require nonce experiment names as well
    968         if ename and len(ename) <= self.max_name_len and '/' not in proj:
     967        if ename and len(ename) <= self.max_name_len:
    969968            # Clean up the experiment name so that emulab will accept it.
    970969            ename = re.sub(vchars_re, '-', ename)
  • fedd/federation/local_emulab_segment.py

    r451fb96 rc167378  
    6363        Start a sub-experiment on a federant.
    6464
    65         Get the current state, modify or create as appropriate, ship data
     65        Get the current state, and terminate the experiment if it exists. The
     66        group membership of the experiment is difficult to determine or change,
     67        so start with a clean slate.  Create a new one and ship data
    6668        and configs and start the experiment.  There are small ordering
    6769        differences based on the initial state of the sub-experiment.
     
    7072        state = self.get_state(pid, eid)
    7173
    72         if state == 'none':
    73             if not self.make_null_experiment(pid, eid, tmpdir, gid):
    74                 return False
     74        if state != 'none':
     75            self.terminate_exp(pid, eid)
     76
     77        if not self.make_null_experiment(pid, eid, tmpdir, gid):
     78            return False
    7579
    7680        if not self.set_up_experiment_filespace(pid, eid, tmpdir):
     
    8488            return False
    8589       
    86         # Stage the new configuration (active experiments will stay swapped
    87         # in now)
     90        # Stage the new configuration
    8891        if not self.modify_exp(pid, eid, tcl):
    8992            self.log.error("modify failed")
    9093            return False
    91         # Active experiments are still swapped, this swaps the others in.
    92         if state != 'active':
    93             if not self.swap_exp(pid, eid, 'in'):
    94                 return False
     94
     95        if not self.swap_exp(pid, eid, 'in'):
     96            self.log.error("swap in failed")
     97            return False
    9598        # Everything has gone OK.
    9699        self.get_mapping(pid,eid)
  • fedd/federation/proxy_emulab_segment.py

    r451fb96 rc167378  
    285285        Start a sub-experiment on a federant.
    286286
    287         Get the current state, modify or create as appropriate, ship data
     287        Get the current state, and terminate the experiment if it exists. The
     288        group membership of the experiment is difficult to determine or change,
     289        so start with a clean slate.  Create a new one and ship data
    288290        and configs and start the experiment.  There are small ordering
    289         differences based on the initial state of the sub-experiment.
    290291        """
    291292        # ops node in the federant
     
    296297            return False
    297298       
    298         if state == 'none':
    299             # Put a dummy in place to capture logs, and establish an experiment
    300             # directory.
    301             if not self.make_null_experiment(user, host, pid, eid, tmpdir, gid):
    302                 return False
     299        if state != 'none':
     300            self.ssh_cmd(user, host,
     301                    "/usr/testbed/bin/endexp -w %s %s" % (pid, eid))
     302
     303        # Put a dummy in place to capture logs, and establish an experiment
     304        # directory.
     305        if not self.make_null_experiment(user, host, pid, eid, tmpdir, gid):
     306            return False
    303307
    304308        if not self.set_up_experiment_filespace(user, host, pid, eid, tmpdir):
     
    318322            # if it hangs, assume the worst.
    319323            return False
    320         # Active experiments are still swapped, this swaps the others in.
    321         if state != 'active':
    322             if not self.swap_in(user, host, pid, eid):
    323                 return False
     324
     325        if not self.swap_in(user, host, pid, eid):
     326            self.log.error("swap in failed")
     327            return False
    324328        # Everything has gone OK.
    325329        self.get_mapping(user, host, pid,eid)
Note: See TracChangeset for help on using the changeset viewer.