Hi
I am having issues trying to create a play that will setup a Windows EC2
instance and then install software once it is up. For linux instances I do
the following to create a new instance on the localhost and then run the
other roles on the new instance once it is ready.
---
- name: create new aws ec2 instance
hosts: localhost
become: False
vars_files:
- group_vars/tag_Application_alfred-linux.yml
- group_vars/tag_Environment_dev.yml
roles:
- common/aws-create-instance
- name: setup newly created instances
hosts: "{{ hostvars['localhost']['new_ec2_hosts_string'] }}"
roles:
- common/stash-user-setup
- jdk/install-linux
- maven/install-linux
- alfred/linux-setup
When trying the same thing for my Windows hosts Ansible fails to run a play
on the localhost with the following error.
(py27)[appuser@jdbrd2 treasury-ansible]$ ansible-playbook test.yml --ask-
vault-pass
Vault password:
PLAY [localhost]
***************************************************************
TASK [setup]
*******************************************************************
fatal: [localhost]: UNREACHABLE! => {"changed": false, "msg": "ssl:
HTTPSConnectionPool(host='127.0.0.1', port=5986): Max retries exceeded with
url: /wsman (Caused by
NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection
object at 0x7f6743985ad0>: Failed to establish a new connection: [Errno
111] Connection refused',))", "unreachable": true}
to retry, use: --limit @test.retry
PLAY RECAP
*********************************************************************
localhost : ok=0 changed=0 unreachable=1 failed=0
I believe it is because one of the vars_files that are being pulled in
contains the following variables;
# Ansible Connection details
ansible_user: User@domain
ansible_password: "{{ vault_alfred_windows_account_password }}"
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
ansible_winrm_transport: ntlm
I cannot seem to override the ansible_connection: winrm to ssh or smart
when running the root play. Does anyone know of a way to run a whole roles
entirely on the localhost and overridin the ansible_connection: winrm just
for that local host. I have tried the following;
- Setting ansible_connection: smart in the host_vars/localhost.yml file
- Setting connection: smart or ssh after defining hosts: localhost in
the root play
- Setting the variable ansible_connecton: ssh or ansible_connection:
smart in the vars: section after pulling in the vars_files
--
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/61ef3899-6b5b-4857-b71d-c42f708ce7ba%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.