Release 1.4.2
Summary
This is primarily a maintenance release to provide compatibility with the latest Ansible 2.3.0 release.
New Features
Non-default SSH private key files with the ssh_private_key_file
argument
- Priv ssh key #205
Example:
- name: gather facts
junos_get_facts:
host={{ inventory_hostname }}
user='xxxx'
passwd='Test123'
ssh_private_key_file='/Users/nitinkr/.ssh/id_rsa_vmx'
register: junos
- name: Verify JUNOS version
debug: msg="{{junos.facts.version}}"
where passwd='Test123'
is the passphrase for the ssh private key file. (If passwd
is ommitted, the key is tried with an empty passphrase.)
Support the update
argument for configuration loading with junos_install_config
- "update" action for config load #218
This feature is equivalent to aload update
from the Junos CLI. When theupdate=True
argument is specified for junos_install_config, the complete loaded configuration is compared against the candidate configuration. For each hierarchy level or configuration object that is different in the two configurations, the version in the loaded configuration replaces the version in the candidate configuration. When the configuration is later committed, only system processes that are affected by the changed configuration elements parse the new configuration. This action is supported from PyEZ 2.1.0.
Example:
- name: Install the config using load update
junos_install_config:
host: "{{ inventory_hostname }}"
user: "{{ username }}"
passwd: "{{ password }}"
file: "{{ inventory_hostname }}.conf"
diffs_file: "{{ inventory_hostname }}.diff"
ISSU/NSSU support for junos_install_os
- ISSU/NSSU support #219
Support the ability to perform a unified in-service software upgrade from the junos_install_os module by adding theissu
argument. For Juniper Networks EX Series devices which support the nonstop software upgrade feature, thenssu
argument is added.
Example:
- name: Perform an ISSU of Junos
junos_install_os:
host: "{{ inventory_hostname }}"
user: "{{ username }}"
passwd: "{{ password }}"
issu: True
version: "16.1R4.7"
package: "junos-install-mx-x86-64-16.1R4.7.tgz"
Maintainability
- Add Unitest for Ansible modules using Virtual Devices in the Cloud #187
Bugs Fixed
- junos_jsnapy: snap_pre was broken & snapcheck was expecting testfiles full path #171/#172
- setup.py: Fix missing interpreter: (on Rhel7) #176
- junos_jsnapy: Add Jsnapy library to Dockerfile for junos_jsnapy #184
- junos_jsnapy: Add more checks to callback_plugin to make sure info returned by modules is valid #186
- README.md: Update README.md #188
- Don't log password #183
- junos_cli: Add test before writing output to dest #193
- junos_rpc: To support kwargs as dict into junos_rpc #196
- junos_jsnapy: Clean up the inline documentation #197
- junos_cli: Fix for > global name 'dest' is not defined #198
- junos_get_facts: Modify junos_get_facts to be compatible with Juniper/py-junos-eznc#638. #210
- junos_get_config: options type defined for Ansible >=2.1 #211
- JSON dump of Junos facts requires native Python data types. #223/#224
- All: Compatibility with Ansible 2.3. Allow modules to import cleanly #215
- All: Fix docs for Ansible 2.3 #230