-import soctet
+import socket
from sfa.rspecs.version_manager import VersionManager
from sfa.util.version import version_core
from sfa.util.xrn import Xrn
# essentially a union of the core version, the generic version (this code) and
# whatever the driver needs to expose
- def _rspec_versions(self):
+ def rspec_versions(self):
version_manager = VersionManager()
ad_rspec_versions = []
request_rspec_versions = []
if rspec_version.content_type in ['*', 'request']:
request_rspec_versions.append(rspec_version.to_dict())
return {
- 'testbed':self.testbed_name(),
'geni_request_rspec_versions': request_rspec_versions,
'geni_ad_rspec_versions': ad_rspec_versions,
}
}],
}
version.update(version_generic)
+ version.update(self.rspec_versions())
testbed_version = self.driver.aggregate_version()
version.update(testbed_version)
return version
interface['client_id'] = "%s:%s" % (node['node_id'], if_id)
rspec_node['interfaces'].append(interface)
if_count+=1
-
tags = [PLTag(node_tags[tag_id]) for tag_id in node['node_tag_ids']]
rspec_node['tags'] = tags
return rspec_node
- def sliver_to_rspec_node(self, sliver):
+ def sliver_to_rspec_node(self, sliver, sites, interfaces, node_tags, pl_initscripts):
# get the granularity in second for the reservation system
grain = self.driver.shell.GetLeaseGranularity()
- if sliver['slice_ids_whitelist'] and sliver['slice_id'] not in sliver['slice_ids_whitelist']:
- return # (was: continue)
- rspec_node = self.get_rspec_node(node, sites_dict, interfaces, node_tags, pl_initscripts, grain)
+ rspec_node = self.get_rspec_node(node, sites, interfaces, node_tags, pl_initscripts, grain)
# xxx how to retrieve site['login_base']
rspec_node['expires'] = datetime_to_string(utcparse(slice[0]['expires']))
# remove interfaces from manifest
login = Login({'authentication': 'ssh-keys', 'hostname': node['hostname'], 'port':'22', 'username': sliver['name']})
service = Services({'login': login})
rspec_node['services'] = [service]
- rspec_nodes.append(rspec_node)
return rspec_node
def get_slice_tags(self, slices):
for sliver in slivers:
if sliver['slice_ids_whitelist'] and sliver['slice_id'] not in sliver['slice_ids_whitelist']:
continue
- rspec_node = self.sliver_to_rspec_node(sites, interfaces, node_tags)
+ rspec_node = self.sliver_to_rspec_node(sliver, sites, interfaces, node_tags, pl_initscripts)
geni_sliver = self.rspec_node_to_geni_sliver(rspec_node)
rspec_nodes.append(rspec_node)
geni_slivers.append(geni_sliver)
rspec.version.add_leases(leases)
+<<<<<<< HEAD:sfa/planetlab/plaggregate.py
+ return {'geni_urn': urns[0],
+ 'geni_rspec': rspec.toxml(),
+ 'geni_slivers': geni_slivers}
+=======
return {'geni_urn': urns[0],
'geni_rspec': rspec.toxml(),
'geni_slivers': geni_slivers}
+>>>>>>> 3acb26e0ac5bc5de68effe62d0878ba674e40369:sfa/planetlab/plaggregate.py