From 2b241cf1523bbb26039e0645507dca3a76b7cabb Mon Sep 17 00:00:00 2001
From: Tony Mack <tmack@paris.CS.Princeton.EDU>
Date: Tue, 16 Apr 2013 21:57:55 -0400
Subject: [PATCH] raise exception if sliver's slice has no subnet

---
 plstackapi/core/models/sliver.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/plstackapi/core/models/sliver.py b/plstackapi/core/models/sliver.py
index 27dda65..ba0b2bf 100644
--- a/plstackapi/core/models/sliver.py
+++ b/plstackapi/core/models/sliver.py
@@ -1,5 +1,6 @@
 import os
 from django.db import models
+from django.core import exceptions
 from plstackapi.core.models import PlCoreBase
 from plstackapi.core.models import Flavor
 from plstackapi.core.models import Image
@@ -19,14 +20,16 @@ class Sliver(PlCoreBase):
     key = models.ForeignKey(Key, related_name='slivers')
     slice = models.ForeignKey(Slice, related_name='slivers')
     node = models.ForeignKey(Node, related_name='slivers')
-    #site = models.ForeignKey(Site, related_name='slivers')
     deploymentNetwork = models.ForeignKey(DeploymentNetwork, related_name='sliver_deploymentNetwork')
 
     def __unicode__(self):  return u'%s::%s' % (self.slice, self.deploymentNetwork)
 
     def save(self, *args, **kwds):
-        driver = OpenStackDriver()
+        if not self.slice.subnet:
+            raise exceptions.ValidationError, "Slice %s has no subnet" % self.slice.name
+
         if not self.instance_id:
+            driver = OpenStackDriver()
             instance = driver.spawn_instance(name=self.name,
                                    key_name = self.key.name,
                                    flavor_id = self.flavor.flavor_id,
-- 
2.47.0