Merge remote-tracking branch 'origin/geni-v3' into geni-v3
authorGit User <support@planet-lab.org>
Thu, 14 Nov 2013 07:34:43 +0000 (02:34 -0500)
committerGit User <support@planet-lab.org>
Thu, 14 Nov 2013 07:34:43 +0000 (02:34 -0500)
1  2 
sfa/planetlab/plslices.py

@@@ -10,7 -10,6 +10,6 @@@ from sfa.planetlab.vlink import VLin
  from sfa.planetlab.topology import Topology
  from sfa.planetlab.plxrn import PlXrn, hrn_to_pl_slicename, xrn_to_hostname, top_auth, hash_loginbase
  from sfa.storage.model import SliverAllocation
- from sfa.storage.alchemy import dbsession
  
  MAXINT =  2L**31-1
  
@@@ -272,7 -271,7 +271,7 @@@ class PlSlices
                                        component_id=component_id,
                                        slice_urn = slice_urn, 
                                        allocation_state='geni_allocated')      
-             record.sync()
+             record.sync(self.driver.api.dbsession())
          return resulting_nodes
  
      def free_egre_key(self):
          for link in requested_links:
              # get the ip address of the first node in the link
              ifname1 = Xrn(link['interface1']['component_id']).get_leaf()
 -            ifname_parts = ifname1.split(':')
 -            node_raw = ifname_parts[0]
 -            device = None
 -            if len(ifname_parts) > 1:
 -                device = ifname_parts[1] 
 -            node_id = int(node_raw.replace('node', ''))
 -            node = nodes_dict[node_id]
 -            if1 = interfaces_dict[node['interface_ids'][0]]
 -            ipaddr = if1['ip']
 -            topo_rspec = VLink.get_topo_rspec(link, ipaddr)
 -            # set topo_rspec tag
 -            slice_tags.append({'name': 'topo_rspec', 'value': str([topo_rspec]), 'node_id': node_id})
 -            # set vini_topo tag
 -            slice_tags.append({'name': 'vini_topo', 'value': 'manual', 'node_id': node_id})
 -            #self.driver.shell.AddSliceTag(slice['name'], 'topo_rspec', str([topo_rspec]), node_id) 
 +
 +            if ifname1:
 +                ifname_parts = ifname1.split(':')
 +                node_raw = ifname_parts[0]
 +                device = None
 +                if len(ifname_parts) > 1:
 +                    device = ifname_parts[1] 
 +                node_id = int(node_raw.replace('node', ''))
 +                node = nodes_dict[node_id]
 +                if1 = interfaces_dict[node['interface_ids'][0]]
 +                ipaddr = if1['ip']
 +                topo_rspec = VLink.get_topo_rspec(link, ipaddr)
 +                # set topo_rspec tag
 +                slice_tags.append({'name': 'topo_rspec', 'value': str([topo_rspec]), 'node_id': node_id})
 +                # set vini_topo tag
 +                slice_tags.append({'name': 'vini_topo', 'value': 'manual', 'node_id': node_id})
 +                #self.driver.shell.AddSliceTag(slice['name'], 'topo_rspec', str([topo_rspec]), node_id) 
  
          self.verify_slice_attributes(slice, slice_tags, {'append': True}, admin=True)