autopep8
[sfa.git] / sfa / dummy / dummyaggregate.py
index c5b4d10..dc8384f 100644 (file)
@@ -22,6 +22,7 @@ from sfa.dummy.dummyxrn import DummyXrn, hostname_to_urn, hrn_to_dummy_slicename
 from sfa.storage.model import SliverAllocation
 import time
 
+
 class DummyAggregate:
 
     def __init__(self, driver):
@@ -42,24 +43,27 @@ class DummyAggregate:
         if not slices:
             return (slice, slivers)
         slice = slices[0]
-        
-        # sort slivers by node id 
+
+        # sort slivers by node id
         slice_nodes = []
         if 'node_ids' in slice.keys():
-            slice_nodes = self.driver.shell.GetNodes({'node_ids': slice['node_ids']}) 
+            slice_nodes = self.driver.shell.GetNodes(
+                {'node_ids': slice['node_ids']})
         for node in slice_nodes:
-            slivers[node['node_id']] = node  
+            slivers[node['node_id']] = node
 
         return (slice, slivers)
 
     def get_nodes(self, options=None):
-        if options is None: options={}
+        if options is None:
+            options = {}
         filter = {}
         nodes = self.driver.shell.GetNodes(filter)
         return nodes
 
     def get_slivers(self, urns, options=None):
-        if options is None: options={}
+        if options is None:
+            options = {}
         slice_names = set()
         slice_ids = set()
         node_ids = []
@@ -88,7 +92,8 @@ class DummyAggregate:
         if not slices:
             return []
         slice = slices[0]
-        slice['hrn'] = DummyXrn(auth=self.driver.hrn, slicename=slice['slice_name']).hrn
+        slice['hrn'] = DummyXrn(auth=self.driver.hrn,
+                                slicename=slice['slice_name']).hrn
 
         # get sliver users
         users = []
@@ -111,13 +116,15 @@ class DummyAggregate:
             users_list.append(user)
 
         if node_ids:
-            node_ids = [node_id for node_id in node_ids if node_id in slice['node_ids']]
+            node_ids = [
+                node_id for node_id in node_ids if node_id in slice['node_ids']]
             slice['node_ids'] = node_ids
         nodes_dict = self.get_slice_nodes(slice, options)
         slivers = []
         for node in nodes_dict.values():
             node.update(slice)
-            sliver_hrn = '%s.%s-%s' % (self.driver.hrn, slice['slice_id'], node['node_id'])
+            sliver_hrn = '%s.%s-%s' % (self.driver.hrn,
+                                       slice['slice_id'], node['node_id'])
             node['sliver_id'] = Xrn(sliver_hrn, type='sliver').urn
             node['urn'] = node['sliver_id']
             node['services_user'] = users
@@ -125,20 +132,25 @@ class DummyAggregate:
         return slivers
 
     def node_to_rspec_node(self, node, options=None):
-        if options is None: options={}
+        if options is None:
+            options = {}
         rspec_node = NodeElement()
-        site=self.driver.testbedInfo
-        rspec_node['component_id'] = hostname_to_urn(self.driver.hrn, site['name'], node['hostname'])
+        site = self.driver.testbedInfo
+        rspec_node['component_id'] = hostname_to_urn(
+            self.driver.hrn, site['name'], node['hostname'])
         rspec_node['component_name'] = node['hostname']
-        rspec_node['component_manager_id'] = Xrn(self.driver.hrn, 'authority+cm').get_urn()
-        rspec_node['authority_id'] = hrn_to_urn(DummyXrn.site_hrn(self.driver.hrn, site['name']), 'authority+sa')
-        #distinguish between Shared and Reservable nodes
+        rspec_node['component_manager_id'] = Xrn(
+            self.driver.hrn, 'authority+cm').get_urn()
+        rspec_node['authority_id'] = hrn_to_urn(DummyXrn.site_hrn(
+            self.driver.hrn, site['name']), 'authority+sa')
+        # distinguish between Shared and Reservable nodes
         rspec_node['exclusive'] = 'false'
 
         rspec_node['hardware_types'] = [HardwareType({'name': 'dummy-pc'}),
                                         HardwareType({'name': 'pc'})]
         if site['longitude'] and site['latitude']:
-            location = Location({'longitude': site['longitude'], 'latitude': site['latitude'], 'country': 'unknown'})
+            location = Location({'longitude': site['longitude'], 'latitude': site[
+                                'latitude'], 'country': 'unknown'})
             rspec_node['location'] = location
         return rspec_node
 
@@ -147,27 +159,30 @@ class DummyAggregate:
         rspec_node['expires'] = datetime_to_string(utcparse(sliver['expires']))
         # add sliver info
         rspec_sliver = Sliver({'sliver_id': sliver['urn'],
-                         'name': sliver['slice_name'],
-                         'type': 'dummy-vserver',
-                         'tags': []})
+                               'name': sliver['slice_name'],
+                               'type': 'dummy-vserver',
+                               'tags': []})
         rspec_node['sliver_id'] = rspec_sliver['sliver_id']
         if sliver['urn'] in sliver_allocations:
-            rspec_node['client_id'] = sliver_allocations[sliver['urn']].client_id
+            rspec_node['client_id'] = sliver_allocations[
+                sliver['urn']].client_id
             if sliver_allocations[sliver['urn']].component_id:
-                rspec_node['component_id'] = sliver_allocations[sliver['urn']].component_id
+                rspec_node['component_id'] = sliver_allocations[
+                    sliver['urn']].component_id
         rspec_node['slivers'] = [rspec_sliver]
 
         # slivers always provide the ssh service
         login = Login({'authentication': 'ssh-keys',
                        'hostname': sliver['hostname'],
-                       'port':'22',
+                       'port': '22',
                        'username': sliver['slice_name'],
                        'login': sliver['slice_name']
-                      })
+                       })
         return rspec_node
 
     def get_slice_nodes(self, slice, options=None):
-        if options is None: options={}
+        if options is None:
+            options = {}
         nodes_dict = {}
         filter = {}
         if slice and slice.get('node_ids'):
@@ -180,15 +195,16 @@ class DummyAggregate:
             nodes_dict[node['node_id']] = node
         return nodes_dict
 
-    def rspec_node_to_geni_sliver(self, rspec_node, sliver_allocations = None):
-        if sliver_allocations is None: sliver_allocations={}
+    def rspec_node_to_geni_sliver(self, rspec_node, sliver_allocations=None):
+        if sliver_allocations is None:
+            sliver_allocations = {}
         if rspec_node['sliver_id'] in sliver_allocations:
             # set sliver allocation and operational status
             sliver_allocation = sliver_allocations[rspec_node['sliver_id']]
             if sliver_allocation:
                 allocation_status = sliver_allocation.allocation_state
                 if allocation_status == 'geni_allocated':
-                    op_status =  'geni_pending_allocation'
+                    op_status = 'geni_pending_allocation'
                 elif allocation_status == 'geni_provisioned':
                     op_status = 'geni_ready'
                 else:
@@ -201,22 +217,24 @@ class DummyAggregate:
         # required fields
         geni_sliver = {'geni_sliver_urn': rspec_node['sliver_id'],
                        'geni_expires': rspec_node['expires'],
-                       'geni_allocation_status' : allocation_status,
+                       'geni_allocation_status': allocation_status,
                        'geni_operational_status': op_status,
                        'geni_error': '',
                        }
         return geni_sliver
 
-    def list_resources(self, version = None, options=None):
-        if options is None: options={}
+    def list_resources(self, version=None, options=None):
+        if options is None:
+            options = {}
 
         version_manager = VersionManager()
         version = version_manager.get_version(version)
-        rspec_version = version_manager._get_version(version.type, version.version, 'ad')
+        rspec_version = version_manager._get_version(
+            version.type, version.version, 'ad')
         rspec = RSpec(version=rspec_version, user_options=options)
 
         # get nodes
-        nodes  = self.get_nodes(options)
+        nodes = self.get_nodes(options)
         nodes_dict = {}
         for node in nodes:
             nodes_dict[node['node_id']] = node
@@ -231,10 +249,12 @@ class DummyAggregate:
         return rspec.toxml()
 
     def describe(self, urns, version=None, options=None):
-        if options is None: options={}
+        if options is None:
+            options = {}
         version_manager = VersionManager()
         version = version_manager.get_version(version)
-        rspec_version = version_manager._get_version(version.type, version.version, 'manifest')
+        rspec_version = version_manager._get_version(
+            version.type, version.version, 'manifest')
         rspec = RSpec(version=rspec_version, user_options=options)
 
         # get slivers
@@ -250,11 +270,13 @@ class DummyAggregate:
         geni_urn = urns[0]
         sliver_ids = [sliver['sliver_id'] for sliver in slivers]
         constraint = SliverAllocation.sliver_id.in_(sliver_ids)
-        sliver_allocations = self.driver.api.dbsession().query(SliverAllocation).filter(constraint)
+        sliver_allocations = self.driver.api.dbsession().query(
+            SliverAllocation).filter(constraint)
         sliver_allocation_dict = {}
         for sliver_allocation in sliver_allocations:
             geni_urn = sliver_allocation.slice_urn
-            sliver_allocation_dict[sliver_allocation.sliver_id] = sliver_allocation
+            sliver_allocation_dict[
+                sliver_allocation.sliver_id] = sliver_allocation
 
         # add slivers
         nodes_dict = {}
@@ -262,13 +284,14 @@ class DummyAggregate:
             nodes_dict[sliver['node_id']] = sliver
         rspec_nodes = []
         for sliver in slivers:
-            rspec_node = self.sliver_to_rspec_node(sliver, sliver_allocation_dict)
+            rspec_node = self.sliver_to_rspec_node(
+                sliver, sliver_allocation_dict)
             rspec_nodes.append(rspec_node)
-            geni_sliver = self.rspec_node_to_geni_sliver(rspec_node, sliver_allocation_dict)
+            geni_sliver = self.rspec_node_to_geni_sliver(
+                rspec_node, sliver_allocation_dict)
             geni_slivers.append(geni_sliver)
         rspec.version.add_nodes(rspec_nodes)
 
         return {'geni_urn': geni_urn,
                 'geni_rspec': rspec.toxml(),
                 'geni_slivers': geni_slivers}
-