I have installed the latest version of ansible by cloning the source:

sandman(maf):~:667:$ ansible --version
ansible 2.0.0 (devel 05f6e76407) last updated 2015/09/19 12:16:52 (GMT -400)
  lib/ansible/modules/core: (detached HEAD 59afecace4) last updated 
2015/09/19 12:16:58 (GMT -400)
  lib/ansible/modules/extras: (detached HEAD dee690d7f4) last updated 
2015/09/19 12:17:02 (GMT -400)
  config file = 
  configured module search path = None

I am running Python 2.6.6 with Debian squeeze.

Running ansible the first time gives me:

sandman(maf):~:661:$ ansible all -m ping
mmm | FAILED! => {
    "failed": true, 
    "msg": "ERROR! using -c ssh on certain older ssh versions may not 
support ControlPersist, set ANSIBLE_SSH_ARGS=\"\" (or ssh_args in 
[ssh_connection] section of the config file) before running again"
}

I update my Inventory file as below:

mmm ansible_connection=ssh ansible_ssh_host=maestro.knocout.com 
ansible_ssh_port=22 ansible_ssh_user=maf ansible_ssh_args=\"\"

I get the same error message running ansible again:

sandman(maf):~:655:$ ansible all -vvv -m ping
No config file found; using defaults
<maestro.knocout.com> ESTABLISH SSH CONNECTION FOR USER: maf
<maestro.knocout.com> EXEC ssh -C -tt -q -o ControlMaster=auto -o 
ControlPersist=60s -o 
ControlPath="/home/maf/.ansible/cp/ansible-ssh-%h-%p-%r" -o Port=22 -o 
KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o ConnectTimeout=10 maestro.knocout.com 
(umask 22 && mkdir -p 
"$HOME/.ansible/tmp/ansible-tmp-1442679825.67-6473289374010" && echo 
"$HOME/.ansible/tmp/ansible-tmp-1442679825.67-6473289374010")
mmm | FAILED! => {
    "failed": true, 
    "msg": "ERROR! using -c ssh on certain older ssh versions may not 
support ControlPersist, set ANSIBLE_SSH_ARGS=\"\" (or ssh_args in 
[ssh_connection] section of the config file) before running again"
}

The Inventory file is certainly being accessed as it is picking up the host 
alias and other information but it is not clearing the ansible_ssh_args.

I get the same error when the Inventory file is as below:

mmm ansible_connection=ssh ansible_ssh_host=maestro.knocout.com 
ansible_ssh_port=22 ansible_ssh_user=maf ansible_ssh_args=""

When I specify some other value for ansible_ssh_args in the Inventory file, 
I get the following error:

mmm ansible_connection=ssh ansible_ssh_host=maestro.knocout.com 
ansible_ssh_port=22 ansible_ssh_user=maf 
ansible_ssh_args="ControlPersist=60s"

sandman(maf):~:657:$ ansible all -vvv -m ping
No config file found; using defaults
<maestro.knocout.com> ESTABLISH SSH CONNECTION FOR USER: maf
<maestro.knocout.com> EXEC ssh -C -tt -q ControlPersist=60s -o Port=22 -o 
KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o ConnectTimeout=10 maestro.knocout.com 
(umask 22 && mkdir -p 
"$HOME/.ansible/tmp/ansible-tmp-1442680096.76-134194356604434" && echo 
"$HOME/.ansible/tmp/ansible-tmp-1442680096.76-134194356604434")
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/home/maf/opt/ansible/lib/ansible/executor/process/worker.py", line 
122, in run
    executor_result = TaskExecutor(host, task, job_vars, new_play_context, 
self._new_stdin, self._loader, shared_loader_obj).run()
  File "/home/maf/opt/ansible/lib/ansible/executor/task_executor.py", line 
120, in run
    res = self._execute()
  File "/home/maf/opt/ansible/lib/ansible/executor/task_executor.py", line 
341, in _execute
    result = self._handler.run(task_vars=variables)
  File "/home/maf/opt/ansible/lib/ansible/plugins/action/normal.py", line 
26, in run
    results = self._execute_module(tmp=tmp, task_vars=task_vars)
  File "/home/maf/opt/ansible/lib/ansible/plugins/action/__init__.py", line 
357, in _execute_module
    tmp = self._make_tmp_path()
  File "/home/maf/opt/ansible/lib/ansible/plugins/action/__init__.py", line 
173, in _make_tmp_path
    result = self._low_level_execute_command(cmd, None, sudoable=False)
  File "/home/maf/opt/ansible/lib/ansible/plugins/action/__init__.py", line 
463, in _low_level_execute_command
    rc, stdin, stdout, stderr = self._connection.exec_command(cmd, tmp, 
in_data=in_data, sudoable=sudoable)
  File "/home/maf/opt/ansible/lib/ansible/plugins/connection/ssh.py", line 
318, in exec_command
    raise e
TypeError: execv() arg 2 must contain only strings

mmm | FAILED! => {
    "failed": true, 
    "stdout": ""
}

Any suggestions on what I might do to fix the problem?

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/c60b860c-edf5-4192-ac92-19011ad40103%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to