FIT IoT-Lab aggregate: fixed archi and radio format
[sfa.git] / sfa / iotlab / iotlabaggregate.py
index 2b49615..3878da4 100644 (file)
@@ -36,12 +36,12 @@ class IotLABAggregate(object):
                 rspec_lease = Lease()
                 rspec_lease['lease_id'] = lease['id']
                 iotlab_xrn = Xrn('.'.join([self.driver.root_auth,
-                                 Xrn.escape(node)]),
+                                           Xrn.escape(node)]),
                                  type='node')
                 rspec_lease['component_id'] = iotlab_xrn.urn
                 rspec_lease['start_time'] = str(lease['date'])
                 # duration in minutes
-                duration = int(lease['duration'])/60
+                duration = int(lease['duration']) / 60
                 rspec_lease['duration'] = duration
                 rspec_lease['slice_id'] = lease['slice_id']
                 rspec_leases.append(rspec_lease)
@@ -52,13 +52,17 @@ class IotLABAggregate(object):
         rspec_node = IotlabNode()
         rspec_node['mobile'] = node['mobile']
         rspec_node['archi'] = node['archi']
-        rspec_node['radio'] = (node['archi'].split(':'))[1]
+        if ':' in node['archi']:
+            rspec_node['radio'] = (node['archi'].split(':'))[1]
+        else:
+            rspec_node['radio'] = node['archi']
         iotlab_xrn = Xrn('.'.join([self.driver.root_auth,
-                         Xrn.escape(node['network_address'])]),
+                                   Xrn.escape(node['network_address'])]),
                          type='node')
         # rspec_node['boot_state'] = 'true'
         if node['state'] == 'Absent' or \
            node['state'] == 'Suspected' or \
+           node['state'] == 'Dead' or \
            node['state'] == 'Busy':
             rspec_node['available'] = 'false'
         else:
@@ -182,13 +186,12 @@ class IotLABAggregate(object):
                 else:
                     reserved_nodes[lease_id]['slice_id'] = \
                         hrn_to_urn(self.driver.root_auth + '.' +
-                                   reserved_nodes[lease_id]['owner']+"_slice",
+                                   reserved_nodes[lease_id][
+                                       'owner'] + "_slice",
                                    'slice')
                 leases.append(reserved_nodes[lease_id])
 
             rspec_leases = self.leases_to_rspec_leases(leases)
-            logger.warning("iotlabaggregate list_resources rspec_leases  %s" %
-                           rspec_leases)
             rspec.version.add_leases(rspec_leases)
         return rspec.toxml()