Ansible 1.9.4 localhost ansible_python_interpreter breaks playbook run

I have a playbook and I want to change python path from default /user/bin/python to /user/local/bin/python(on MAC book and brew installed latest 2.7.11 on /user/local/bin).

I setup the hosts file and add a localhost entry and set ansible_python_interpreter there but after that, I can see my python path got changed but playbook is not parsing my python module “ov_server” any more. why is that?

Also, how can I keep my PYTHONPATH environment when doing ansible playbook? I can see my sys.path don’t include my PYTHONPATH anymore when executing ansible. It put some ansible directory in sys.path. I’m not sure if it’s MAC homebrew ansible installation thing or this is something I can control in Ansible.

++++++play book+++++++++

  • name : Create Server Profiles
    ov_server:
    oneview_host: “{{ oneview }}”
    username: “{{ ov_username }}”
    password: “{{ ov_password }}”
    server_template: “{{ ov_template }}”
    name: “{{ inventory_hostname }}”
    #server_hardware: “{{ server_hardware }}” Optional - if ommited, select automatically
    delegate_to: localhost

++++++++++Host file++++++++

[local]
localhost ansible_python_interpreter=/usr/local/bin/python

hongjun-mac-mini:oneview-web-farm hongjun$ ansible-playbook -i ./test-env/hosts ov_site.yml -vvv --step

PLAY [webservers] *************************************************************
Perform task: hp-oneview-server | Create Server Profiles (y/n/c): y

Perform task: hp-oneview-server | Create Server Profiles (y/n/c): ************
REMOTE_MODULE ov_server name=demo-web1 server_template=hj-10g-2nics oneview_host=10.16.160.10 password=VALUE_HIDDEN username=Administrator
EXEC [‘/bin/sh’, ‘-c’, ‘mkdir -p $HOME/.ansible/tmp/ansible-tmp-1455927226.24-75561180686835 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1455927226.24-75561180686835 && echo $HOME/.ansible/tmp/ansible-tmp-1455927226.24-75561180686835’]
PUT /var/folders/2x/qq644rfs5yj4mpp23f8pzf4c0000gn/T/tmpYGvCV4 TO /Users/hongjun/.ansible/tmp/ansible-tmp-1455927226.24-75561180686835/ov_server
EXEC [‘/bin/sh’, ‘-c’, u’LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/local/bin/python /Users/hongjun/.ansible/tmp/ansible-tmp-1455927226.24-75561180686835/ov_server; rm -rf /Users/hongjun/.ansible/tmp/ansible-tmp-1455927226.24-75561180686835/ >/dev/null 2>&1’]
failed: [demo-web1 → localhost] => {“failed”: true}

FATAL: all hosts have already failed – aborting

PLAY RECAP ********************************************************************
to retry, use: --limit @/Users/hongjun/ov_site.retry

demo-web1 : ok=0 changed=0 unreachable=0 failed=1

Thanks
Hongjun