While managing a virtual chassis for 4 QFX5100 devices, I managed to create an inconsistent state between the virtual chassis members.
When committing the configuration, the following error would show:
fpc0: configuration check succeeds fpc1: [edit interfaces irb] 'unit 1800' warning: statement already exists [edit interfaces irb unit 1800 bandwidth] 'bandwidth 10g' warning: statement exists but matches patch [edit interfaces irb unit 1800 family] 'inet' warning: statement already exists [edit interfaces irb unit 1800 family inet mtu] 'mtu 1500' warning: statement exists but matches patch [edit interfaces irb unit 1800 family inet] 'address x.x.x.x/32' warning: statement already exists error: remote load-configuration failed on fpc1
I tried a few things to fix this at first, eg. removing the IRB interface in question then trying to commit then adding it back, running
commit synchronize force peers-synchronize and so on.
To fix this you need to connect to the members in the virtual chassis and restart the
mgd process. This does not need to be done on the master. In my case fpc0 is the current master which leaves fpc1, fpc2, fpc3 to have the process restart. This process restart did not cause any outage/downtime, it was transparent.
- Log in to the virtual chassis as usual.
- Connect to the first member switch to restart the process on using
request session member Xwhere
Xis the FPC number (in my case 1/2/3). If you are not currently logged in as the root user (eg. you use an authentication database such as RADIUS) you can just push enter on the first password prompt and you will then get a prompt for the username. Alternatively you can connect to the member and run
sudo suafter logging in.
- Make sure you are in the shell (not the
climode) and run
- Repeat this process for each of the other members in the virtual chassis.