Mailing List Archive

Spurious diffs on VyOS
[.disclaimer: I sent this to the list last week while the
list was broken per heas. I waited a few days to see if it
would pop up in the archive, and it has not. That said, if
you're seeing this twice, I apologize. -AK]

Hi,

Working on a problem where spurious diffs are received by
rancid (3.13) when executing against a VyOS VM (v1.3.1-S1).

Given the order of commands here:

executing vlogin -t 120 -c"show hardware cpu;show hardware dmi;show hardware pci;show hardware scsi;show hardware usb;show system routing-daemons;show system image;show version all;show configuration;show configuration commands" r20.stlsmo03.mid.net

it looks to me like sometimes 'show hardware pci' is firing before all the
output from 'show hardware dmi' has completed, resulting in the diff.
Perhaps worth noting is that bios_date is the first line returned from 'show
hardware dmi'

Further interesting is that this VM is one of several that rancid tracks,
all running an identical VyOS image - but it's the only one that exhibits
this behavior - even when the output of 'show hardware dmi' is 100%
identical between VMs.

My hunch is that this may be something within vlogin that is not (always)
waiting for the prompt to return before firing the next command, but that's
the point where I need help. I realize I could probably just comment out the
two commands in vyos.pm because they really shouldn't change much on a VM,
but given that VyOS could also be a hardware appliance, that certainly seems
like the wrong way to solve the problem.

Thanks!

--Adam

Output 9am:

diff --git a/configs/r20.stlsmo03.mid.net b/configs/r20.stlsmo03.mid.net
index bb45c1b..b22874e 100644
- -- a/configs/r20.stlsmo03.mid.net
@@ -27,7 +27,8 @@
# NUMA node0 CPU(s): 0-3
# Flags: fpu vme de pse tsc msr pae mce cx8 # apic sep
mtrr pge mca cmov pat pse36 clflush mmx fxsr # sse sse2 ss ht syscall nx
pdpe1gb rdtscp lm constant_tsc # arch_perfmon nopl xtopology tsc_reliable
nonstop_tsc # cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 #
x2apic movbe popcnt tsc_deadline_timer aes xsave avx # f16c rdrand
hypervisor lahf_lm abm cpuid_fault # invpcid_single pti ssbd ibrs ibpb
stibp fsgsbase # tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat #
md_clear flush_l1d arch_capabilities
# r20.stlsmo03:~$ show hardware dmi
- # bios_date: 12/12/2018
+ # bios_date: show hardware pci
+ # 12/12/2018
# bios_vendor: Phoenix Technologies LTD
# bios_version: 6.00
# board_asset_tag:

Output 10am:

diff --git a/configs/r20.stlsmo03.mid.net b/configs/r20.stlsmo03.mid.net
index b22874e..bb45c1b 100644
- -- a/configs/r20.stlsmo03.mid.net
@@ -27,8 +27,7 @@
# NUMA node0 CPU(s): 0-3
# Flags: fpu vme de pse tsc msr pae mce cx8 # apic sep
mtrr pge mca cmov pat pse36 clflush mmx fxsr # sse sse2 ss ht syscall nx
pdpe1gb rdtscp lm constant_tsc # arch_perfmon nopl xtopology tsc_reliable
nonstop_tsc # cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 #
x2apic movbe popcnt tsc_deadline_timer aes xsave avx # f16c rdrand
hypervisor lahf_lm abm cpuid_fault # invpcid_single pti ssbd ibrs ibpb
stibp fsgsbase # tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat #
md_clear flush_l1d arch_capabilities
# r20.stlsmo03:~$ show hardware dmi
- # bios_date: show hardware pci
- # 12/12/2018
+ # bios_date: 12/12/2018
# bios_vendor: Phoenix Technologies LTD
# bios_version: 6.00
# board_asset_tag:

Relevant excerpt of config file:

# r20.stlsmo03:~$ show hardware dmi
# bios_date: 12/12/2018
# bios_vendor: Phoenix Technologies LTD
# bios_version: 6.00
# board_asset_tag: board_name: 440BX Desktop Reference # Platform
# board_vendor: Intel Corporation
# board_version: None
# chassis_asset_tag: No Asset Tag
# chassis_type: 1
# chassis_vendor: No Enclosure
# chassis_version: N/A
# product_family: product_name: VMware Virtual Platform
# product_sku: product_version: None
# sys_vendor: VMware, Inc.
# r20.stlsmo03:~$ show hardware pci
# 00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - # 82443BX/ZX/DX Host
bridge (rev 01)
# 00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - # 82443BX/ZX/DX AGP
bridge (rev 01)
# 00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 # ISA (rev 08)
# 00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB # PIIX4 IDE (rev
01)
# 00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI # (rev 08)
# 00:07.7 System peripheral: VMware Virtual Machine # Communication
Interface (rev 10)
# 00:0f.0 VGA compatible controller: VMware SVGA II Adapter
# 00:11.0 PCI bridge: VMware PCI bridge (rev 02)
# 00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)
[more PCI bridge output omitted]
_______________________________________________
Rancid-discuss mailing list
Rancid-discuss@www.shrubbery.net
https://www.shrubbery.net/mailman/listinfo/rancid-discuss
Re: Spurious diffs on VyOS [ In reply to ]
Tue, Jul 05, 2022 at 09:52:22AM -0500, Adam Korab:
> Working on a problem where spurious diffs are received by
> rancid (3.13) when executing against a VyOS VM (v1.3.1-S1).
>
> Given the order of commands here:
>
> executing vlogin -t 120 -c"show hardware cpu;show hardware dmi;show hardware pci;show hardware scsi;show hardware usb;show system routing-daemons;show system image;show version all;show configuration;show configuration commands" r20.stlsmo03.mid.net
>
> it looks to me like sometimes 'show hardware pci' is firing before all the
> output from 'show hardware dmi' has completed, resulting in the diff.
> Perhaps worth noting is that bios_date is the first line returned from 'show
> hardware dmi'
>
> Further interesting is that this VM is one of several that rancid tracks,
> all running an identical VyOS image - but it's the only one that exhibits
> this behavior - even when the output of 'show hardware dmi' is 100%
> identical between VMs.
>
> My hunch is that this may be something within vlogin that is not (always)
> waiting for the prompt to return before firing the next command, but that's
> the point where I need help. I realize I could probably just comment out the
> two commands in vyos.pm because they really shouldn't change much on a VM,
> but given that VyOS could also be a hardware appliance, that certainly seems
> like the wrong way to solve the problem.

I do not have a copy of vlogin. Ensure that it is finding the complete
prompt after it successfully logs into the device. The login scripts
generally use a loose prompt match first, then once logged-in, send a
return to generate a new prompt and create a more exact prompt match
regex based on what is received.

Also, look at the preceding output. vlogin might have become out of
sync with the prompts in output prior to the show hardware dmi command.
This is where the -d option (if vlogin supports it) helps, though it can
be rather ugly.

_______________________________________________
Rancid-discuss mailing list
Rancid-discuss@www.shrubbery.net
https://www.shrubbery.net/mailman/listinfo/rancid-discuss
Re: Spurious diffs on VyOS [ In reply to ]
heasley wrote:
>
> I do not have a copy of vlogin. Ensure that it is finding the complete
> prompt after it successfully logs into the device. The login scripts
> generally use a loose prompt match first, then once logged-in, send a
> return to generate a new prompt and create a more exact prompt match
> regex based on what is received.

In that case, I'm not sure where I got this, and it doesn't
appear to have blame in the comments, other than referencing
rancid v2.3.6.

14327 Oct 15 2020 vlogin

Complete text contents pasted here:

https://h.mid.net/ZDSl4tpam6

> This is where the -d option (if vlogin supports it) helps,
> though it can >be rather ugly.

AK

_______________________________________________
Rancid-discuss mailing list
Rancid-discuss@www.shrubbery.net
https://www.shrubbery.net/mailman/listinfo/rancid-discuss