Page MenuHomeVyOS Platform

Diff functionality behaves incorrectly in some cases
Closed, ResolvedPublicBUG


Base configuration:

vyos@vyos-1.2.0:~$ show configuration commands | grep eth2
set interfaces ethernet eth2 hw-id '08:00:27:70:c6:80'
set interfaces ethernet eth2 smp-affinity 'auto'

Now if I enter configuration mode and try to delete either speed or duplex values and run compare, device shows that there's no changes between working and active configurations, but doesn't allow me to exit from the configuration mode by exit, I need to run exit discard to do it.

Below is snippet of what's happening:

vyos@vyos-1.2.0# delete interfaces ethernet eth2 duplex
vyos@vyos-1.2.0# compare
No changes between working and active configurations
vyos@vyos-1.2.0# exit
Cannot exit: configuration modified.
Use 'exit discard' to discard the changes and exit.

I am assuming that this has something to do with the fact that these attributes have a default value associated with them(?). Not facing this issue for other attributes like mtu, or description.

Reproducible on:

vyos@vyos-1.2.0:~$ show version
Version:          VyOS 1.2.0-rolling+201904210337
Built by:
Built on:         Sun 21 Apr 2019 03:37 UTC
Build ID:         4fcdb2bb-9f16-440b-aecd-574a5165bf35
Version:      VyOS 1.1.8
Description:  VyOS 1.1.8 (helium)
Copyright:    2017 VyOS maintainers and contributors
Built by:
Built on:     Sat Nov 11 13:44:36 UTC 2017
Build ID:     1711111344-b483efc


Difficulty level
Unknown (require assessment)
VyOS 1.2.0-rolling+201904210337
Why the issue appeared?
Will be filled on close

Event Timeline

syncer triaged this task as Normal priority.
syncer edited projects, added VyOS 1.3 Equuleus; removed VyOS 1.2 Crux.
Viacheslav added a subscriber: Viacheslav.

Fixed, VyOS 1.3-rolling-202007240117

vyos@r1-roll# show interfaces 
 ethernet eth0 {
     hw-id 52:54:00:76:ca:91
 ethernet eth1 {
     hw-id 52:54:00:bf:57:d6
 loopback lo {
 pseudo-ethernet peth1 {
     source-interface eth1
vyos@r1-roll# delete interfaces ethernet eth1 duplex

  Nothing to delete (the specified node does not exist)