Pkgsrc changes:
===============
* Update dependencies to match requirements.txt
* Adapt to PLIST changes
Upstream changes:
=================
Release 2.1.3
-------------
Features Added:
* Ephemeral config support #707
* Add a srx_cluster_redundancy_group fact. #711
Bugs Fixed:
* ignore_warning fails when single that is first child of . #712
* mode='telnet' did not logout non-cli user #713
* JSONLoadError was thrown when load valid JSON config #717/#718
* Fix XML normalization feature when using NETCONF over console. #719/#720
* Handle differences in |display xml rpc #722
Release 2.1.2
-------------
Bugs Fixed:
* Doc badge was pointing to older version #694
* Fix new-style fact gathering for SRX clusters. #697/#698
* Properly handle SW upgrades on multi-RE and/or multi-chassis
systems when using new-style fact gathering. #700
* Raise JSONLoadError if json config is malformed #706
* Handle ConnectClosedError exception for lock() and unlock() #708
Release 2.1.1
-------------
Bugs Fixed:
* Fix regressions caused by ignore_warning. #691
Release 2.1.0
-------------
Features Added:
* Enhanced fact gathering. Facts are now gathered "on demand."
Additional facts are added.
* The definition of facts and return values are properly documented. #638
* Support for YANG get RPCs. #672
* Add an ignore_warning argument to suppress RpcError exceptions
for warnings. #672/#685
* Enhanced the sw.install() method with basic ISSU and NSSU
support using the issu and nssu
* boolean arguments. #606/#630/#632
* ** NSSU support has not yet been tested and should currently
be considered experimental.
* Provide a master property and a re_name property for Device. #682
* Enhanced reboot() method to take an all_re boolean parameter
which controls if only the connected
* Routing Engine, or all Routing Engines, are rebooted. #613
* Enhanced the warning message produced by the cli() method to
recommend the corresponding
* dev.rpc.<method>() call. #603
* Add support for update parameter to configuration load() method. #681
* Added directory_usage to utils #629/#631/#636
* Adding support for NFX/JDM fact gathering. #652/#659
* Connected property. #664
Bugs Fixed:
* Updated the interface-name glob pattern to correctly match
et-<x>/<y>/<z> interfaces
* in several tables and views. #609
* Take care of special chars on screen during console connection. #610
* Address issue with fact gathering stopping when it encounters
a problem. #615
* Minor typos fixed in RuntimeError exception message and in comments. #621
* Added console_has_banner parameter. #622
* Add CentOS Support to install instructions #623
* Key value is needed in _IsisAdjacencyLogTable #627
* Improved functionality and documentation of Docker build.
#637/#673/#674/#677
* added remote port ID to lldp.yml (OP) #645
* Fix documentation for rollback() #647
* Fix for fact gathering pprint. #660/#661
* update ospf view, add bgp/inventory #665
* Updated doc string for close function #686
* Add Travis builds for Python 3.5 and 3.6 #687
* StartShell.run to take this as None for non returning commands #680
* Modify ignore_warning return value to mimic normal RPC return value. #688
Release 2.0.1
-------------
* StartShell to take timeout (30 second by default) as paramter
* Proper exception handling in case of Console connection #595
* Fix: Config.lock() return exception when normalize is on
* Added microbadge badge for the Docker image #593
* Fix: print dev for Console conn was printing object not Device(....) #591
* Fix: To take care of special chars with StartShell->run function call #589
* Fix: ssh private key file to be considered for scp util #586
* Added Dockerfile to enable automated image builds on project commits #585
Notable changes:
ref. https://github.com/Juniper/py-junos-eznc/releases
* Now PyEZ will support Console (Telnet/Serial) connection apart from SSH
* Python >=3.4 support
* Configuration Tables to Define and Configure Structured Resources
* JSON Config load
For devices >=16.1, user can also load JSON config apart from xml/set/text
* FTP Utility
Option to use FTP utility to transfer files in addition to existing SCP.
* Multi RPC error
If the config being loaded got more then 1 error/warning, PyEZ will
give all error details to the user
* Bug fixes
* dev.cli "invalid command" returned even in case of proper
command. #498#492
* StartShell utility to work on Occam and root users.
* StartShell run function to return Tuple of last_ok & command output
* Many other bug fixes.
Upstream changes:
1.3.1:
* Bugfix: Not to suppress exception under Config util context manager.
1.3.0:
* Feature add: support "private" and "dynamic" database access #301#458.
* Feature enhancements:
- Support for Feature Velocity releases #442
- Multiple RPC support #338#453
- Merged Table/View pull requests from user. #441
- Facts gathering to raise only warning in case of exception #459
* Bugfixes:
- Raise RpcTimeoutError in commit_check #437
- Config load not throwing RpcTimeoutError #443#444
- Prevented AttributeError upon XML comment #448#447
- Facts gathering fix for QFX and other specific software releases #450#463
1.2.3:
* Bugfixes:
- Software upgrade for multi RE and multi VC #429
- single chassis (EX8208 1EA-2RE) software installation was broken.
- Facts gathering on VMx & Qfabric #313
- SCP & SW progress to print proper log messages #422, #421
- TXP facts broken #417
- Prefer explicitly defined ssh_private_key_file to sshconfig #418
* Feature ehnancements:
- Implement context manager for Device #433
- JSON as format option to RPC calls for Junos >= 14.2
- Merged Table/View pull requests from users.
1.2.2:
* Bugfixes:
- Suppress paramiko logger warnings #363
- A few places warnings similar to
No handlers could be found for logger "paramiko.transport"
would be displayed.
- Device password setter did not work #400
- dev.password = 'newpass'
- Facts gather for EX8200 standalone failing #402
- JSON dump of RPC XML failing when contents include XML comment #406
- SCP logger not enabled by default #362
1.2.1:
* Bugfixes:
- Unable to use get() multiple times with Tables
- Add increased timeout value for remote_checksum
- Ability to set options in CfgTable definition
- Domain Fact
- Put RPC inside try block
- Search inherited version of config
- Update support of swver fact for Junos 15.1
1.2.0:
* New features:
* Enhanced exception handling:
* XML Normalization Support:
* OpTables normalization
* Mixed Mode Virtual Chassis Upgrade Support
* Add sync, force_sync, full, detail to Config.commit(),
* Configuration Table Support
* Support for SSH ProxyCommand in SCP
* Set minimum paramiko version to 1.15.2
* Bugfixes:
- Facts
- MX Virtual Chassis
- All physical RE's are now accounted for in facts in the
format Device-RE => 'RE1-RE0'
- Master fact is same format as other VC systems.
- Domain
- Domain lookup now checks configuration first before attempting
to parse /etc/resolv.conf or /var/etc/resolv.conf
- 2RE
- Fixed false positive of 2RE on vc_capable systems
- StartShell root user
- Utils.start_shell now supports the user root
- utils.fs multiple RE support
- Fixed bug affecting multiple RE systems
- OpTables loading from XML files and objects
- OpTables were not properly loading when passing in a XML
file path or lxml object
1.1.2:
* Bugfixes:
- onbox Device()
1.1.1:
* Bugfixes:
- Device _auth_user overwritten after device open.
This was breaking SCP
1.1.0:
* New features:
* Enhanced Exception Handling
* Per execution timeout
* Serialization of Junos facts
* Composite table key support for missing XPATH
* Regex support for View boolean values
* OS Install force-host
* Added display_xml_rpc command
* ncclient proxycommand support
* Added support for pipe (union) operator in Table keys
* Format optional for configuration strings
* Bugfixes:
* JSON Output
- Views that had compound keys failed to dump.
- RPC command output failed to dump.
* FutureWarning
- Config utility would output a FutureWarning
1.0.2:
* Bugfixes:
* XML Templates not properly loading
* Templates without a file extension no longer assumed to be XML
Junos PyEZ is a Python library to remotely manage/automate Junos devices.
Junos PyEZ is designed to provide the same capabilties as a user
would have on the Junos CLI, but in an environment built for
automation tasks. These capabiltieis include, but are not limited
to:
* Remote connectivty and management of Junos devices via NETCONF
* Provide "facts" about the device such as software-version,
serial-number, etc.
* Retrieve "operational" or "run-state" information as Tables/Views
* Retrieve configuration information as Tables/Views
* Make configuration changes in unstructured and structured ways
* Provide common utilities for tasks such as secure copy of files
and software updates