Gestion des erreurs python sur Ansible
Salut,
Voila mon probleme j'ai 3 machines, une ansible et deux de test.
L'objectif et de deploiyer un fichier de configuration sur les deux machines test en passant par ansible.
j'ai reussi a le faire tout marche impec, mais j'aimerais gerer les erreurs du fichier python et les afficher lors de la fin du playbook sur la machine ansible.
Les seuls erreurs que j'aimerais gerer pour le moment c'est les erreurs par rapport au changement d'adresse ip sur le fichier de configuration.
Actuellement je modifie le fichier python en dur pour l'appliquer sur les autres machines.
Je lance le python pour verifier que mon adresse que je rentre et bonne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #coding : utf-8
def parse_ip(ip):
ip = ip.split("//")[1].split(":")[0]
nb_sep = 0
tmp = ""
tmp_int = 0
for c in ip:
if c == '.':
nb_sep+=1
try:
tmp_int = int(tmp)
except:
return "format ip inccorect"
if 0>tmp_int or tmp_int > 255:
return "format ip incorrect"
tmp=""
else:
tmp+=c
try:
tmp_int = int(tmp)
except:
exit("format ip inccorect")
if 0>tmp_int or tmp_int > 255:
exit("format ip incorrect")
if nb_sep != 3:
return ("format ip incorrect")
return "format ip ok!" |
Voila le resultat :
Code:
1 2 3 4 5 6 7
| [root@ansible pythontest]# python3 -i parser.py
>>> ip = "ldaps://255.255.255.255:5000"
>>> parse_ip(ip)
'format ip ok!'
>>> ip = "ldaps://255.255.255.256:5000"
>>> parse_ip(ip)
format ip incorrect |
On ma parlé de le faire en parametre, si j'ai bien compris... mais je ne sais pas comment faire :(
PS : Petit question bête > Peut on coder en python sur un playbook ??