aboutsummaryrefslogtreecommitdiff
path: root/rumba/prototypes/irati.py
diff options
context:
space:
mode:
authorMarco Capitani <m.capitani@nextworks.it>2017-06-13 12:44:04 +0200
committerMarco Capitani <m.capitani@nextworks.it>2017-06-13 12:44:04 +0200
commite36189f8ba98d8a1b254a8dd300f59d5c12a9430 (patch)
treee815229b91e78a13cc96ec7fc3b18015b9544389 /rumba/prototypes/irati.py
parent457977f337a47caddf8788e1d4e1d1736f2a6ccb (diff)
downloadrumba-e36189f8ba98d8a1b254a8dd300f59d5c12a9430.tar.gz
rumba-e36189f8ba98d8a1b254a8dd300f59d5c12a9430.zip
IRATI: added per-node policy support, and revamped policy data model.
additional: + fixed small bug rlated to vhost checking in qemu. + example scripts now correctly use policies.
Diffstat (limited to 'rumba/prototypes/irati.py')
-rw-r--r--rumba/prototypes/irati.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/rumba/prototypes/irati.py b/rumba/prototypes/irati.py
index 42afe3b..c01e413 100644
--- a/rumba/prototypes/irati.py
+++ b/rumba/prototypes/irati.py
@@ -355,11 +355,16 @@ class Experiment(mod.Experiment):
"apName": "%s.%s.IPCP" % (dif.name, node_name),
"apInstance": "1",
"address": 16 + node2id_map[node_name]})
- for path, ps in dif.policies.items():
- # if policy['nodes'] == [] or vmname in policy['nodes']:
- # TODO: manage per-node-policies
- irati_templates.translate_policy(
- difconfs[dif.name][node_name], path, ps, parms=[])
+ policy_dict = node.get_policy(dif).get_policies()
+ for component in policy_dict:
+ for policy_name in policy_dict[component]:
+ params = policy_dict[component][policy_name].items()
+ irati_templates.translate_policy(
+ difconfs[dif.name][node_name],
+ component,
+ policy_name,
+ params
+ )
# Dump the DIF Allocator map
with open(self.conf_dir('da.map'), 'w') as da_map_file: