From f43d97da8a021f46d43f1a517ea96bb84cb67a96 Mon Sep 17 00:00:00 2001 From: Chris Archibald Date: Tue, 19 Mar 2019 08:11:38 -0700 Subject: [PATCH] Fix old version of gather facts from crashing (#53696) * Revert "changes to clusteR" This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80. * Revert "changes to clusteR" This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80. * Revert "Revert "changes to clusteR"" This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a. * Revert "Revert "changes to clusteR"" This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a. * Revert "documentation changes" This reverts commit 02c369d0414fdff492d90865c903bdade3174261. * Fix gather facts * Revert "Revert "documentation changes"" This reverts commit 576a9b03ded440ab26da54ad0ecb95d83bf39e43. --- .../storage/netapp/na_ontap_gather_facts.py | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/lib/ansible/modules/storage/netapp/na_ontap_gather_facts.py b/lib/ansible/modules/storage/netapp/na_ontap_gather_facts.py index 7a0b850324..782ff59def 100644 --- a/lib/ansible/modules/storage/netapp/na_ontap_gather_facts.py +++ b/lib/ansible/modules/storage/netapp/na_ontap_gather_facts.py @@ -102,7 +102,7 @@ class NetAppONTAPGatherFacts(object): try: results = self.server.invoke_successfully(api_call, enable_tunneling=False) ontapi_version = results.get_child_content('minor-version') - return ontapi_version + return ontapi_version if ontapi_version is not None else '0' except netapp_utils.zapi.NaApiError as e: self.module.fail_json(msg="Error calling API %s: %s" % (api_call.to_string(), to_native(e)), exception=traceback.format_exc()) @@ -182,36 +182,42 @@ class NetAppONTAPGatherFacts(object): results = netapp_utils.get_cserver(self.server) cserver = netapp_utils.setup_na_ontap_zapi(module=self.module, vserver=results) netapp_utils.ems_log_event("na_ontap_gather_facts", cserver) + + self.netapp_info['ontap_version'] = self.ontapi() + + if self.netapp_info['ontap_version'] >= '140': + self.netapp_info['nvme_info'] = self.get_generic_get_iter( + 'nvme-get-iter', + attribute='nvme-target-service-info', + field='vserver', + query={'max-records': '1024'} + ) + self.netapp_info['nvme_interface_info'] = self.get_generic_get_iter( + 'nvme-interface-get-iter', + attribute='nvme-interface-info', + field='vserver', + query={'max-records': '1024'} + ) + self.netapp_info['nvme_subsystem_info'] = self.get_generic_get_iter( + 'nvme-subsystem-get-iter', + attribute='nvme-subsystem-info', + field='subsystem', + query={'max-records': '1024'} + ) + self.netapp_info['nvme_namespace_info'] = self.get_generic_get_iter( + 'nvme-namespace-get-iter', + attribute='nvme-namespace-info', + field='path', + query={'max-records': '1024'} + ) + self.netapp_info['net_interface_info'] = self.get_generic_get_iter( 'net-interface-get-iter', attribute='net-interface-info', field='interface-name', query={'max-records': '1024'} ) - self.netapp_info['nvme_info'] = self.get_generic_get_iter( - 'nvme-get-iter', - attribute='nvme-target-service-info', - field='vserver', - query={'max-records': '1024'} - ) - self.netapp_info['nvme_interface_info'] = self.get_generic_get_iter( - 'nvme-interface-get-iter', - attribute='nvme-interface-info', - field='vserver', - query={'max-records': '1024'} - ) - self.netapp_info['nvme_subsystem_info'] = self.get_generic_get_iter( - 'nvme-subsystem-get-iter', - attribute='nvme-subsystem-info', - field='subsystem', - query={'max-records': '1024'} - ) - self.netapp_info['nvme_namespace_info'] = self.get_generic_get_iter( - 'nvme-namespace-get-iter', - attribute='nvme-namespace-info', - field='path', - query={'max-records': '1024'} - ) + self.netapp_info['net_port_info'] = self.get_generic_get_iter( 'net-port-get-iter', attribute='net-port-info', @@ -285,8 +291,6 @@ class NetAppONTAPGatherFacts(object): query={'max-records': '1024'} ) - self.netapp_info['ontap_version'] = self.ontapi() - return self.netapp_info