On 28. juli 2016 23:19, Ryan Groten wrote:
I'm trying to create a task that verifies a variable is a valid IP address.
The task should pass if it is valid, and fail if it's not.
I feel like I'm close, but not quite there with this:
- name: Verify IP address
assert: { that: "{{ requested_ip | ipaddr }}" }
always_run: yes
This task fails properly when the value is not an IP (ipaddr filter returns
False), but if it IS an IP it tries to evaluate the ip itself and throws an
error (ipaddr returns the IP itself):
TASK [Verify IP address] **************************** fatal: [localhost]:
FAILED! => {"failed": true, "msg": "The conditional check '10.1.4.232 !=
False' failed. The error was: error while evaluating conditional
(10.1.4.232 != False): float object has no element 4"}
Any suggestions?
According to the documentation, "that" has the same format as "when".
Since you shouldn't use curly brackets in "when" , you should probably
not use them in "that".
Try
assert: { that: requested_ip | ipaddr }
and see if that fixes it.
--
Kai Stian Olstad
--
You received this message because you are subscribed to the Google Groups "Ansible
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/a58cb31d-9e20-a851-59df-97eb078087b1%40olstad.com.
For more options, visit https://groups.google.com/d/optout.