MP-VPN: Put site descriptors in a topology
Currently sites in the MP-VPN application are described by a data structure that is hardcoded in vpn.py. This information should really be captured in a topology (or at least a database).
There exists the skeleton of a command (sitectl.py) to manage sites, although the functionality has yet to be specified, and in fact what's there needs updating anyway because hosts are discovered via MAC learning, not explicitly configured. It's not clear whether it's necessary to implement something interactive (as sitectl seems to have been envisioned) or a batch command that just populates a topology in the manner of tbctl create-inv, so we need to decide that.
Note that the site descriptors basically just map a site name to a port on a hardware switch. A more generalized case would allow for attachment via an OSCARS circuit to a core router port facing a hardware switch.
This work item is to design and implement the move of site descriptor information from vpn.py to a database container / topology, and implementation of any management commands necessary.
Two notes: There exists a stub sitectl.py that was intended to be the start of an implementation of this. How much of this can be used has yet to be determined.
This feature will become much more important when we have "real" sites that are attached dynamically (say via OSCARS circuits) and whose attachment points are not known at the time the code is deployed.