describe should return an empty rspec instead of an error if there are not allocated...
[sfa.git] / sfa / openstack / osaggregate.py
index 4506fe9..066e7e4 100644 (file)
@@ -71,9 +71,6 @@ class OSAggregate:
         tenant_name = OSXrn(xrn=urns[0], type='slice').get_tenant_name()
         self.driver.shell.nova_manager.connect(tenant=tenant_name)
         instances = self.get_instances(urns)
-        if len(instances) == 0:
-            raise SliverDoesNotExist("You have not allocated any slivers here")
-
         # lookup the sliver allocations
         sliver_ids = [sliver['sliver_id'] for sliver in slivers]
         constraint = SliverAllocation.sliver_id.in_(sliver_ids)
@@ -201,9 +198,10 @@ class OSAggregate:
 
     def instance_to_sliver(self, instance, xrn=None):
         if xrn:
-            xrn = Xrn(xrn=slice_xrn, type='slice', id=instance.id).get_urn()
+            sliver_hrn = '%s.%s' % (self.driver.hrn, instance.id)
+            sliver_id = Xrn(sliver_hrn, type='sliver').urn
 
-        sliver = Sliver({'sliver_id': xrn.get_urn(),
+        sliver = Sliver({'sliver_id': sliver_id,
                          'name': instance.name,
                          'type': instance.name,
                          'cpus': str(instance.vcpus),
@@ -212,7 +210,7 @@ class OSAggregate:
         return sliver   
 
     def instance_to_geni_sliver(self, instance, sliver_allocations = {}):
-        sliver_hrn = '%s.%s' % (root_hrn, instance.id)
+        sliver_hrn = '%s.%s' % (self.driver.hrn, instance.id)
         sliver_id = Xrn(sliver_hrn, type='sliver').urn
  
         # set sliver allocation and operational status