From: Tony Mack Date: Thu, 18 Oct 2012 21:06:36 +0000 (-0400) Subject: merge X-Git-Tag: sfa-3.0-0~112 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=7c97b4323a2ee8c49cf250eb39a36c7609f2b468;hp=3acb26e0ac5bc5de68effe62d0878ba674e40369 merge --- diff --git a/sfa/managers/aggregate_manager.py b/sfa/managers/aggregate_manager.py index af7f18f3..bd26a45c 100644 --- a/sfa/managers/aggregate_manager.py +++ b/sfa/managers/aggregate_manager.py @@ -1,4 +1,4 @@ -import soctet +import socket from sfa.rspecs.version_manager import VersionManager from sfa.util.version import version_core from sfa.util.xrn import Xrn @@ -12,7 +12,7 @@ class AggregateManager: # 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 = [] @@ -22,7 +22,6 @@ class AggregateManager: 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, } @@ -63,6 +62,7 @@ class AggregateManager: }], } version.update(version_generic) + version.update(self.rspec_versions()) testbed_version = self.driver.aggregate_version() version.update(testbed_version) return version diff --git a/sfa/planetlab/plaggregate.py b/sfa/planetlab/plaggregate.py index e66b4140..ece53ba0 100644 --- a/sfa/planetlab/plaggregate.py +++ b/sfa/planetlab/plaggregate.py @@ -167,17 +167,14 @@ class PlAggregate: 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 @@ -198,7 +195,6 @@ class PlAggregate: 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): @@ -354,7 +350,7 @@ class PlAggregate: 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) @@ -376,7 +372,13 @@ class PlAggregate: 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 diff --git a/sfa/server/sfaapi.py b/sfa/server/sfaapi.py index 80bb7cd0..ae547419 100644 --- a/sfa/server/sfaapi.py +++ b/sfa/server/sfaapi.py @@ -234,7 +234,7 @@ class SfaApi (XmlrpcApi): def prepare_response_am(self, result): version = version_core() response = { - 'geni_api': version['geni_api'], + 'geni_api': 3, 'code': self.get_geni_code(result), 'value': self.get_geni_value(result), 'output': self.get_geni_output(result),