Juniper MCD decided to coredump on commit and rollback
On a Juniper EX3300 a colleague of mine entered an invalid statement:
interface-range some_ports {
member ge0/0/2;
member-range ge-0/0/0 to ge-0/0/1;
}
The member ge0/0/2
is missing a -
between ge
and 0/0/2
. Juniper (for whatever reason) accepted the input but mcd
decided to segfault when asked to delete or rollback the configuration.
pid 75982 (mgd), uid 0: exited on signal 11 (core dumped)
Recovering from that case is actually not that hard. You just know the right command(s) ;-)
You can load an older configuration via the load override <config file>
command. I did also try the load replace <config file>
command but that also segfaulted..
andi@foo# load override ?
Possible completions:
<filename> Filename (URL, local, remote, or floppy)
db/ Last changed: Oct 27 10:44:35
juniper.conf+.gz Size: 6000, Last changed: Nov 08 15:12:55
juniper.conf.1.gz Size: 5913, Last changed: Jun 30 13:36:52
juniper.conf.2.gz Size: 5881, Last changed: Jun 30 12:59:25
juniper.conf.3.gz Size: 5280, Last changed: Jun 30 12:54:02
[...]
{master:0}[edit]
andi@foo# load override juniper.conf+.gz
load complete
In my case the juniper.conf+.gz
was the desired config file. I recommend inspecting those files before loading them (they are stored in /config/
).