Changeset c7e40f5


Ignore:
Timestamp:
Nov 26, 2008 3:09:25 PM (16 years ago)
Author:
Ted Faber <faber@…>
Branches:
axis_example, compt_changes, info-ops, master, version-1.30, version-2.00, version-3.01, version-3.02
Children:
40eab39
Parents:
3584a9f
Message:

Clean up placeholder state on a failed parse

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fedd/fedd_experiment_control.py

    r3584a9f rc7e40f5  
    254254        if mapdb_file:
    255255            self.read_mapdb(mapdb_file)
    256             print self.tbmap
    257256        else:
    258257            self.log.warn("[experiment_control] No testbed map, using defaults")
     
    16291628                "^#\s+End\s+rpms")
    16301629
    1631         # Worling on the split data
    1632         for line in split_data:
    1633             line = line.rstrip()
    1634             if parse_current_testbed(line, master, allocated, tbparams):
    1635                 continue
    1636             elif parse_allbeds(line, user, tbparams, master, export_project,
    1637                     access_user):
    1638                 continue
    1639             elif parse_gateways(line, allocated, tbparams):
    1640                 continue
    1641             elif parse_vtopo(line):
    1642                 continue
    1643             elif parse_hostnames(line):
    1644                 continue
    1645             elif parse_tarfiles(line):
    1646                 continue
    1647             elif parse_rpms(line):
    1648                 continue
    1649             else:
    1650                 raise service_error(service_error.internal,
    1651                         "Bad tcl parse? %s" % line)
    1652 
     1630        try:
     1631            # Working on the split data
     1632            for line in split_data:
     1633                line = line.rstrip()
     1634                if parse_current_testbed(line, master, allocated, tbparams):
     1635                    continue
     1636                elif parse_allbeds(line, user, tbparams, master, export_project,
     1637                        access_user):
     1638                    continue
     1639                elif parse_gateways(line, allocated, tbparams):
     1640                    continue
     1641                elif parse_vtopo(line):
     1642                    continue
     1643                elif parse_hostnames(line):
     1644                    continue
     1645                elif parse_tarfiles(line):
     1646                    continue
     1647                elif parse_rpms(line):
     1648                    continue
     1649                else:
     1650                    raise service_error(service_error.internal,
     1651                            "Bad tcl parse? %s" % line)
     1652        except service_error, e:
     1653            # If something goes wrong in the parse (usually an access error)
     1654            # clear the placeholder state
     1655            self.state_lock.acquire()
     1656            del self.state[eid]
     1657            self.state_lock.release()
     1658            raise e
     1659       
    16531660        # Virtual topology and visualization
    16541661        vtopo = self.gentopo(parse_vtopo.str)
Note: See TracChangeset for help on using the changeset viewer.