Skip to content

Add Juniper ISSU and NSSU support#400

Draft
mattmiller87 wants to merge 14 commits into
developfrom
u/mattmiller/NAPPS-1032-juniper-install
Draft

Add Juniper ISSU and NSSU support#400
mattmiller87 wants to merge 14 commits into
developfrom
u/mattmiller/NAPPS-1032-juniper-install

Conversation

@mattmiller87

@mattmiller87 mattmiller87 commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

New Pull Request

This PR adds Juniper install options for in-service software upgrade and nonstop software upgrade for SRX and EX devices.

This is in testing and may need some revisions.

  • EX Virtual-Chassis
  • EX single device
  • SRX Chassis Cluster
  • SRX single device

SDK docs - https://junos-pyez.readthedocs.io/en/2.8.2/jnpr.junos.utils.html#jnpr.junos.utils.sw.SW.install

rpc.cli() - used to run commands not available in the sdk.

Change Notes

Justification

@mattmiller87 mattmiller87 force-pushed the u/mattmiller/NAPPS-1032-juniper-install branch from d366b46 to ff4f8a5 Compare July 7, 2026 17:53
@jtdub jtdub requested review from Copilot and jtdub July 7, 2026 21:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the Junos device driver to support Juniper ISSU/NSSU upgrade flows and adds a system snapshot helper intended to enforce dual-partition best practices during upgrades.

Changes:

  • Add issu / nssu options to JunosDevice.install_os() and adjust upgrade/reboot handling logic.
  • Add JunosDevice.install_os_multi() to perform multi-member (virtual-chassis) upgrades without NSSU.
  • Add request_system_snapshot() plus polling-based verification for snapshot completion.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.

File Description
pyntc/devices/jnpr_device.py Adds ISSU/NSSU install options, a multi-device install flow, and snapshot request/verification helpers.
changes/mm.added Adds a changelog entry for the new Juniper install options.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pyntc/devices/jnpr_device.py
Comment thread pyntc/devices/jnpr_device.py
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread changes/mm.added Outdated
@mattmiller87 mattmiller87 force-pushed the u/mattmiller/NAPPS-1032-juniper-install branch 3 times, most recently from cf77af7 to e9407cc Compare July 8, 2026 13:28
@mattmiller87 mattmiller87 force-pushed the u/mattmiller/NAPPS-1032-juniper-install branch from e9407cc to 43bb7c6 Compare July 8, 2026 13:42
@jtdub jtdub requested a review from Copilot July 8, 2026 14:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread tests/unit/test_devices/test_jnpr_device.py

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 8 comments.

Comment thread pyntc/devices/jnpr_device.py
Comment thread pyntc/devices/jnpr_device.py
Comment thread pyntc/devices/jnpr_device.py
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py
Comment thread tests/unit/test_devices/test_jnpr_device.py

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

Comment thread pyntc/devices/jnpr_device.py Outdated
Comment thread pyntc/devices/jnpr_device.py
Comment thread changes/400.added
Comment thread pyntc/devices/jnpr_device.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants