+import time
from types import StringTypes
from collections import defaultdict
from sfa.rspecs.rspec import RSpec
from sfa.planetlab.vlink import VLink
from sfa.planetlab.topology import Topology
-from sfa.planetlab.plxrn import PlXrn, hrn_to_pl_slicename
+from sfa.planetlab.plxrn import PlXrn, hrn_to_pl_slicename, xrn_to_hostname
from sfa.storage.model import SliverAllocation
from sfa.storage.alchemy import dbsession
nodes = self.driver.shell.GetNodes(slice['node_ids'], ['node_id', 'hostname', 'interface_ids'])
current_slivers = [node['hostname'] for node in nodes]
- requested_slivers = []
- tags = []
- for node in slivers:
- hostname = None
- if node.get('component_name'):
- hostname = node.get('component_name').strip()
- elif node.get('component_id'):
- hostname = xrn_to_hostname(node.get('component_id').strip())
- if node.get('client_id'):
- tags.append({'slicename': slice['name'],
- 'tagname': 'client_id',
- 'value': node['client_id'],
- 'node': hostname})
- if hostname:
- requested_slivers.append(hostname)
-
# remove nodes not in rspec
deleted_nodes = list(set(current_slivers).difference(slivers.keys()))