Description

The license key is not synchronized to backup RE after applying the license key to the ptx master routing engine.



PTX10008> show version

Junos: 22.2R3-S3.13-EVO

JUNOS-EVO OS 64-bit [junos-evo-install-ptx-x86-64-22.2R3-S3.13-EVO]


PTX10008> show system uptime

Current time: 2024-12-06 23:38:39 UTC

Time Source: NTP CLOCK

Node booted: 2024-05-10 19:17:48 UTC (30w0d 04:20 ago)

System booted: 2024-05-10 19:15:20 UTC (30w0d 04:23 ago)

Protocols started: 2024-08-21 04:50:06 UTC (15w2d 18:48 ago)

Last configured: 2024-11-20 16:01:46 UTC (2w2d 07:36 ago) by e0171010

11:38PM up 210 days, 4:20, 2 users, load averages: 0.61, 0.51, 0.49


{master}

PTX10008> file list re0:/config/license detail

re0:

--------------------------------------------------------------------------


/config/license:

total blocks: 136

-rw------- 1 root root 627 May 14 2024 JUNOS016937288.lic

-rw------- 1 root root 627 May 14 2024 JUNOS069768699.lic

-rw------- 1 root root 627 May 14 2024 JUNOS108736564.lic

-rw------- 1 root root 627 May 14 2024 JUNOS111828326.lic

-rw------- 1 root root 627 May 14 2024 JUNOS113331729.lic

-rw------- 1 root root 627 May 14 2024 JUNOS180274657.lic

-rw------- 1 root root 627 May 14 2024 JUNOS197706224.lic

-rw------- 1 root root 627 May 14 2024 JUNOS249001834.lic

-rw------- 1 root root 627 May 14 2024 JUNOS257206497.lic

-rw------- 1 root root 627 May 14 2024 JUNOS556980852.lic

-rw------- 1 root root 627 May 14 2024 JUNOS672976810.lic

-rw------- 1 root root 627 May 14 2024 JUNOS687446052.lic

-rw------- 1 root root 627 May 14 2024 JUNOS709492776.lic

-rw------- 1 root root 627 May 14 2024 JUNOS893226891.lic

-rw------- 1 root root 627 May 14 2024 JUNOS903808300.lic

total files: 15



{master}

PTX10008> file list re1:/config/license detail

re1:

--------------------------------------------------------------------------


/config/license:

total blocks: 16

total files: 0



+++++++++++++++++++++++++++++++++

When performing RE switchovers on our lab PTX10004 with the same issue as production, the new master RE generates chassis alarms due to the missing license and shows "License installed: none":


PTX10008> show system license installed


Licenses installed: none




{master}

PTX10008> show chassis alarms

11 alarms currently active

Alarm time Class Description

2024-12-05 02:01:22 UTC Minor 36 LSP Scales(270) require a license

2024-12-05 02:01:22 UTC Minor 5 BGP Peer scales(271) require a license

2024-12-05 01:53:18 UTC Minor 300 Port Bandwidth Usage (in gbps)s(279) require a license

2024-12-05 01:53:18 UTC Minor BGP Routing Protocol(47) usage requires a license

2024-12-05 01:53:18 UTC Minor IS-IS Routing Protocol(48) usage requires a license

2024-12-05 01:53:18 UTC Minor Virtual Router Redundancy Protocol(93) usage requires a license

2024-12-05 01:53:18 UTC Minor 802.1ad(94) usage requires a license

2024-12-05 01:53:18 UTC Minor LDP Protocol(257) usage requires a license

2024-12-05 01:53:18 UTC Minor RSVP Protocol(258) usage requires a license

2024-12-05 01:53:18 UTC Minor L2 Circuit feature(259) usage requires a license

2024-12-05 01:53:18 UTC Minor PIM protocol(267) usage requires a license


PTX10008> show version

Model: ptx10004

Junos: 22.2R3-S5.1-EVO

Symptoms

Customers running 22.2 cannot install the keys using KB71866 [juniper.net]. This WA suggested on KB71866 [juniper.net] only applies after the 22.4 release.

Add license keys to re0:/config/license/ using 'request system license add terminal' CLI command.

   (the set command option from config. mode gives error - KB71866 [juniper.net]) See KB71866 [juniper.net] “Validation hook evaluation failed commit error”

 

For this issue, customers should follow a similar procedure described in the solution section or Manually copy keys from re0:/config/license/ to backup re1:/config/license/



 

Solution

PTX license key procedure

 

Note: Steps 2-4 executed as root from Master RE0

 

Step 1 – Manually add license files to Master RE0 /config/license

 

 

Step 2 – Copy license files to Master RE0 /var/db/config/license

start shell

scp /config/license/*.lic /var/db/config/license/

 

 

Step 3 – Copy license files to Backup RE1 /config/license

start shell

chvrf iri scp /config/license/*.lic re1:/config/license/

 

 

Step 4 – Copy license files to Backup RE1 /var/db/config/license

start shell

chvrf iri scp /config/license/*.lic re1:/var/db/config/license/

 

 

 

Step 5 – Configure and apply Event-options and OP script config.

 

set event-options generate-event 4am time-of-day "04:00:00 +0000"

set event-options policy copy-license-keys events 4am

set event-options policy copy-license-keys then execute-commands commands "op license-copy"

 

set system scripts op file license-copy.slax

set system scripts synchronize

 

 

PTX> file show /var/db/scripts/op/license-copy.slax

 

/* license-copy.slax */

version 1.0;

ns junos = http://xml.juniper.net/junos/*/junos;

ns xnm = http://xml.juniper.net/xnm/1.1/xnm;

ns jcs = http://xml.juniper.net/junos/commit-scripts/1.0;

import "../import/junos.xsl";

 

var $local = jcs:open();

match / {

   <op-script-results> {

       var $rpc = {

           <request-shell-execute> {

               <command> "chvrf iri scp /var/db/config/license/*.lic re0:/config/license/";

           }

       }

       var $rpc2 = {

           <request-shell-execute> {

               <command> "chvrf iri scp /var/db/config/license/*.lic re1:/config/license/";

           }

       }

       var $result = jcs:execute($local,$rpc);

       copy-of $result;

       var $results = jcs:execute($local,$rpc2);

       copy-of $results;

       expr jcs:close($local);

   }

}

 

 

Modification History

2025-01-14 : Article Created