X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fplc%2Faggregate.py;h=2e49dd6ec0d64ace5977cfd6945abdf24be9d7b1;hb=refs%2Fheads%2Frspec_extension;hp=5de3ad84b81a0f4df4f75cdb9bc6ca6bea58d7b1;hpb=b4d3c48e1f55ef03042a03173dcdf8e9ef425937;p=sfa.git diff --git a/sfa/plc/aggregate.py b/sfa/plc/aggregate.py index 5de3ad84..2e49dd6e 100644 --- a/sfa/plc/aggregate.py +++ b/sfa/plc/aggregate.py @@ -14,9 +14,14 @@ class Aggregate: links = {} node_tags = {} prepared=False + #panos new user options variable + user_options = {} - def __init__(self, api): + def __init__(self, api, user_options={}): self.api = api + #panos + self.user_options = user_options + print "[aggregate] options = ",self.user_options def prepare_sites(self, force=False): if not self.sites or force: @@ -71,10 +76,12 @@ class Aggregate: rspec_version = RSpecVersion(version) if rspec_version['type'].lower() == 'protogeni': rspec = PGRSpec() + #panos pass user options to SfaRSpec elif rspec_version['type'].lower() == 'sfa': - rspec = SfaRSpec() + rspec = SfaRSpec("",{},self.user_options) else: - rspec = SfaRSpec() + rspec = SfaRSpec("",{},self.user_options) + rspec.add_nodes(self.nodes.values()) rspec.add_interfaces(self.interfaces.values()) @@ -93,6 +100,7 @@ class Aggregate: sliver = {} sliver['hostname'] = self.nodes[node_id]['hostname'] sliver['tags'] = [] + slivers.append(sliver) for tag in tags: # if tag isn't bound to a node then it applies to all slivers if not tag['node_id']: