diff options
author | Vincenzo Maffione <v.maffione@gmail.com> | 2017-06-15 14:04:08 +0000 |
---|---|---|
committer | Vincenzo Maffione <v.maffione@gmail.com> | 2017-06-15 14:04:08 +0000 |
commit | f804a189255d30d8367731d5f6b1382876aed891 (patch) | |
tree | 62faeab8bb79a73ba499597154ce5abadbab75eb /rumba/prototypes | |
parent | c345d1b54f8e78d7c6e457b62e6b925a4daf6190 (diff) | |
parent | e36189f8ba98d8a1b254a8dd300f59d5c12a9430 (diff) | |
download | rumba-f804a189255d30d8367731d5f6b1382876aed891.tar.gz rumba-f804a189255d30d8367731d5f6b1382876aed891.zip |
Merge branch 'policies' into 'master'
Add per-node policy management
See merge request !44
Diffstat (limited to 'rumba/prototypes')
-rw-r--r-- | rumba/prototypes/irati.py | 15 | ||||
-rw-r--r-- | rumba/prototypes/irati_templates.py | 4 |
2 files changed, 12 insertions, 7 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: diff --git a/rumba/prototypes/irati_templates.py b/rumba/prototypes/irati_templates.py index b8d9788..2a5c0f0 100644 --- a/rumba/prototypes/irati_templates.py +++ b/rumba/prototypes/irati_templates.py @@ -238,7 +238,7 @@ def ps_set(d, k, v, parms): if d[k]["name"] == v and "parameters" in d[k]: cur_names = [p["name"] for p in d[k]["parameters"]] for p in parms: - name, value = p.split('=') + name, value = p if name in cur_names: for i in range(len(d[k]["parameters"])): if d[k]["parameters"][i]["name"] == name: @@ -249,7 +249,7 @@ def ps_set(d, k, v, parms): elif len(parms) > 0: d[k]["parameters"] = [ - {'name': p.split('=')[0], 'value': p.split('=')[1]} + {'name': p[0], 'value': p[1]} for p in parms] d[k]["name"] = v |