From b3b65d16b86c43a21d61d77355251021c44c813c Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Tue, 4 Sep 2018 17:03:44 +0530 Subject: [PATCH] Handle special service where package is not available (#45155) There are several services e.g. vmware-fdm, which does not have package name and package description which will raise a error if queried for. Signed-off-by: Abhijeet Kasurde --- .../cloud/vmware/vmware_host_service_facts.py | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/ansible/modules/cloud/vmware/vmware_host_service_facts.py b/lib/ansible/modules/cloud/vmware/vmware_host_service_facts.py index 696cff6a80..d200d5f530 100644 --- a/lib/ansible/modules/cloud/vmware/vmware_host_service_facts.py +++ b/lib/ansible/modules/cloud/vmware/vmware_host_service_facts.py @@ -108,16 +108,18 @@ class VmwareServiceManager(PyVmomi): if host_service_system: services = host_service_system.serviceInfo.service for service in services: - host_service_facts.append(dict(key=service.key, - label=service.label, - required=service.required, - uninstallable=service.uninstallable, - running=service.running, - policy=service.policy, - source_package_name=service.sourcePackage.sourcePackageName, - source_package_desc=service.sourcePackage.description, - ) - ) + host_service_facts.append( + dict( + key=service.key, + label=service.label, + required=service.required, + uninstallable=service.uninstallable, + running=service.running, + policy=service.policy, + source_package_name=service.sourcePackage.sourcePackageName if service.sourcePackage else 'NA', + source_package_desc=service.sourcePackage.description if service.sourcePackage else 'NA', + ) + ) hosts_facts[host.name] = host_service_facts return hosts_facts @@ -133,7 +135,8 @@ def main(): argument_spec=argument_spec, required_one_of=[ ['cluster_name', 'esxi_hostname'], - ] + ], + supports_check_mode=True, ) vmware_host_service_config = VmwareServiceManager(module)