Initial commit
Change-Id: I82738f63c49d10385183c6e626239cd15618d58b
diff --git "a/\173\173 cookiecutter._env_name \175\175/init.yml" "b/\173\173 cookiecutter._env_name \175\175/init.yml"
new file mode 100644
index 0000000..89db66f
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/init.yml"
@@ -0,0 +1,55 @@
+{# 'infra_config_classes' list object is dynamically generated from 'roles' to add on the cfg node #}
+{%- set infra_config_classes = [] %}
+{# 'global_metadata' is a global collection of objects shared between nodes #}
+{%- set global_metadata = {} %}
+{%- set common_roles = ['_linux_network_interface', '_metadata_process', '_overrides'] %}
+
+parameters:
+ _param:
+ _esc: $
+ reclass:
+ storage:
+ node:
+ {%- for inventory_node_name, node in nodes.items()|sort %}
+ {%- set node_name = inventory_node_name.split('.')[0] %}
+ {{ node['reclass_storage_name'] }}:
+
+ {#- 'local_metadata' is to collect the data from different roles in a single place inside the node #}
+ {%- set local_metadata = {} %}
+ {#- 'params' dict object is dynamically generated from 'roles' to add on the node #}
+ {%- set params = {} %}
+
+ {%- macro register_metaparam(param_name, role_name) %}
+ {#- Add the <role_name> into the list attached to <param_name> #}
+ {#- to control that the <param_name> is not spreaded across incompatible roles #}
+ {%- set _ = local_metadata.update({param_name: local_metadata.get(param_name, []) + [role_name]}) %}
+ {%- endmacro %}
+
+ {%- macro set_param(param_name, param_value) %}
+ {#- Set a parameter for '_param' dict for the node #}
+ {%- set _ = params.update({param_name: param_value}) %}
+ {%- endmacro %}
+
+ classes:
+ {#- Default roles are added to each node #}
+ {#- 'overrides' must be the very last role for each node #}
+ {%- for role in node.get('roles', []) + common_roles %}
+ {%- include ("{# roles #}/" + role) %}
+ {%- endfor %}
+
+ {%- if params %}
+ params:
+ {%- for param_name, param in params.items() %}
+ {{ param_name }}: {{ param }}
+ {%- endfor %}
+ {%- endif %}
+ name: {{ node_name }}
+ domain: ${_param:cluster_domain}
+ {%- endfor %}
+
+classes:
+# Enable root and *ALL* users access
+- system.openssh.server.team.all
+{%- for infra_config_class in infra_config_classes %}
+- {{ infra_config_class }}
+{%- endfor %}