Renaming Senslab into Iotlab.
[sfa.git] / sfa / iotlab / iotlabaggregate.py
similarity index 85%
rename from sfa/senslab/slabaggregate.py
rename to sfa/iotlab/iotlabaggregate.py
index d1946f8..26c6764 100644 (file)
@@ -12,25 +12,25 @@ from sfa.rspecs.elements.granularity import Granularity
 from sfa.rspecs.version_manager import VersionManager
 
 
-from sfa.rspecs.elements.versions.slabv1Node import SlabPosition, SlabNode, \
-                                                            SlabLocation
+from sfa.rspecs.elements.versions.iotlabv1Node import IotlabPosition, IotlabNode, \
+                                                            IotlabLocation
 from sfa.util.sfalogging import logger
 
 from sfa.util.xrn import Xrn
 
-def slab_xrn_to_hostname(xrn):
+def iotlab_xrn_to_hostname(xrn):
     return Xrn.unescape(Xrn(xrn=xrn, type='node').get_leaf())
 
-def slab_xrn_object(root_auth, hostname):
+def iotlab_xrn_object(root_auth, hostname):
     """Attributes are urn and hrn.
-    Get the hostname using slab_xrn_to_hostname on the urn.
+    Get the hostname using iotlab_xrn_to_hostname on the urn.
 
-    :return: the senslab node's xrn
+    :return: the iotlab node's xrn
     :rtype: Xrn
     """
     return Xrn('.'.join( [root_auth, Xrn.escape(hostname)]), type='node')
 
-class SlabAggregate:
+class IotlabAggregate:
 
     sites = {}
     nodes = {}
@@ -48,7 +48,7 @@ class SlabAggregate:
 
     def get_slice_and_slivers(self, slice_xrn, login=None):
         """
-        Get the slices and the associated leases if any from the senslab
+        Get the slices and the associated leases if any from the iotlab
         testbed. For each slice, get the nodes in the  associated lease
         and create a sliver with the necessary info and insertinto the sliver
         dictionary, keyed on the node hostnames.
@@ -57,14 +57,14 @@ class SlabAggregate:
 
 
         :param slice_xrn: xrn of the slice
-        :param login: user's login on senslab ldap
+        :param login: user's login on iotlab ldap
 
         :type slice_xrn: string
         :type login: string
         :reutnr : a list of slices dict and a dictionary of Sliver object
         :rtype: (list, dict)
 
-        ..note: There is no slivers in senslab, only leases.
+        ..note: There is no slivers in iotlab, only leases.
 
         """
         slivers = {}
@@ -75,7 +75,7 @@ class SlabAggregate:
         slice_hrn, _ = urn_to_hrn(slice_xrn)
         slice_name = slice_hrn
 
-        slices = self.driver.slab_api.GetSlices(slice_filter= str(slice_name), \
+        slices = self.driver.iotlab_api.GetSlices(slice_filter= str(slice_name), \
                                             slice_filter_type = 'slice_hrn', \
                                             login=login)
 
@@ -101,15 +101,15 @@ class SlabAggregate:
                 sliver_xrn.set_authority(self.driver.hrn)
                 sliver = Sliver({'sliver_id':sliver_xrn.urn,
                                 'name': sfa_slice['hrn'],
-                                'type': 'slab-node',
+                                'type': 'iotlab-node',
                                 'tags': []})
 
                 slivers[node] = sliver
 
 
         #Add default sliver attribute :
-        #connection information for senslab
-        if get_authority (sfa_slice['hrn']) == self.driver.slab_api.root_auth:
+        #connection information for iotlab
+        if get_authority (sfa_slice['hrn']) == self.driver.iotlab_api.root_auth:
             tmp = sfa_slice['hrn'].split('.')
             ldap_username = tmp[1].split('_')[0]
             ssh_access = None
@@ -138,16 +138,16 @@ class SlabAggregate:
         #tags_filter = {}
 
         # get the granularity in second for the reservation system
-        grain = self.driver.slab_api.GetLeaseGranularity()
+        grain = self.driver.iotlab_api.GetLeaseGranularity()
 
 
-        nodes = self.driver.slab_api.GetNodes()
+        nodes = self.driver.iotlab_api.GetNodes()
         #geni_available = options.get('geni_available')
         #if geni_available:
             #filter['boot_state'] = 'boot'
 
         #filter.update({'peer_id': None})
-        #nodes = self.driver.slab_api.GetNodes(filter['hostname'])
+        #nodes = self.driver.iotlab_api.GetNodes(filter['hostname'])
 
         #site_ids = []
         #interface_ids = []
@@ -182,14 +182,14 @@ class SlabAggregate:
                 #for node in one_slice['node_ids']:
                     #slice_nodes_list.append(node)
 
-        reserved_nodes = self.driver.slab_api.GetNodesCurrentlyInUse()
+        reserved_nodes = self.driver.iotlab_api.GetNodesCurrentlyInUse()
         logger.debug("SLABAGGREGATE api get_nodes slice_nodes_list  %s "\
                                                         %(slice_nodes_list))
         for node in nodes:
             nodes_dict[node['node_id']] = node
             if slice_nodes_list == [] or node['hostname'] in slice_nodes_list:
 
-                rspec_node = SlabNode()
+                rspec_node = IotlabNode()
                 # xxx how to retrieve site['login_base']
                 #site_id=node['site_id']
                 #site=sites_dict[site_id]
@@ -198,16 +198,16 @@ class SlabAggregate:
                 rspec_node['archi'] = node['archi']
                 rspec_node['radio'] = node['radio']
 
-                slab_xrn = slab_xrn_object(self.driver.slab_api.root_auth, \
+                iotlab_xrn = iotlab_xrn_object(self.driver.iotlab_api.root_auth, \
                                                     node['hostname'])
-                rspec_node['component_id'] = slab_xrn.urn
+                rspec_node['component_id'] = iotlab_xrn.urn
                 rspec_node['component_name'] = node['hostname']
                 rspec_node['component_manager_id'] = \
-                                hrn_to_urn(self.driver.slab_api.root_auth, \
+                                hrn_to_urn(self.driver.iotlab_api.root_auth, \
                                 'authority+sa')
 
-                # Senslab's nodes are federated : there is only one authority
-                # for all Senslab sites, registered in SFA.
+                # Iotlab's nodes are federated : there is only one authority
+                # for all Iotlab sites, registered in SFA.
                 # Removing the part including the site
                 # in authority_id SA 27/07/12
                 rspec_node['authority_id'] = rspec_node['component_manager_id']
@@ -221,15 +221,15 @@ class SlabAggregate:
                     rspec_node['boot_state'] = "Reserved"
                 rspec_node['exclusive'] = 'true'
                 rspec_node['hardware_types'] = [HardwareType({'name': \
-                                                'slab-node'})]
+                                                'iotlab-node'})]
 
 
-                location = SlabLocation({'country':'France', 'site': \
+                location = IotlabLocation({'country':'France', 'site': \
                                             node['site']})
                 rspec_node['location'] = location
 
 
-                position = SlabPosition()
+                position = IotlabPosition()
                 for field in position :
                     try:
                         position[field] = node[field]
@@ -281,9 +281,9 @@ class SlabAggregate:
         #if slice_record:
             #lease_filter.update({'name': slice_record['name']})
 
-        #leases = self.driver.slab_api.GetLeases(lease_filter)
-        leases = self.driver.slab_api.GetLeases()
-        grain = self.driver.slab_api.GetLeaseGranularity()
+        #leases = self.driver.iotlab_api.GetLeases(lease_filter)
+        leases = self.driver.iotlab_api.GetLeases()
+        grain = self.driver.iotlab_api.GetLeaseGranularity()
         site_ids = []
         rspec_leases = []
         for lease in leases:
@@ -292,14 +292,14 @@ class SlabAggregate:
                 rspec_lease = Lease()
                 rspec_lease['lease_id'] = lease['lease_id']
                 #site = node['site_id']
-                slab_xrn = slab_xrn_object(self.driver.slab_api.root_auth, node)
-                rspec_lease['component_id'] = slab_xrn.urn
+                iotlab_xrn = iotlab_xrn_object(self.driver.iotlab_api.root_auth, node)
+                rspec_lease['component_id'] = iotlab_xrn.urn
                 #rspec_lease['component_id'] = hostname_to_urn(self.driver.hrn,\
                                         #site, node['hostname'])
                 try:
                     rspec_lease['slice_id'] = lease['slice_id']
                 except KeyError:
-                    #No info on the slice used in slab_xp table
+                    #No info on the slice used in iotlab_xp table
                     pass
                 rspec_lease['start_time'] = lease['t_from']
                 rspec_lease['duration'] = (lease['t_until'] - lease['t_from']) \
@@ -316,7 +316,7 @@ class SlabAggregate:
         rspec = None
         version_manager = VersionManager()
         version = version_manager.get_version(version)
-        logger.debug("SlabAggregate \t get_rspec ***version %s \
+        logger.debug("IotlabAggregate \t get_rspec ***version %s \
                     version.type %s  version.version %s options %s \r\n" \
                     %(version,version.type,version.version,options))
 
@@ -329,7 +329,7 @@ class SlabAggregate:
                                                 version.version, 'manifest')
 
         slices, slivers = self.get_slice_and_slivers(slice_xrn, login)
-        #at this point sliver may be empty if no senslab job
+        #at this point sliver may be empty if no iotlab job
         #is running for this user/slice.
         rspec = RSpec(version=rspec_version, user_options=options)
 
@@ -339,7 +339,7 @@ class SlabAggregate:
                 #datetime_to_string(utcparse(slice['expires']))
          # add sliver defaults
         #nodes, links = self.get_nodes(slice, slivers)
-        logger.debug("\r\n \r\n SlabAggregate \tget_rspec *** \
+        logger.debug("\r\n \r\n IotlabAggregate \tget_rspec *** \
                                         slice_xrn %s slices  %s\r\n \r\n"\
                                             %(slice_xrn, slices))
 
@@ -356,7 +356,7 @@ class SlabAggregate:
         #if not options.get('list_leases') or options.get('list_leases')
         #and options['list_leases'] != 'leases':
             nodes = self.get_nodes(slices, slivers)
-            logger.debug("\r\n \r\n SlabAggregate \ lease_option %s \
+            logger.debug("\r\n \r\n IotlabAggregate \ lease_option %s \
                                         get rspec  ******* nodes %s"\
                                             %(lease_option, nodes[0]))
 
@@ -384,7 +384,7 @@ class SlabAggregate:
             default_sliver = slivers.get('default_sliver', [])
             if default_sliver:
                 #default_sliver_attribs = default_sliver.get('tags', [])
-                logger.debug("SlabAggregate \tget_rspec **** \
+                logger.debug("IotlabAggregate \tget_rspec **** \
                         default_sliver%s \r\n" %(default_sliver))
                 for attrib in default_sliver:
                     rspec.version.add_default_sliver_attribute(attrib, \
@@ -394,6 +394,6 @@ class SlabAggregate:
             leases = self.get_all_leases()
             rspec.version.add_leases(leases)
 
-        #logger.debug("SlabAggregate \tget_rspec ******* rspec_toxml %s \r\n"\
+        #logger.debug("IotlabAggregate \tget_rspec ******* rspec_toxml %s \r\n"\
                                             #%(rspec.toxml()))
         return rspec.toxml()