Description

After upgrading from a legacy Junos release (non-BSDx) to a new BSDx release (15.1), AI-Scripts 5.0R6 or below stopped working. Attempting to install the script from Junos Space times out.  The following error is shown from from CLI: 

ERROR: /usr/libexec/ui/downgrade: a legacy Junos installation package is required...

 

Symptoms

Customers that use Juniper Space to monitor routers can see that after the upgrade from non-BSDx Junos (previous to 13.3) to BSDx junos (15.1 and higher) the AI-Script is not showing for the MX devices. The same can be seen when checking the ' show version detail | match script' . It appears to be empty whereas before, it showed the AI-script and the version.

Before upgrade:

--- JUNOS 13.3R9.13 built 2016-03-01 07:09:49 UTC                                                                                                                                                                                                                                                                                           
root@MX> request system script add /var/tmp/jais-5.0R6.0-signed.tgz                                                                                                          
 
Installation completed                                                                                                                                                         
 
root@MX> show version detail | match script                                                                                                                
AI-Scripts [5.0R6.0]                                                                                                                                                          
 
root@MX> request system software add /var/tmp/junos-install-x86-64-15.1R6.7.tgz no-validate no-copy                                                                                                                       
Installing package '/var/tmp/junos-install-x86-64-15.1R6.7.tgz' ...                                                                                                                                                                

After upgrading:

--- JUNOS 15.1R6.7 Kernel 64-bit  JNPR-10.3-20170422.348838_build                                                                                                             
labroot@jtac-MX240-r015_re0> show version detail | match scrip                                                                                                                 
 
labroot@jtac-MX240-r015_re0> request system script add /var/tmp/jais-5.0R6.0-signed.tgz                                                                                                           
THIS IS A SIGNED PACKAGE                                                                                                                                                      
ERROR: /usr/libexec/ui/downgrade: a legacy Junos installation package is required...
---------------------------------------------------------------------------------------------------------

Please note that this only applies to routers running BSDx Kernel (FreeBSD 10 kernel architecture). MX5/10/40/80 and MX104 use freeBSD6 kernel, so the problem is not seen here.

Verification with MX80:

root@MX80> request system scripts add /var/tmp/jais-5.0R6.0-signed.tgz
--- cut here ---
Installation completed
 
--- JUNOS 16.1R2.8 built 2016-09-09 15:48:13 UTC <-- running 16.1 
root@MX80> start shell
% sysctl kern.osreldate
kern.osreldate: 601000 <--- 601000 indicates FreeBSD 6 Kernel
%exit

Verification with MX480:

root@MX480> request system software add /var/tmp/jais-5.0R6.0-signed.tgz
THIS IS A SIGNED PACKAGE
ERROR: /usr/libexec/ui/downgrade: a legacy Junos installation package is required.                                                                                                     
root@MX480> start shell
% sysctl kern.osreldate
kern.osreldate: 1003500 <--- 1003500 indicates FreeBSD10 kernel
% exit
exit
 
root@MX480> show version | match junos:
Junos: 16.1R4-S1.3 <-- BSDx version

Solution

Beginning with version 15.1, Junos uses FreeBSD10 kernel whereas version 13.3 used FreeBSD6. For more details, refer to Release Information for Junos OS with Upgraded FreeBSD.

A new version of the AIS-Script is used with BSDx releases. BSDx package name:

jais-x- <release-major> . <release-minor> R <maintenance-number> .[spin-number].tgz

Example: jais-x-6.0R1.1.tgz

This package is contained inside the '.tar' file, which is downloadable from Juniper .

In this example, jais-6.0R4.0.tar is used. After downloading the jais-6.0R4.0.tar from Juniper's website and decompressed it in our PC, the files inside contain the file mentioned above:

  • jais-6.0R4.0-signed.tgz
  • jais-x-6.0R4.0.tgz

Now, you can move the jais-x-6.0R4.0.tgz to the MX and install if from CLI: 

root@MX240> request system script add /var/tmp/jais-x-6.0R4.0.tgz <-- same package name as previously explained                                                                                                          
Verified jais-x-6.0R4.0 signed by PackageProductionEc_2017 method ECDSA256+SHA256                                                                                             
--- cut here ---
AI-Scripts Mounted package processing completed                                                                                                                                
                                                                                                                                                                     
root@MX240> show version detail | match script  <--- installed now                                                                                                         
AI-Scripts [6.0R4.0]                                                                                                                                                           

Alternatively, you can push the ‘tar’ file from Junos Space to the MX directly. It will not return an error because Junos Space will query the MX to check if the kernel is BSDx (15.1 or above) or non-BSDx (previous to 15.1). Based on the results it gets, it will then choose the correct package and push it. As BSDx is running, it will choose the jais-x-6.0R4.0 , push it and install it successfully.
 

Modification History

2018-09-26: Minor, non-technical edit.