More changes to volume to fix concurrency issues.  Also testing updates.
More changes to volume to fix concurrency issues.  Also testing updates.

volumes now store a set of available shelf/blades in the datastore, instead of depending on a filesystem glob.  This avoids a race condition that occurs where two different volumes are attempting to export to the same location.

The general idea of pooled resources needs to be abstracted out into the datamodel.  It is used for vpn ports and volumes now, and should be uses for ip addresses as well.


n0ano/ganttclient