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.