Hi,
I'm trying to compare 2 versions of firmware using the version_compare 
filter. When i use a variable like this it seems like it doesn't evaluate 
the function correctly

debug: msg="Firmware needs to be updated"
when: "{{ firmware_version_on_server.stdout | version_compare('{{ 
firmware_version_desired }}','<') }}"

However when i specify the actual version version it works
when: "{{ firmware_version_on_server.stdout | 
version_compare('2.31.5050','<') }}"

I added the strict=True syntax in the first case and i get the following 
error 
when: "{{ firmware_version_on_server.stdout | version_compare('{{ 
firmware_version_desired }}','<',strict=True) }}"
 fatal: [xxxxxxx] => Version comparison: invalid version number 
'{{firmware_version_desired}}'

Does the version_compare function not accept variables or is there some 
kind of string to integer conversion involved? 

firmware_version_on_server.stdout is a registered variable obtained from a 
shell command

- name: Get firmware version of card
  shell: "ethtool -i eth4 | grep firmware-version | awk '{print $NF}'"
  register: firmware_version_on_server


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].
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/76886694-39f3-4504-8fe3-2d53e68d8e2c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to