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 On Fri, Oct 15, 2021, 00:01 Abhijot Singh Kathuria <[email protected]> wrote: > 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! > > > > > -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/b85f424e-9808-482e-853f-40e95b6d687cn%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/b85f424e-9808-482e-853f-40e95b6d687cn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAFtje5MG_Jz8wYAu%2BfaipFcGW4Hn_59vwFGvw-KSN_g3fdwrkg%40mail.gmail.com.
