Skip to content
Snippets Groups Projects
Commit c65ee01b authored by Attila Farkas's avatar Attila Farkas
Browse files

Move ansible windows attributes to groups

parent 4eb86838
No related branches found
No related tags found
1 merge request!22Resolve "Support Windows boxes"
......@@ -133,6 +133,14 @@ def _create_ansible_commands(device_name, playbook_location, input_definitions,
groups["groups"]["routers"] = router_names
windows_hosts = _find_windows_boxes(input_definitions)
groups["groups"]["windows"] = windows_hosts
if device_name in windows_hosts:
windows_vars = dict()
windows_vars["ansible_connection"] = "\"winrm\""
windows_vars["ansible_user"] = "\"windows\""
windows_vars["ansible_password"] = "\"vagrant\""
windows_vars["ansible_winrm_transport"] = "\"basic\""
windows_vars["ansible_winrm_server_cert_validation"] = "\"ignore\""
groups["groups"]["windows:vars"] = windows_vars
if "groups" in input_definitions:
for group in input_definitions["groups"]:
groups["groups"][group["name"]] = group["nodes"]
......@@ -160,13 +168,7 @@ def _create_ansible_commands(device_name, playbook_location, input_definitions,
extravars["type"] = "dictionary"
extravars["command"] = "extra_vars"
extravars["dictionary"] = dict()
if device_name in windows_hosts:
extravars["dictionary"]["ansible_connection"] = "\"winrm\""
extravars["dictionary"]["ansible_user"] = "\"windows\""
extravars["dictionary"]["ansible_password"] = "\"vagrant\""
extravars["dictionary"]["ansible_winrm_transport"] = "\"basic\""
extravars["dictionary"]["ansible_winrm_server_cert_validation"] = "\"ignore\""
else:
if device_name not in windows_hosts:
extravars["dictionary"]["ansible_python_interpreter"] = "\"/usr/bin/python3\""
commands.append(extravars)
......
......@@ -71,14 +71,29 @@
}
{% endmacro -%}
{# Macro for group dictionaries #}
{% macro group_dict(item, namespace) %}{
{% for key, value in item.items() %}
{% if loop.last %}
"{{ key }}" => {{ value }}
{% else %}
"{{ key }}" => {{ value }},
{% endif %}
{% endfor %}
}{% endmacro -%}
{# Macro for dictionaries #}
{% macro groups(item, namespace) %}
{{ namespace }}.groups = {
{% for key, value in item.groups.items() %}
{% if loop.last %}
"{{ key }}" => {{ value }}
{% if value is mapping %}
"{{ key }}" => {{ group_dict(value, namespace) }}
{% else %}
{% if loop.last %}
"{{ key }}" => {{ value }}
{% else %}
"{{ key }}" => {{ value }},
{% endif %}
{% endif %}
{% endfor %}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment