So I'm new to Ansible, but I've been researching, and I can't find any articles that would explain this issue. I've created a role to install brew cask applications, but it keeps 'failing' while running a command to check if the application is already installed.
Here's the task:
- name: "Check for installed casks (Applications)"
shell: brew cask list | grep {{ item }}
register: installed_applications
with_items: "{{ apps }}"
when: apps is defined
ignore_errors: yes
So, from what I understand, it will run the command with an item from my list of applications, so the example command would be brew cask list | grep keybase
, and then map that to installed_applications
.
But when I run it, I end up seeing all of the applications failing (there not installed). Here's the error in verbose mode:
failed: [localhost] (item=keybase) => {
"changed": true,
"cmd": "brew cask list | grep keybase",
"delta": "0:00:00.792680",
"end": "2017-03-03 19:41:05.500378",
"failed": true,
"invocation": {
"module_args": {
"_raw_params": "brew cask list | grep keybase",
"_uses_shell": true,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"warn": false
},
"module_name": "command"
},
"item": "keybase",
"rc": 1,
"start": "2017-03-03 19:41:04.707698",
"stderr": "",
"stdout": "",
"stdout_lines": [],
"warnings": []
}
If I run the command manually I just get a blank output (as it should), but Ansible should be ignoring errors, right?