That doesn't seem to be an argument vs. making it an inventory variable 
(specifically, a group variable, if you're creating a group of windows 
hosts) -- otherwise how are you distinguishing between your managed systems 
at all? separate inventory files?

setting the hostvar entry doesn't seem to be supported because templating 
is essentially a one-way process.

On Wednesday, 23 March 2016 04:38:48 UTC, Yuri wrote:
>
> Thank you for reply.
>
> > What's wrong with doing it via inventory?
>
> Installed OS in a host varies by timing, so I'm trying to prepare the 
> following two playbooks.
> playbook_windows.yml : "ansible_connection: winrm" in vars section 
> playbook_linux.yml : "ansible_connection: ssh" in vars section
> This is why I don't want to doing it via inventory.
>
> > I suppose you could try explicitly setting 
> > hostvars.['localhost'].ansible_connection_method="local"
> > as a workaround.
>
> I tried the following playbook, but  invalid variable name error occuerd.
> -------
> - name: test
>   hosts: remote_windows_host
>   vars:
>     ansible_ssh_user: XXX
>     ansible_ssh_pass: XXX
>     ansible_ssh_port: XXXX
>     ansible_connection: winrm
>     hostvars['localhost'].ansible_connection: local      <-- added
>   tasks:
>     - name: setup(remote windows host)
>       setup:
>     - name: sleep(local linux host)
>       local_action: command sleep 5
> -------
>
> -------
> ERROR! Invalid variable name in vars specified for Play: 
> hostvars['localhost'].ansible_connection is not a valid variable name
> -------
>
> Could you tell me what is wrong?
>
>
> 2016年3月23日水曜日 1時28分21秒 UTC+9 Uditha Desilva:
>
>> What's wrong with doing it via inventory?
>>
>> I suppose you could try explicitly setting 
>>
>> hostvars.['localhost'].ansible_connection_method="local"
>>
>> as a workaround.
>>
>> Uditha.
>>
>> On Tuesday, 22 March 2016 15:06:09 UTC, Yuri wrote:
>>>
>>> Hello,
>>>
>>> (Ansible version:2.0.0)
>>>
>>> I tried to execute the following playbook.
>>>
>>> -------
>>> - name: test
>>>   hosts: remote_windows_host
>>>   vars:
>>>     ansible_ssh_user: XXX
>>>     ansible_ssh_pass: XXX
>>>     ansible_ssh_port: XXXX
>>>     ansible_connection: winrm
>>>   tasks:
>>>     - name: setup(remote windows host)
>>>       setup:
>>>     - name: sleep(local linux host)
>>>       local_action: command sleep 5
>>> -------
>>>
>>> Then, the task "sleep(local linux host)" was failed.
>>> The results in debug mode is as follows.
>>>
>>> ----------
>>> TASK [sleep(local linux host)] 
>>> *************************************************
>>> task path: XXXXXXXXXXXXXXXXXXXXXXXXXX.yml:12
>>> <localhost> ESTABLISH WINRM CONNECTION FOR USER: XXX on PORT XXXX TO 
>>> localhost
>>> fatal: [XX.XX.XXX.XXX]: FAILED! => {"failed": true, "msg": "ERROR! ssl: 
>>> 500 WinRMTransport. Tunnel connection failed: 403 Forbidden"} 
>>> ----------
>>>
>>> Even though using local_action module, why does it try to connect to 
>>> localhost with winrm?
>>> How can I do so that LOCAL CONNECTION is used? (And not defining vars in 
>>> inventory file.)
>>>
>>>
>>> Thanks a lot for any help.
>>>
>>>
>>>

-- 
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/093ac830-7935-4e1d-a29d-d24bdc85a854%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to