feat: output return status too

This commit is contained in:
egarette@silique.fr 2025-02-10 09:57:38 +01:00
parent 2ddbab0c71
commit d84adc49dc
49 changed files with 2863 additions and 4 deletions

View file

@ -1,6 +1,6 @@
"""
Silique (https://www.silique.fr)
Copyright (C) 2022-2024
Copyright (C) 2022-2025
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
@ -48,6 +48,8 @@ class RougailOutputAnsible(RougailOutputJson):
def exporter(self) -> None:
super().exporter()
self.json_to_ansible()
# never return code 1, error are in the output data
return True
def manage_errors(self) -> bool:
if not super().manage_errors():

View file

@ -1,6 +1,6 @@
"""
Silique (https://www.silique.fr)
Copyright (C) 2024
Copyright (C) 2024-2025
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the

View file

@ -1,6 +1,6 @@
"""Internationalisation utilities
Silique (https://www.silique.fr)
Copyright (C) 2024
Copyright (C) 2024-2025
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"secret1": "string1",
"secret2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"secret1": "string1",
"secret2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,60 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,74 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,74 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"secret1": "string1",
"secret2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"secret1": "string1",
"secret2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,60 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,74 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,74 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"secret1": null,
"secret2": "value"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"secret1": null,
"secret2": "value"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "no",
"variable1": [],
"variable2": []
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "no",
"variable1": [],
"variable2": []
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": false,
"variable": []
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": false,
"variable": []
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,68 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,68 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,70 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11",
"val11"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11",
"val11"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,64 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,64 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value2"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value2"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,70 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"value1",
"value2"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"value1",
"value2"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"secret1": "string1",
"secret2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"secret1": "string1",
"secret2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,60 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,74 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,74 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,82 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": "string1",
"follower2": "string1"
},
{
"leader": "string2",
"follower1": "string2",
"follower2": "string2"
},
{
"leader": "string3",
"follower1": "string3",
"follower2": "string3"
}
],
"calculate": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,22 @@
{
"_meta": {
"hostvars": {
"localhost": {
"_errors": [
"The following variables are mandatory but have no value:",
" - rougail.secret1 (the first variable)"
]
}
}
},
"all": {
"children": [
"ungrouped"
]
},
"ungrouped": {
"hosts": [
"localhost"
]
}
}

View file

@ -0,0 +1,23 @@
{
"_meta": {
"hostvars": {
"localhost": {
"_errors": [
"The following variables are mandatory but have no value:",
" - rougail.variable1 (a first variable)",
" - rougail.variable2 (a second variable)"
]
}
}
},
"all": {
"children": [
"ungrouped"
]
},
"ungrouped": {
"hosts": [
"localhost"
]
}
}

View file

@ -0,0 +1,22 @@
{
"_meta": {
"hostvars": {
"localhost": {
"_errors": [
"The following variables are mandatory but have no value:",
" - rougail.variable (a variable)"
]
}
}
},
"all": {
"children": [
"ungrouped"
]
},
"ungrouped": {
"hosts": [
"localhost"
]
}
}

View file

@ -0,0 +1,68 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,68 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,70 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11",
"val11"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"val11",
"val11"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,64 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,64 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value2"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": "value2"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,70 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"value1",
"value2"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "value1",
"follower1": "val11",
"follower2": "val21"
},
{
"leader": "value2",
"follower1": "val11",
"follower2": "val21"
}
],
"calculate": [
"value1",
"value2"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -59,7 +59,7 @@ def _test_dictionaries(test_dir, namespace, ext, *, read_write=True, mandatory=F
if do_calc and (mandatory or not read_write):
get_values_for_config(config)
##################################
generated_output = RougailOutput(config, rougailconfig=rougailconfig).run()
generated_output = RougailOutput(config, rougailconfig=rougailconfig).run()[1]
output_file = Path(__file__).parent / 'results' / dir_name / (test_dir.name + "." + ext)
if not output_file.is_file():
if not output_file.parent.is_dir():