Hi All
I was running an apt_update task and only wanted the server to reboot when it it saw neither of the two lines. Now, what is happening it only sees the first “test” I put in the when: section and ignores the second string to test. The reason for the two tests is I noticed that Debian and Ubuntu have different lines for when they have nothing to update.
I know Ive done something stupid…
-
name: Run Apt update safe
command: sudo apt_upgrade_safe
register: apt_update
-
name: Reboot Server
#command: sudo reboot
command: echo “test”
when: “‘0 to upgrade, 0 to newly install’ or ‘0 upgraded, 0 newly installed’ not in apt_update.stdout”
register: reboot
I have also tried
“( ‘0 to upgrade, 0 to newly install’ not in ruby_installed_version.stdout) or ( ‘0 upgraded, 0 newly installed’ not in ruby_installed_version.stdout)”
maybe I missed something… or there is a better way to test for this…
This seemed to fix my issue but not sure if this is the way I should do it… any feedback would be lovely
when:
- (‘0 upgraded, 0 newly installed’ not in apt_update.stdout)
- (‘0 to upgrade, 0 to newly install’ not in apt_update.stdout)
seems like you wanted:
when: “( ‘0 to upgrade, 0 to newly install’ not in ruby_installed_version.stdout) and ( ‘0 upgraded, 0 newly installed’ not in ruby_installed_version.stdout)”
making them a list ( -) is an implicit AND.