Skip to content. | Skip to navigation

Personal tools


You are here: Home / Wiki / Softwarepieces


Software Task Involved in Building pGENI

Software Task Involved in Building pGENI

Slice embedding service

  • Assign + support for rspec, plus support for layer 2 and 3 devices
  • Basically requires new XML input/output, so re-working ptopgen (not too hard) and assign-wrapper (very hard!)
  • Probably provide a way to invoke it by itself, remotely (XML-RPC?)

XML-RPC (or SOAP, or something...) server for GMC API

  • Will need to support GID for authentication, so we need to sketch out (at least preliminary) details for how GIDs work
  • May, in many cases, be able to call existing scripts or duplicate existing XML-RPC calls

Better support for 'foreign' users

  • The design of GENI is such that we might get a CreateSliver() request from someone we've never heard of, but who has appropriately-signed credentials to perform an operation. So, we're going to have to change the way we represent and check permissions.

Incorporate PlanetLab node manager and support for vservers

  • Presumably we use the PlanetLab node manager
  • Do we run the PLC code, or do we have the node manager check in with 'ELC'?
  • Do we put the GENI API directly on the PlanetLab node managers? Or do we treat the NM interface as an 'internal' one, and have Emulab act as the CM for these nodes?

Support for layer 2 devices

  • But which ones?
    • WUSTL routers?
    • Cisco routers?
    • ???
  • Will need the ability to get and save configurations from them, load OS, etc.
  • Sharing is probably hard, unless we can just use the WUSTL 'Supercharged PlanetLab' stuff

Generalize 'configurable' network support

  • Right now, we have VLANs table (only used by snmpit), and tunnels table (bitrotted?)
  • Should we make the One True Network Table (vlans++?), or make one table for each type?


  • My feeling is that we're going to have to bit the bullet and clean up assign_wrapper - a lot of our assumptions about classes of hardware and
  • It would be nice if we could split it into smaller programs, and/or modules - for example, maybe if we can't generalize away details of vnodes and
  • It would also be nice if we could split 'topgen' out of assign_wrapper, but I realize there are problems with that