fix bugs
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 24 Oct 2012 00:35:18 +0000 (20:35 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 24 Oct 2012 00:35:18 +0000 (20:35 -0400)
sfa/planetlab/plaggregate.py
sfa/planetlab/plslices.py

index 733638b..555841f 100644 (file)
@@ -129,8 +129,11 @@ class PlAggregate:
         if names:
             filter['name'] = list(names)
         if slice_ids:
-            filter['slice_id'] = list(slice_ids) 
+            filter['slice_id'] = list(slice_ids)
+        logger.debug('plaggregate.get_slivers: filter: %s' % str(filter)) 
         slices = self.driver.shell.GetSlices(filter)
+        if not slices:
+            return []
         slice = slices[0]
         if node_ids:
             slice['node_ids'] = node_ids
@@ -336,7 +339,7 @@ class PlAggregate:
         geni_slivers = []
         slivers = self.get_slivers(urns, options) 
         if len(slivers) == 0:
-            raise SliverDoesNotExist("You have not allocated any slivers here")
+            raise SliverDoesNotExist("You have not allocated any slivers here for %s" % str(urns))
         rspec.xml.set('expires',  datetime_to_string(utcparse(slivers[0]['expires'])))
       
         if not options.get('list_leases') or options['list_leases'] != 'leases':
index 94a7c4e..30cb539 100644 (file)
@@ -342,22 +342,17 @@ class PlSlices:
         slices = self.driver.shell.GetSlices([slicename]) 
         if not slices:
             slice = {'name': slicename,
-                     'url': slice_record.get('url', slice_hrn)
-                     'description': slice_record.get('description', slice_hrn)}
+                     'url': 'No Url'
+                     'description': 'No Description'}
             # add the slice                          
             slice['slice_id'] = self.driver.shell.AddSlice(slice)
             slice['node_ids'] = []
             slice['person_ids'] = []
-            if peer:
+            if peer and slice_record:
                 slice['peer_slice_id'] = slice_record.get('slice_id', None) 
-            # mark this slice as an sfa peer record
-#            if sfa_peer:
-#                peer_dict = {'type': 'slice', 'hrn': slice_hrn, 
-#                             'peer_authority': sfa_peer, 'pointer': slice['slice_id']}
-#                self.registry.register_peer_object(self.credential, peer_dict)
         else:
             slice = slices[0]
-            if peer:
+            if peer and slice_record:
                 slice['peer_slice_id'] = slice_record.get('slice_id', None)
                 # unbind from peer so we can modify if necessary. Will bind back later
                 self.driver.shell.UnBindObjectFromPeer('slice', slice['slice_id'], peer['shortname'])