From 5613d140405e628ec2d36252673b9829356f1e96 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Sun, 30 Oct 2011 13:36:52 -0400 Subject: [PATCH] prepare expected sites, interfaces and node tags in prepare_nodes --- sfa/plc/aggregate.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sfa/plc/aggregate.py b/sfa/plc/aggregate.py index 35123092..f210705b 100644 --- a/sfa/plc/aggregate.py +++ b/sfa/plc/aggregate.py @@ -32,8 +32,19 @@ class Aggregate: def prepare_nodes(self, filter={}, force=False): if not self.nodes or force: - filter.update({'peer_id': None}) - for node in self.api.plshell.GetNodes(self.api.plauth, filter): + filter.update({'peer_id': None}) + nodes = self.api.plshell.GetNodes(self.api.plauth, filter) + site_ids = [] + interface_ids = [] + tag_ids = [] + for node in nodes: + site_ids.append(node['site_id']) + interface_ids.extend(node['interface_ids']) + tag_ids.extend(node['node_tag_ids']) + self.prepare_sites({'site_id': site_ids}) + self.prepare_interfaces({'interface_id': interface_ids}) + self.prepare_node_tags({'node_tag_id': tag_ids}) + for node in nodes: # add site/interface info to nodes. # assumes that sites, interfaces and tags have already been prepared. site = self.sites[node['site_id']] @@ -117,7 +128,7 @@ class Aggregate: self.prepare_node_tags({'node_id': slice['node_ids']}) self.prepare_nodes({'node_id': slice['node_ids']}) self.prepare_links({'slice_id': slice['slice_id']}) - self.prepare_pl_initscripts({'slice_id': slice['slice_id']}) + self.prepare_pl_initscripts() self.prepared = True def get_rspec(self, slice_xrn=None, version = None): -- 2.43.0