diff --git a/lib/ansible/modules/network/nxos/nxos_ntp.py b/lib/ansible/modules/network/nxos/nxos_ntp.py index 796cb8170ac..adb2ceed6e5 100644 --- a/lib/ansible/modules/network/nxos/nxos_ntp.py +++ b/lib/ansible/modules/network/nxos/nxos_ntp.py @@ -180,52 +180,56 @@ def get_ntp_source(module): def get_ntp_peer(module): command = 'show run | inc ntp.(server|peer)' ntp_peer_list = [] - ntp = execute_show_command( + response = execute_show_command( command, module, command_type='cli_show_ascii') - if ntp: - ntp = ntp[0] - ntp_regex = ( - ".*ntp\s(server\s(?P
\S+)|peer\s(?P\S+))" - "\s*((?Pprefer)\s*)?(use-vrf\s(?P\S+)\s*)?" - "(key\s(?P\d+))?.*" + if response: + if isinstance(response, list): + ntp = response[0] + else: + ntp = response + if ntp: + ntp_regex = ( + ".*ntp\s(server\s(?P
\S+)|peer\s(?P\S+))" + "\s*((?Pprefer)\s*)?(use-vrf\s(?P\S+)\s*)?" + "(key\s(?P\d+))?.*" ) - split_ntp = ntp.splitlines() - for peer_line in split_ntp: - ntp_peer = {} - try: - peer_address = None - vrf_name = None - prefer = None - key_id = None - match_ntp = re.match(ntp_regex, peer_line, re.DOTALL) - group_ntp = match_ntp.groupdict() - - address = group_ntp["address"] - peer_address = group_ntp['peer_address'] - prefer = group_ntp['prefer'] - vrf_name = group_ntp['vrf_name'] - key_id = group_ntp['key_id'] - - if prefer is not None: - prefer = 'enabled' - else: - prefer = 'disabled' - - if address is not None: - peer_type = 'server' - elif peer_address is not None: - peer_type = 'peer' - address = peer_address - - args = dict(peer_type=peer_type, address=address, prefer=prefer, - vrf_name=vrf_name, key_id=key_id) - - ntp_peer = dict((k, v) for k, v in args.items()) - ntp_peer_list.append(ntp_peer) - except AttributeError: - ntp_peer_list = [] + split_ntp = ntp.splitlines() + for peer_line in split_ntp: + ntp_peer = {} + try: + peer_address = None + vrf_name = None + prefer = None + key_id = None + match_ntp = re.match(ntp_regex, peer_line, re.DOTALL) + group_ntp = match_ntp.groupdict() + + address = group_ntp["address"] + peer_address = group_ntp['peer_address'] + prefer = group_ntp['prefer'] + vrf_name = group_ntp['vrf_name'] + key_id = group_ntp['key_id'] + + if prefer is not None: + prefer = 'enabled' + else: + prefer = 'disabled' + + if address is not None: + peer_type = 'server' + elif peer_address is not None: + peer_type = 'peer' + address = peer_address + + args = dict(peer_type=peer_type, address=address, prefer=prefer, + vrf_name=vrf_name, key_id=key_id) + + ntp_peer = dict((k, v) for k, v in args.items()) + ntp_peer_list.append(ntp_peer) + except AttributeError: + ntp_peer_list = [] return ntp_peer_list @@ -424,4 +428,3 @@ def main(): from ansible.module_utils.basic import * if __name__ == '__main__': main() -