diff --git a/plugins/cliconf/iosxr.py b/plugins/cliconf/iosxr.py index 48d08fc8..761afc60 100644 --- a/plugins/cliconf/iosxr.py +++ b/plugins/cliconf/iosxr.py @@ -196,6 +196,7 @@ from ansible.module_utils._text import to_text from ansible.module_utils.common._collections_compat import Mapping from ansible.module_utils.connection import ConnectionError +from ansible.plugins.action import display from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.config import ( NetworkConfig, dumps, @@ -248,13 +249,17 @@ def get_device_info(self): device_info["network_os_model"] = match.group(1) break - if "network_os_model" not in device_info: + try: data = self.get_command_output("show inventory") + except AnsibleConnectionFailure: + data = "" + + if "network_os_model" not in device_info: match = re.search(r"DESCR: \"[Cc]isco (\S+ \S+)", data, re.M) if match: device_info["network_os_model"] = match.group(1) - data = self.get_command_output("show inventory") + match = re.search(r"SN: (\S+)\n\nNAME:", data, re.M) if match: device_info["network_os_serialnum"] = match.group(1)