Creating a Bundled ISO
You can use bundled ISOs to combine a Junos OS Evolved image with third-party packages into a single bundle for easy installation.
Starting in Junos OS Evolved release 23.2R1, you can bundle a Junos OS Evolved image together with custom applications and scripts to create a bundled ISO. Bundled ISO installation follows the standard Junos OS Evolved software upgrade process. Bundled ISOs help simplify the process of installing third-party applications and scripts.
Bundled ISOs are created using a tool in the JET Toolkit for Junos OS Evolved called
Jet-evo-bundle-iso
. For more information on installing the JET
Toolkit for Junos OS Evolved and the Jet-evo-bundle-iso
tool, see Installing the JET SDK and JET Toolkit for Junos OS Evolved.
Jet-evo-bundle-iso
Tool Configuration
The Jet-evo-bundle-iso
tool is used to generate the bundled ISO. You
need to specify the directories containing the files to be bundled into the bundled
ISO, and set the install path for the bundled ISO. You can control these variables
with the follow options from the Jet-evo-bundle-iso
command:
$ Jet-evo-bundle-iso -h Usage : Jet-evo-bundle-iso -p <custom-package-path> -i <input-evo-iso> -n <bundle-name> -o <output-directory>
You should include all the third-party packages and scripts that you want to install, even if they exist on the system as part of another bundled ISO or standalone application package.
Required Arguments
The following arguments are required:
-p directory |
Path to the directory containing custom package
|
-i path |
Path to the standard Junos OS Evolved ISO that will be included in the bundled ISO. |
-o path |
Path where the bundled ISO will be created. |
Optional Arguments
The following arguments are optional:
-h |
Displays a help message explaining the
|
-n name |
Custom name for the bundled ISO. If a name is not specified, then the output ISO name will be the same as the input ISO. |
When you run the Jet-evo-bundle-iso
command with all the
required arguments, the bundled ISO gets created at the path specified by the
-o argument.
Installing a Bundled ISO
After successfully running the Jet-evo-bundle-iso
command, you can
install the bundled ISO using the regular Junos OS Evolved installation process.
Before installing a bundled ISO, you must install the private keys and certificates for the custom packages inside the bundled ISO on each RE. For more information on installing signing keys, see Importing Signing Keys into the System Keystore and IMA Extended Keyring.
Before installation, you can validate the bundled ISO with the following command:
-
request system software validate bundled-iso-path
Enter the following command to install the bundled ISO:
-
request system software add bundled-iso-path
When the installation process finishes, reboot the device:
-
request system reboot
After the device reboots, the bundled image will become the running version and all applications in the bundled ISO will start.
If any step of the install process fails for any of the third-party packages inside a bundled ISO, then the installation will fail for the entire bundled ISO.
If you are upgrading from a bundled ISO to another bundled ISO, existing third-party packages don't get copied over to the upgraded image. If you wish to upgrade to another bundled ISO and keep using the same third-party packages, then the upgraded image must contain all the same custom packages as the existing image.
After successfully installing a bundled ISO, you can use the show
version
command to confirm the installation. The [Custom
Bundle]
tag next to the currently running version of Junos OS Evolved
indicates a bundled ISO installation:
user@host> show version Hostname: host Model: ptx10008 Junos: 23.2I20230225124619-EVO Yocto: 3.0.2 Linux Kernel: 5.2.60-yocto-standard-g12117a8 JUNOS-EVO OS 64-bit [junos-evo-install-ptx-x86-64-23.2I20230225131046] [Custom Bundle] External Software: JET app custom_logger1.0.1 JET app multi_app1.1.1 JET app custom_multi_app1.0.1
The output of the show software list
command will also display the
[Custom Bundle]
tag to indicate a bundled ISO:
user@host> show system software list ------------------------------- node: re0 ------------------------------- Active boot device is primary: /dev/vda List of installed version(s) : '-' running version '>' next boot version after upgrade/downgrade '<' rollback boot version '*' deleted JSU version - junos-evo-install-ptx-x86-64-23.2I20230225131046 - [2023-02-25 14:08:17] [Custom Bundle] JET app custom_logger 1.0.1 JET app custom_multi_app 1.0.1 JET app multi_app 1.1.1 < junos-evo-install-ptx-x86-64-23.2I20230225124619-EVO - [2023-02-25 13:06:14]
Third-party packages that have been installed through a bundled ISO can be removed with the same process as independently installed third-party packages. See Removing Third-Party Applications.
Upgrading with a Bundled ISO
You can upgrade from a standard or bundled ISO to another standard or bundled ISO if
the Junos OS Evolved image version is the same for both the source and target
images. Use the request system software add restart
target-iso
command to initiate the upgrade
process.
For more information on the expected behavior for different bundled ISO upgrade scenarios, see the following list:
Upgrade from standard ISO to bundled ISO | Only the third-party packages from the bundled ISO will be installed. |
Upgrade from bundled ISO to standard ISO | All third-party packages from the current bundled ISO will be deleted. |
Upgrade from a bundled ISO to a different bundled ISO | All the third-party packages from the current bundled ISO will be deleted and the third-party packages from the incoming bundled ISO will be installed. |
When you install a standalone third-party package on top of a bundled ISO, it will be considered part of the custom bundle and will not be carried over during upgrades.
Rollback from a Bundled ISO
After installing a bundled ISO, you can rollback to the previous installation by
using the request system software rollback
command. Third-party
packages don't get copied when rolling back to a previous release.