brent saner on 25 May 2016 08:46:43 -0700

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Question for the ansible folk

this is the proper way to perform actions directly on the host running the playbook. you CAN e.g.:

local_action: shell /bin/this_command

and remove the shell: and delegate_to: lines, but I prefer to use delegate_to for ease of readability and standardization across other remote tasks.

and yes, the output is ugly as hell and is fairly nonsensical.

On May 25, 2016 11:40, "Joe Rosato" <> wrote:
Is there a cleaner way to do this? 

This works but makes it look like the playbook is doing something on host1 when it is not. This is part of a larger yaml that runs across a lot of nodes and at the end of the run I want to run a couple of commands on the local host.

Given /etc/ansible/hosts:

I run a playbook with:

 hosts: all
 become: yes
 remote_user: joe
 gather_facts: smart

 (lotta other stuff skipped here)

- name: Run this only on the local host
  run_once: yes
  delegate_to: localhost
  become: no
  shell: /bin/this_command

Output of ansible-playbook:

TASK [Run this only on the local host] *****************************************************
changed: [host1 -> localhost]

PLAY RECAP *********************************************************************
host1 : ok=1 changed=1 unreachable=0 failed=0

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --