Changes to support the SPP nodes. My approach was a little odd.
What I did was create node table entries for the three SPP nodes. These are designated as local, shared nodes, reserved to a holding experiment. This allowed me to use all of the existing shared node pool support, albeit with a couple of tweaks in libvtop that I will not bother to mention since they are hideous (another thing I need to fix). The virtual nodes that are created on the spp nodes are figments; they will never be setup, booted or torn down. They exist simply as place holders in the DB, in order hold the reserved bandwidth on the network interfaces. In other words, you can create as many of these imaginary spp nodes (in different slices if you like) as there are interfaces on the spp node. Or you can create a single spp imaginary node with all of the interfaces. You get the idea; its the reserved bandwidth that drives the allocation. There are also some minor spp specific changes in vnode_setup.in to avoid trying to generalize things. I will return to this later as needed. See this wiki page for info and sample rspecs: https://www.protogeni.net/trac/protogeni/wiki/SPPNodes
Showing with 173 additions and 27 deletions