Skip to content

Release 1.4.2

Compare
Choose a tag to compare
@stacywsmith stacywsmith released this 24 Apr 17:24
· 374 commits to master since this release

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 a load update from the Junos CLI. When the update=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 the issu argument. For Juniper Networks EX Series devices which support the nonstop software upgrade feature, the nssu 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