I see. I agree that doing math on strings is somewhat questionable. I'll check out version_compare. Thanks Matt.
On Tuesday, May 24, 2016 at 11:02:15 AM UTC-7, Matt Martz wrote: > > The less than operator is documented at > http://jinja.pocoo.org/docs/dev/templates/#comparisons > > Although, trying to use mathematical operations on string values isn't > exactly always straight forward. > > You might get better results from the `version_compare` filter such as: > > when: server_num|version_compare('100', 'lt') > > See > http://docs.ansible.com/ansible/playbooks_filters.html#version-comparison-filters > > On Tue, May 24, 2016 at 12:56 PM, Robert F <[email protected] > <javascript:>> wrote: > >> Yea, it's weird. Sometimes "<" works for me and sometimes it doesn't. I >> couldn't find this operator documented in the Jinja2 or Ansible docs and I >> don't recall where I first learned it so I figured maybe it's an invalid >> operator. I put a debug statement right before the line where I'm >> referencing server_num and it said it was set as I expected it to be but >> the statement still failed. >> >> On Tuesday, May 24, 2016 at 10:29:13 AM UTC-7, Robert F wrote: >>> >>> I'm setting an Ansible fact like this: >>> >>> set_fact: server_num={{ ansible_hostname[-2:] }} >>> >>> server_num can take these values: >>> >>> '00' >>> '01' >>> '02' >>> '03' >>> '04' >>> ad infinitum >>> >>> If I want a conditional that will evaluate to True for all server >>> numbers less than a particular server number 'n' I'd like to be able to do >>> this: >>> >>> when: server_num < 'n' >>> >>> However, this throws the error "error while evaluating conditional: >>> server_num < 'n' >>> >>> I could do this but clearly it doesn't scale: >>> >>> when: server_num == '00' or server_num == '01' or ... or server_num >>> == 'n-1' >>> >>> Is there a more succinct way to do this? I can't seem to find a Jinja2 >>> "less than" operator. >>> >>> Thanks. >>> >> -- >> 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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/a41571c0-9e9c-42c3-a6ed-b5abebc02732%40googlegroups.com >> >> <https://groups.google.com/d/msgid/ansible-project/a41571c0-9e9c-42c3-a6ed-b5abebc02732%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Matt Martz > @sivel > sivel.net > -- 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/d030c7d4-f213-49d8-99ae-46c79a2e779b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
