Issue ---- Module Failure\nSee stdout/stderr

Skip to first unread message

Abhijot Singh Kathuria

unread,
Oct 14, 2021, 7:01:30 PM10/14/21
to Ansible Project
Hey Guys,

I need some assistance on the below error. I've tried everything but I'm not able to resolve the same.

TASK [Join to Domain] **************************************************************************************************************
task path: /etc/ansible/playbooks/DeployVM/Server2019_Vsphere.yml:46
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: administrator
<localhost> EXEC /bin/sh -c 'echo ~administrator && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/administrator/.ansible/tmp `"&& mkdir "` echo /home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149 `" && echo ansible-tmp-1634251564.5118623-32501-66747911642149="` echo /home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149 `" ) && sleep 0'
Using module file /home/administrator/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/win_domain_membership.ps1
<localhost> PUT /home/administrator/.ansible/tmp/ansible-local-324573ec1oxrx/tmp_rkwbrs9 TO /home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149/AnsiballZ_win_domain_membership.ps1
<localhost> EXEC /bin/sh -c 'chmod u+x /home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149/ /home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149/AnsiballZ_win_domain_membership.ps1 && sleep 0'
<localhost> EXEC /bin/sh -c 'powershell /home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149/AnsiballZ_win_domain_membership.ps1 && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149/ > /dev/null 2>&1 && sleep 0'
fatal: [localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "\u001b[91mParserError: \u001b[0m/home/administrator/.ansible/tmp/ansible-tmp-1634251564.5118623-32501-66747911642149/AnsiballZ_win_domain_membership.ps1:151\n\u001b[96mLine |\n\u001b[96m 151 | \u001b[0m \u001b[96m\u0000\u001b[0m\u0000\u0000\u0000{\"module_entry\": \"IyFwb3dlcnNoZWxsCgojIENvcHlyaWdodDogKGMpIDIwMTc …\n\u001b[96m     | \u001b[91m ~\n\u001b[91m\u001b[96m     | \u001b[91munexpected token '\u0000', expected 'begin', 'process', 'end', or\n\u001b[96m     | \u001b[91m'dynamicparam'.\n\u001b[0m\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}

PLAY RECAP *************************************************************************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0



So technically I'm trying to spin a VM in vSphere and connect that Vm to domain using Ansible and below is what my playbook looks like:

---
- hosts: localhost
  gather_facts: False
  connection: local
  user: remote

##Variables


  vars_files:
    - /etc/ansible/vars/hosts_vars.yml


##TASKS

  tasks:
  - name: Clone the template
    vmware_guest:
      hostname: "{{ vcenter_server }}"
      username: "{{ vcenter_user }}"
      password: "{{ vcenter_pass }}"
      validate_certs: False
      name: ans-dv4-test1
      state: powered-on
      notes: "{{ vars_notes }}"
      template: WinServer2019-Golden-Oct21
      datacenter: "{{ datacenter_name }}"
      folder: New-Deployments
      cluster: "{{ cluster_name }}"
      disk:
        - size_gb: "{{ disk_size | default(60) }}"
          type: thin
          datastore: "HQ_Unity1_Datastore-06"
      networks:
        - name: VM Network
          type: dhcp
          allow_guest_control: True
          wait_for_ip_address: True

      hardware:
          memory_mb: "{{ vm_memory | default(4096) }}"
          num_cpus: "2"

##Conncecting to Domain

  - name: Join to Domain
    ansible.windows.win_domain_membership:
      dns_domain_name: "{{ dxu_domain }}"
      hostname: ans-dv4-test1
      domain_admin_user: "{{ vcenter_user }}"
      domain_admin_password: "{{vcenter_pass }}"
      domain_ou_path: "{{ ou_path }}"
      state: domain
    register: domain_state

##Reboot the machine after joining to Domain

  - name: Reboot after Domain Join
    ansible.windows.win_reboot:
    when: domain_state.reboot_required





The inventory file just has "localhost" defined in it.

Can someone please advise!


 

Jorge Rúa

unread,
Oct 14, 2021, 7:11:40 PM10/14/21
to ansible...@googlegroups.com
Obviously, you would need to run the join domain task against the newly created VM. To do that you should use delegate_to. 

I would change your inventory to all, and then on the vmware related tasks use delegate_to: localhost since what is happening behind the scenes are just soap/rest api calls against vcenter.

You should also pay attention to the conection plugin. 

Hope that helps

--
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 ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/b85f424e-9808-482e-853f-40e95b6d687cn%40googlegroups.com.

Abhijot Singh Kathuria

unread,
Oct 14, 2021, 7:22:40 PM10/14/21
to ansible...@googlegroups.com
Hey Jorge,

Thanks for your reply.

I tried making the inventory to all and adding delegate_to: localhost. No luck here.

Still getting the same error message.

Regards,
Abhijot Singh

Graduate Student, CIS
Talent Ambassador, Talent Gateway
Community Organizer, Civic Leadership Board
 


You received this message because you are subscribed to a topic in the Google Groups "Ansible Project" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ansible-project/OmZpCybs9WQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAFtje5MG_Jz8wYAu%2BfaipFcGW4Hn_59vwFGvw-KSN_g3fdwrkg%40mail.gmail.com.

Dick Visser

unread,
Oct 15, 2021, 12:29:08 AM10/15/21
to ansible...@googlegroups.com
The advice given should work. 
Please share your exact playbook once again. 
 

--
Sent from a mobile device - please excuse the brevity, spelling and punctuation.

Abhijot Singh Kathuria

unread,
Oct 15, 2021, 12:33:16 AM10/15/21
to ansible...@googlegroups.com
Hey Dick,

Here is the playbook:

image.png




Dick Visser

unread,
Oct 15, 2021, 4:44:15 AM10/15/21
to ansible...@googlegroups.com
The VMware task should run local and the domain task should run against the host. 

Abhijot Singh Kathuria

unread,
Oct 15, 2021, 3:30:25 PM10/15/21
to Ansible Project
Hey Dick,

Changed the localhost for the domain task to the host itself. No help, still getting the same error:

fatal: [localhost -> ans-dv4-test1]: FAILED! => {
    "changed": false,
    "module_stderr": "\u001b[91mParserError: \u001b[0m/home/administrator/.ansible/tmp/ansible-tmp-1634325122.8927026-35811-261246352817343/AnsiballZ_win_domain_membership.ps1:151\n\u001b[96mLine |\n\u001b[96m 151 | \u001b[0m \u001b[96m\u0000\u001b[0m\u0000\u0000\u0000{\"module_entry\": \"IyFwb3dlcnNoZWxsCgojIENvcHlyaWdodDogKGMpIDIwMTc …\n\u001b[96m     | \u001b[91m ~\n\u001b[91m\u001b[96m     | \u001b[91munexpected token '\u0000', expected 'begin', 'process', 'end', or\n\u001b[96m     | \u001b[91m'dynamicparam'.\n\u001b[0m\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}

PLAY RECAP ******************************************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0



Here is the playbook again:

---
- hosts: localhost
  gather_facts: False
  connection: local
  user: remote

##Variables


  vars_files:
    - /etc/ansible/vars/hosts_vars.yml


##TASKS

  tasks:
  - name: Clone the template
    vmware_guest:
      hostname: "{{ vcenter_server }}"
      username: "{{ vcenter_user }}"
      password: "{{ vcenter_pass }}"
      validate_certs: False
      name: "{{ fqdn_new_win_machine }}"
      state: powered-on
      notes: "{{ vars_notes }}"
      template: WinServer2019-Golden-Oct21
      datacenter: "{{ datacenter_name }}"
      folder: New-Deployments
      cluster: "{{ cluster_name }}"
      disk:
        - size_gb: "{{ disk_size | default(60) }}"
          type: thin
          datastore: "HQ_Unity1_Datastore-06"
      networks:
        - name: VM Network
          type: dhcp
          allow_guest_control: True
          wait_for_ip_address: True

      hardware:
          memory_mb: "{{ vm_memory | default(4096) }}"
          num_cpus: "2"
    delegate_to: localhost


##Conncecting to Domain

  - name: Join to Domain
    ansible.windows.win_domain_membership:
      dns_domain_name: "{{ dxu_domain }}"
      hostname: "{{ fqdn_new_win_machine }}"
      domain_admin_user: "{{ vcenter_user }}"
      domain_admin_password: "{{vcenter_pass }}"
      domain_ou_path: "{{ ou_path }}"
      state: domain
    register: domain_state
    delegate_to: "{{ fqdn_new_win_machine }}"

##Reboot the machine after joining to Domain

  - name: Reboot after Domain Join
    ansible.windows.win_reboot:
    when: domain_state.reboot_required




Do you think I should break this playbook into 2 different playbooks? One for VM configuration and other for domain join?

Thanks!

Jorge Rúa

unread,
Oct 15, 2021, 4:27:51 PM10/15/21
to ansible...@googlegroups.com
I guess the issue now is that you are trying to use connection plugin local to the newly created vm, which I assume is a windows machine. Then you should override connection mechanism for those tasks dealing with windows or as you suggested spliting the playbook into two, one dealing with vcenter api and the other for vm setup.

If you never setup ansible with windows before i suggest you using ssh, it's natively supported on newer versions and it doesnt require setting up winrm. 

Cheers,

Reply all
Reply to author
Forward
0 new messages