# 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})
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)