From e9704b389b6dfabd38bafb64a6befb499db59ff9 Mon Sep 17 00:00:00 2001 From: aperigault Date: Wed, 18 Jan 2017 11:52:51 +0100 Subject: [PATCH] vmware_guest: Fix windows joindomain customization (#20303) --- lib/ansible/modules/cloud/vmware/vmware_guest.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/cloud/vmware/vmware_guest.py b/lib/ansible/modules/cloud/vmware/vmware_guest.py index 4a1d316e98a..099f6b7b9da 100644 --- a/lib/ansible/modules/cloud/vmware/vmware_guest.py +++ b/lib/ansible/modules/cloud/vmware/vmware_guest.py @@ -1062,10 +1062,15 @@ class PyVmomiHelper(object): ident.userData.orgName = str(self.params['customization']['productid']) if 'joindomain' in self.params['customization']: - # TODO: Escalate if domainAdmin and domainPassword are not provided + if 'domainadmin' not in self.params['customization'] or 'domainadminpassword' not in self.params['customization']: + self.module.fail_json(msg="'domainadmin' and 'domainadminpassword' entries are mandatory in 'customization' section to use joindomain feature") + ident.identification.domainAdmin = str(self.params['customization'].get('domainadmin')) - ident.identification.domainAdminPassword = str(self.params['customization'].get('domainadminpassword')) ident.identification.joinDomain = str(self.params['customization'].get('joindomain')) + ident.identification.domainAdminPassword = vim.vm.customization.Password() + ident.identification.domainAdminPassword.value = str(self.params['customization'].get('domainadminpassword')) + ident.identification.domainAdminPassword.plainText = True + elif 'joinworkgroup' in self.params['customization']: ident.identification.joinWorkgroup = str(self.params['customization'].get('joinworkgroup'))