X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fplanetlab%2Fplaggregate.py;h=325ca180fbfca1e7f12d93c19c15824b63164c33;hb=32659abc546ba8fd6672d9a41e7eb0fba0a9b2bd;hp=8095291dd9569ffda0d61ba18080732303c18104;hpb=04a3f20dc71bf8b3f96b1e3172623aa346a638a7;p=sfa.git diff --git a/sfa/planetlab/plaggregate.py b/sfa/planetlab/plaggregate.py index 8095291d..325ca180 100644 --- a/sfa/planetlab/plaggregate.py +++ b/sfa/planetlab/plaggregate.py @@ -272,8 +272,21 @@ class PlAggregate: # add site/interface info to nodes. # assumes that sites, interfaces and tags have already been prepared. if site['longitude'] and site['latitude']: - location = Location({'longitude': site['longitude'], 'latitude': site[ - 'latitude'], 'country': 'unknown'}) + location_dict = { + 'longitude': site['longitude'], + 'latitude': site['latitude'], + } + for extra in ('country', 'city'): + try: + tts = self.driver.shell.GetSiteTags({ + 'site_id' : site['site_id'], + 'tagname' : extra, + }) + location_dict[extra] = tts[0]['value'] + except: + logger.log_exc('extra = {}'.format(extra)) + location_dict[extra] = 'unknown' + location = Location(location_dict) rspec_node['location'] = location # Granularity granularity = Granularity({'grain': grain}) @@ -479,10 +492,11 @@ class PlAggregate: node_tags = self.get_node_tags({'node_tag_id': tag_ids}) pl_initscripts = self.get_pl_initscripts() # convert nodes to rspec nodes + grain = self.driver.shell.GetLeaseGranularity() rspec_nodes = [] for node in nodes: rspec_node = self.node_to_rspec_node( - node, sites, interfaces, node_tags, pl_initscripts) + node, sites, interfaces, node_tags, pl_initscripts, grain) rspec_nodes.append(rspec_node) rspec.version.add_nodes(rspec_nodes)