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.
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
root@crpd1# set protocols bgp group brian peer-as 64444
root@crpd1# set protocols bgp group brian type external
root@crpd1# commit
commit complete
root@crpd1# run show configuration | compare rollback 1
+ 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'.
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@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> 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
# zcat juniper.conf.gz
## Last changed: 2023-12-14 20:30:57 UTC
https://prsearch.juniper.net/problemreport/PR1780549