install_package
Install firmware packages on Junos devices with pre-flight checks, including version verification, rollback handling, and rescue config save. Supports dry-run and forced installation with unlink option for low-flash models.
Instructions
Install firmware package on device with pre-flight checks.
Full upgrade flow: version check -> rollback pending if needed -> copy (with checksum) -> clear reboot schedule -> rescue config save -> request system software add (with validation).
Args:
hostname: Target device hostname (must exist in config.ini)
dry_run: If True (default), show what would be done without installing
force: If True, skip version checks and force install
unlink: If True, run request system software add <pkg> unlink
via CLI instead of PyEZ SW.install(). Use for low-flash devices
(EX2300 / EX3400, ~1.3 GB /dev/gpt/junos) where major version
upgrades fail with "ERROR: insufficient space" because PyEZ does
not expose the unlink parameter. The CLI path frees ~330 MB by
unlinking the source tgz during extraction.
config_path: Path to config.ini (empty string uses default search)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hostname | Yes | ||
| dry_run | No | ||
| force | No | ||
| unlink | No | ||
| config_path | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |