Ignore:
Timestamp:
Sep 19, 2008 6:25:54 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:
01073f7
Parents:
9d207bd
Message:

reconfigure sshd_config explicitly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fedd/fedd_create_experiment.py

    r9d207bd r7a8d667  
    3232    scripts = ["fed_bootstrap", "federate.sh", "smbmount.FreeBSD.pl",
    3333        "smbmount.Linux.pl", "make_hosts", "fed-tun.pl", "fed-tun.ucb.pl",
    34         "fed_evrepeater", "rc.accounts.patch", "daemon.py",
    35         "experiment-setup.py"]
     34        "fed_evrepeater", "rc.accounts.patch"]
    3635   
    3736    def __init__(self,
     
    693692                "emulab" : e
    694693                }
     694        # Make the testbed name be the label the user applied
     695        p['testbed'] = {'localname': tb }
    695696
    696697        for u in p['user']:
     
    14001401            raise service_error(service_error.req, "No such experiment")
    14011402
     1403
     1404
     1405    def terminate_experiment(self, req, fid):
     1406        tbparams = { }
     1407        req = req.get('TerminateRequestBody', None)
     1408        if not req:
     1409            raise service_error(service_error.req,
     1410                    "Bad request format (no TerminateRequestBody)")
     1411        exp = req.get('experiment', None)
     1412        if exp:
     1413            if exp.has_key('fedid'):
     1414                key = fedid(bits=exp['fedid'])
     1415                keytype = "fedid"
     1416            elif exp.has_key('localname'):
     1417                key = exp['localname']
     1418                keytype = "localname"
     1419            else:
     1420                raise service_error(service_error.req, "Unknown lookup type")
     1421        else:
     1422            raise service_error(service_error.req, "No request?")
     1423
     1424        fed_exp = self.state.get(key, None)
     1425
     1426        if fed_exp:
     1427            # Construct enough of the tbparams to make the stop_segment calls
     1428            # work
     1429            for fed in fed_exp['federant']:
     1430                try:
     1431                    for e in fed['name']:
     1432                        eid = e.get('localname', None)
     1433                        if eid: break
     1434                    else:
     1435                        continue
     1436
     1437                    p = fed['emulab']['project']
     1438
     1439                    project = p['name']['localname']
     1440                    tb = p['testbed']['localname']
     1441                    user = p['user'][0]['userID']['localname']
     1442
     1443                    domain = fed['emulab']['domain']
     1444                    host  = "%s%s" % (fed['emulab']['ops'], domain)
     1445                except KeyError, e:
     1446                    continue
     1447                tbparams[tb] = {\
     1448                        'user': user,\
     1449                        'domain': domain,\
     1450                        'project': project,\
     1451                        'host': host,\
     1452                        'eid': eid,\
     1453                    }
     1454            # Stop everyone.
     1455            for tb in tbparams.keys():
     1456                self.stop_segment(tb, tbparams[tb]['eid'], tbparams)
     1457            return { 'experiment': exp }
     1458        else:
     1459            raise service_error(service_error.req, "No saved state")
     1460
     1461
     1462
     1463
    14021464if __name__ == '__main__':
    14031465    from optparse import OptionParser
Note: See TracChangeset for help on using the changeset viewer.