pyATS | Genie Release Note

v22.3 | Website | Contact Us

pyATS Release Highlights

With this release we are adding Apple M1 support! Yes, that's right. Thanks to the hard work of the team, pyATS packages can now be used on M1 machines! Please note that M1 is based on ARM64 architecture. We have observed that some third party packages used by pyATS that are hosted on pypi.org may not have an ARM64 build even though the package implies its build as arm64. When this happens, you may see the error "incompatible architecture (have 'x86_64', need 'arm64e')". In this case, we recommend to recompile the package using the following pip commands:

pip download <package>
pip install <package>*.tar.gz
  • Alpine builder container has been updated to 3.15

  • ReporterServer has been modified to only generate reporter.log when running in verbose mode with -v

  • Debug logging appears in Aetest when using the -v option

Unicon Changelog | pyATS Changelog | Genie Changelog

Genie Release Highlights

Genie

  • 2 new clean stages to help keep your devices squeaky clean. Total clean stages is 44
  • 104 new parsers for all your parsing needs! Grand total parsers is now 4320
  • 103 new APIs to help you get even more done! Gran total APIs is 2325
  • 6 new triggers to help make your development time even shorter! Total triggers is 443
  • Verifications and models stay strong at 691 and 32 respectively
  • Common Cleanup sections will now run even if triggers fail to load
  • The trigger datafile schema has been updated to include 'timeout' with 'max_time' and 'interval' options
  • Filetransferutils has been enhanced to handle more error patterns including custom ones defined in the testbed

pyATS Clean

  • Added CleanAPI class which allows users to quickly call and run clean stages

    • Usage is .api.clean.()
  • Clean JSON data will now be loaded and stored to speed up subsequent accesses

  • Fixed a version comparison bug in VerifyRunningImage Clean stage

  • Device recovery grub menu logic has been modified to support more device types

  • Two new clean stages for Cheetah OS: 'erase_ap_configuration' and 'prime_ap'

Unicon

  • Plugin log message now includes module info to clarify class overrides
  • Plugin override warnings have been changed to debug logs
  • Fixed a bug in in reload service when a reply was passed in for HA devices

Unicon Plugins

  • Non-backwards compatible change: removed dell OS and os6 platform, replaced with dnos6 OS and dnos10 OS
  • Added broken pipe to the reload connection_closed pattern
  • Fix switchover service transitions for iosxe/cat8k plugin
  • pid_tokens.csv file now included during packaging
  • Add support for switch and rp keyword arguments for bash console service for IOSXE

Dependency/Impact

Python 3.6 was EOL on December 23rd 2021. Support for pyATS on Python 3.6 will end after April 2022. You will need to move to Python versions 3.7, 3.8, 3.9, or 3.10. (Python 3.8 is default for pyATS installer) by end of April, 2022.

What's Next?

Abstract token enhancements are on the way! These will bring about much more controls on which parts of Genie should be used with your device. New tokens include data such as operating system version, model group, product ID/model number and more. Expect to see these changes in a month or two.