Description

It appears that cRPD is not retaining system commit and rollback information after a container redeployment. The persistent volume still exists with the config gzip files, but these are not seen by MGD after container spin up.

Symptoms

Stop/start docker result in the loss of historical commits/rollback options.

 

Example:

 

Start system with container id:

root@VM1-Worker-1:~# docker ps

CONTAINER ID       IMAGE              COMMAND                CREATED            STATUS             PORTS                                                                        NAMES

e773f1cc5e78       crpd:22.4R2-S2.6   "/sbin/runit-init.sh"  6 minutes ago      Up 6 minutes       22/tcp, 179/tcp, 830/tcp, 3784/tcp, 4784/tcp, 6784/tcp, 7784/tcp, 50051/tcp  crpd1

 

Start JUNOS and create a configuration:

root@VM1-Worker-1:~# docker exec -it crpd1 cli

root@crpd1> show version

Hostname: crpd1

Model: cRPD

Junos: 22.4R2-S2.6

cRPD package version : 22.4R2-S2.6 built by builder on 2023-10-05 00:25:00 UTC

 

oot@crpd1# set routing-options autonomous-system 65555

 

[edit]

root@crpd1# set protocols bgp group brian local-as 65555

 

[edit]

root@crpd1# set protocols bgp group brian peer-as 64444              

 

[edit]

root@crpd1# set protocols bgp group brian type external   

 

[edit]

root@crpd1# commit

commit complete

 

root@crpd1# run show configuration | compare rollback 1

[edit]

+ routing-options {

+     autonomous-system 65555;

+ }

+ protocols {

+     bgp {

+         group brian {

+             type external;

+             peer-as 64444;

+             local-as 65555;

+             neighbor 1.1.1.1;

+         }

+     }

+ }

root@crpd1> show system commit

0  2023-12-14 20:30:59 UTC by root via cli

1  2023-12-14 20:27:19 UTC by root via other

 

************************************************************************************************************

 

Restart Docker and get new container ID:

 

root@VM1-Worker-1:~# docker stop crpd1

crpd1

 

root@VM1-Worker-1:~# docker run --rm ?-detach --name crpd1 -h crpd1 --privileged -v crpd1-config:/config -v crpd1-varlog:/var/log-it crpd:22.4R2-S2.6

docker: invalid reference format: repository name must be lowercase.

See 'docker run --help'.

root@VM1-Worker-1:~# docker ps

CONTAINER ID       IMAGE              COMMAND                CREATED            STATUS             PORTS                                                                        NAMES

569f54b6e141       crpd:22.4R2-S2.6   "/sbin/runit-init.sh"  13 seconds ago     Up 12 seconds      22/tcp, 179/tcp, 830/tcp, 3784/tcp, 4784/tcp, 6784/tcp, 7784/tcp, 50051/tcp  crpd1

root@VM1-Worker-1:~#

 

 

Log back into JUNOS. Current config is still loaded but the system commits/rollbacks are missing:

 

root@VM1-Worker-1:~# docker exec -it crpd1 cli

 

root@crpd1> show configuration | compare rollback ? 

No valid completions

root@crpd1>

 

root@crpd1> show configuration

version 20231004.192113_builder.r1374647;

routing-options {

   autonomous-system 65555;

}

protocols {

   bgp {

       group brian {

           type external;

           peer-as 64444;

           local-as 65555;

           neighbor 1.1.1.1;

       }

   }

}

 

root@crpd1> show system commit  

 

root@crpd1> start shell

 

# cd config

# ls

juniper.conf.1.gz juniper.conf.gz license scripts

# ls -la

total 24

drwxr-xr-x 4 root root 4096 Dec 14 20:30 .

drwxr-xr-x 1 root root 4096 Dec 14 20:37 ..

-rw-r----- 1 root root  98 Dec 14 20:27 juniper.conf.1.gz

-rw-r----- 1 root root 211 Dec 14 20:30 juniper.conf.gz

drwxr-xr-x 4 root root 4096 Dec 14 20:27 license

drwxr-xr-x 2 root root 4096 Dec 14 20:27 scripts

# zcat juniper.conf.1.gz

## Last changed: 2023-12-14 20:27:18 UTC

version 20231004.192113_builder.r1374647;

# zcat juniper.conf.gz

## Last changed: 2023-12-14 20:30:57 UTC

version 20231004.192113_builder.r1374647;

routing-options {

   autonomous-system 65555;

}

protocols {

   bgp {

       group brian {

           type external;

           peer-as 64444;

           local-as 65555;

           neighbor 1.1.1.1;

       }

   }

}

 

Solution

https://prsearch.juniper.net/problemreport/PR1780549

Modification History

2024-02-06 : Article Created