Add 'create_inventory_context' command
The command 'create_inventory_context' can be used to dump all the
nodes from reclass inventory, they names from recalss.storage,
and any additional keys from nodes if needed, for example:
$ reclass-create-inventory-context \
-d mcp11-ovs-dpdk.local \
parameters.linux.network.interface \
parameters.linux.storage
diff --git a/reclass_tools/helpers.py b/reclass_tools/helpers.py
index fcfc564..75e3185 100644
--- a/reclass_tools/helpers.py
+++ b/reclass_tools/helpers.py
@@ -11,6 +11,18 @@
return data
+def create_nested_key(data, path=None, value=None):
+ if type(data) is not dict:
+ raise("Use 'dict' object for 'data'")
+ if type(path) is not list:
+ raise("Use 'list' object with key names for 'path'")
+ for key in path[:-1]:
+ if key not in data:
+ data[key] = {}
+ data = data[key]
+ data[path[-1]] = value
+
+
def remove_nested_key(data, path=None):
if type(path) is not list:
raise("Use 'list' object with key names for 'path'")