This works, but it is not 'all in one'
- name: Verify IP address
assert:
that:
- requested_ip | ipaddr
- not ' ' in requested_ip
W dniu czwartek, 19 kwietnia 2018 09:19:38 UTC+2 użytkownik sirkubax
napisał:
>
> I have a case (IP with a space in a string)
>
> vars:
> requested_ip: '1 .2.3.4' # note a space in a string
>
> tasks:
> - name: Verify IP address
> assert: { that: "{{ requested_ip | ipaddr }}" }
> always_run: yes
>
> --------------
> ok: [18.130.41.1] => {
> "changed": false,
> "failed": false,
> "msg": "All assertions passed"
>
>
> W dniu piątek, 29 lipca 2016 17:51:14 UTC+2 użytkownik Ryan Groten napisał:
>>
>> Yep that was it, thanks a lot!
>>
>> On Thursday, 28 July 2016 15:45:29 UTC-6, Kai Stian Olstad wrote:
>>>
>>> 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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/4ac111ef-f885-42cd-8d63-7bc63aabf838%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.