CiscoTestAutomation / pyats

Cisco DevNet pyATS Test Framework Bug Tracker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NXOS terminal width

etiedem opened this issue · comments

Something appears to set the terminal width for NXOS devices to 80 which causes output to be line wrapped and even affects the genie parser as things like AS Path are truncated.

Setting init_exec_commands=["term len 0", "term width 500"] doesn't resolve this issue either. Only running device.execute("term width 500") after the CommonSetup corrects the behavior.

You are currently running pyATS version: 22.5
Python: 3.10.4 [64bit]

  Package                      Version
  ---------------------------- -------
  genie                        22.5
  genie.libs.clean             22.5
  genie.libs.conf              22.5
  genie.libs.filetransferutils 22.5
  genie.libs.health            22.5
  genie.libs.ops               22.5
  genie.libs.parser            22.5
  genie.libs.sdk               22.5
  pyats                        22.5
  pyats.aereport               22.5
  pyats.aetest                 22.5
  pyats.async                  22.5
  pyats.connections            22.5
  pyats.datastructures         22.5
  pyats.easypy                 22.5
  pyats.kleenex                22.5
  pyats.log                    22.5
  pyats.reporter               22.5
  pyats.results                22.5
  pyats.tcl                    22.5
  pyats.topology               22.5
  pyats.utils                  22.5
  unicon                       22.5
  unicon.plugins               22.5
  yang.connector               22.5.1

Do you see term width 500 being called when you add it to init_exec_commands?
Can you share the connection log as well as the device.execute output?

It does not run the command when I have it like: init_exec_commands=["term len 0", "term width 500"],.

Terminal length is affected as well even when testing on IOS-XE.

2022-07-09 14:25:06,619: %UNICON-INFO: +++ Unicon plugin iosxe (unicon.plugins.iosxe) +++


2022-07-09 14:25:10,266: %UNICON-INFO: +++ connection to spawn: ssh 1.1.1.1, id: 4472972160 +++

2022-07-09 14:25:10,266: %UNICON-INFO: connection to test
(1.1.1.1) Password:
test#

2022-07-09 14:25:10,926: %UNICON-INFO: +++ initializing handle +++
show ip bgp vpnv4 all neighbors 2.2.2.2 received-routes
BGP table version is 7302986, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.4.26.252/32   2.2.2.2                             0 65010 i
 *>   10.4.26.253/32   2.2.2.2                             0 65010 i
 *>   10.40.0.0/19     2.2.2.2                             0 65010 i
 *>   10.40.32.0/19    2.2.2.2                             0 65010 i
 *>   10.40.64.0/19    2.2.2.2                             0 65010 i
 *>   10.40.96.0/19    2.2.2.2                             0 65010 i
 *>   10.40.128.0/19   2.2.2.2                             0 65010 i
 *>   10.40.160.0/19   2.2.2.2                             0 65010 i
     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.40.192.0/19   2.2.2.2                             0 65010 i
 *>   10.40.224.0/20   2.2.2.2                             0 65010 i
 *>   10.40.240.0/20   2.2.2.2                             0 65010 i
 *>   10.41.0.0/21     2.2.2.2                             0 65010 i
 *>   10.41.8.0/23     2.2.2.2                             0 65010 i
 *>   10.41.10.0/24    2.2.2.2                             0 65010 i
 *>   10.41.11.0/24    2.2.2.2                             0 65010 i
 *>   10.41.12.0/24    2.2.2.2                             0 65010 i
 *>   10.41.13.0/28    2.2.2.2                             0 65010 i
 *>   10.41.13.16/28   2.2.2.2                             0 65010 i
 *>   10.41.13.32/27   2.2.2.2                             0 65010 i
     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.41.13.64/27   2.2.2.2                             0 65010 i
 *>   10.41.13.96/28   2.2.2.2                             0 65010 i
 *>   10.41.13.112/28  2.2.2.2                             0 65010 i
 *>   10.41.13.128/25  2.2.2.2                             0 65010 i
 *>   10.41.14.0/23    2.2.2.2                             0 65010 i
 *>   10.41.16.0/20    2.2.2.2                             0 65010 i
 *>   10.41.32.0/20    2.2.2.2                             0 65010 i
 *>   10.41.48.0/20    2.2.2.2                             0 65010 i
 *>   10.41.64.0/20    2.2.2.2                             0 65010 i
 *>   10.41.80.0/20    2.2.2.2                             0 65010 i
 *>   10.41.96.0/20    2.2.2.2                             0 65010 i

Also putting device.execute setting the terminal length and width does work in the CommonSetup as long as it is after the initial connect.

Hi @etiedem have you tried passing these commands in the testbed yaml?

devices:
  <device_name>:
    os: nxos
    connections:
      <name>:
        init_exec_commands:
            - term length 0
            - term width 500