Page MenuHomeVyOS Platform

v.huti (Volodymyr Huti)
User

Projects

User Details

User Since
Mar 13 2022, 5:49 PM (15 w, 2 d)

Recent Activity

Tue, Jun 21

v.huti updated subscribers of T4394: Improve VYOS_DEBUG profiling support.

Memray:

In order to keep useful tracing/debugging tooling in a single place, the @jestabro has created the repo:

https://github.com/jestabro/profiling-tools

Since there is no vyatta package yet, you need to either compile it by hand or install it from the apt
as explained before. Some examples to play around with:

# NOTE: I had to downgrade this package to resolve the installation conflict
# sudo apt-get install python3-pkg-resources=45.2.0-1
  sudo apt-get install python3-pip
  sudo python3 -m pip install memray
  PATH+=":/home/vyos/.local/bin"
Tue, Jun 21, 10:49 PM · vyatta-cfg
v.huti added a comment to T4394: Improve VYOS_DEBUG profiling support.

Analysis:

I have collected the profiling data for the following configurations:

Tue, Jun 21, 10:48 PM · vyatta-cfg
v.huti added a comment to T4394: Improve VYOS_DEBUG profiling support.

Gotchas:

If you are running a small QEMU device and it has run out of the memory, the scenario is following:

- The boot process has failed, the prompt is stuck, bash is not initialized
- You reboot the device, it tries to read the config, fails once again as there is no free memory
- Config was not loaded, you cannot log in; it is a loop
Tue, Jun 21, 10:47 PM · vyatta-cfg
v.huti added a comment to T4394: Improve VYOS_DEBUG profiling support.
NOTE: by default, the perf binary is not installed on the ISO image.
Tue, Jun 21, 10:45 PM · vyatta-cfg
v.huti added a comment to T4462: FRR operational-data pagination.

TBD: GUI

VyOS users can configure the front-end interface, called vycontroll, to examine the configuration state.
A detailed description can be found at:
https://vycontrol.com/
https://github.com/vycontrol/vycontrol
https://docs.vyos.io/en/equuleus/configuration/service/https.html
https://brezular.com/2021/05/01/vycontrol-web-ui-for-vyos-firewall/

Tue, Jun 21, 2:40 PM
v.huti added a comment to T4462: FRR operational-data pagination.

FRR Debugging


Recently, I had to triage/debug a bunch of issues that involved running a legacy build of frr.
This involved:

  • Triaging issue down to the place when it was introduced. Otherwise, verifying that feature was never working at all.
  • Comparing the execution flow between legacy/master versions to identify the divergence
  • Building & running multiple (legacy/master) frr versions in parallel
  • Doing deep analysis within gdb
Tue, Jun 21, 2:38 PM
v.huti added a comment to T4462: FRR operational-data pagination.

Since the last update, I have simplified the CLI interface:

1. I have removed the global iterator and incapsulated the iteration state into the vty structure.
   This way, each vtysh client has its private iteration state for the following requests.
   It should be possible to query multiple data nodes simultaneously and asynchronously.
Tue, Jun 21, 2:27 PM

Thu, Jun 16

v.huti added a comment to T4462: FRR operational-data pagination.

Ongoing activity:

1. Stabilization
-  I have seen a corner case that would crash inside the northbound callbacks.
-  I can see some validation failure logs, although the resulting output seems good for me.
-  Daniil was concerned about memory leaks associated with iteration state.
   After additional research - this is not a problem, but I can imagine cases where we would
   fail to handle a malformed XPath and leak resources on the stuck unwinding
   I need to do some testing with Valgrind.
2. Scale testing
3. Async support for multiple vtysh clients. The current demo assumes that there is only one client.
   I want to map the iteration state to the vtysh client/socket so multiple requests may be executed in parallel
4. A debugging instruction
   I have used some complicated debugging flow when merging the feature.
   This should be useful for other (non-C) devs.
5. Finishing the documentation
6. advanced XPath filtering support?
Thu, Jun 16, 1:50 PM
v.huti added a comment to T4462: FRR operational-data pagination.

Recently, I had a conversation with the VMware team lead - Pushpasis Sarkar.
He has described the ongoing development and explained the use case they are interested in.
From the conversation:

1. The latest proposal draft: 
   Page 72-73 `Retrieve Operational Data - Retrieving Containers and Leaf members`
   Page 84-85 `Retrieve Operational Data - Retrieving Large List elements` + comments
   Page 86 `Retrieve Operational Data - Retrieving Containers and Leaf members` + comments.
Thu, Jun 16, 1:29 PM
v.huti updated the task description for T4462: FRR operational-data pagination.
Thu, Jun 16, 12:39 PM

Thu, Jun 9

v.huti created T4462: FRR operational-data pagination.
Thu, Jun 9, 2:00 PM

May 2 2022

v.huti added a comment to T4394: Improve VYOS_DEBUG profiling support.

There was some effort to introduce profiling into the system before, but nothing was developed.
The ticket was opened to verify that the timing values displayed in /var/log/vyatta are correct.
The vyos-debug flag enables tracing for actions described in the templates.
This will be a step-by-step walkthrough of the system profiling, as I have found this to have a bunch of non-obvious technical nuances that might get you stuck.

May 2 2022, 8:55 AM · vyatta-cfg

Apr 25 2022

v.huti claimed T4394: Improve VYOS_DEBUG profiling support.
Apr 25 2022, 2:45 PM · vyatta-cfg
v.huti updated the task description for T4394: Improve VYOS_DEBUG profiling support.
Apr 25 2022, 6:50 AM · vyatta-cfg
v.huti updated the task description for T4394: Improve VYOS_DEBUG profiling support.
Apr 25 2022, 6:40 AM · vyatta-cfg
v.huti updated the task description for T4394: Improve VYOS_DEBUG profiling support.
Apr 25 2022, 6:39 AM · vyatta-cfg
v.huti created T4394: Improve VYOS_DEBUG profiling support.
Apr 25 2022, 6:35 AM · vyatta-cfg

Apr 20 2022

v.huti added a comment to T4028: FRR 8.1 routes not being applied to routing table after reboot if an interface has 2 ip addresses.

Pull https://github.com/FRRouting/frr/pull/11004 was merged. This needs retesting on the latest FRR

Apr 20 2022, 10:48 AM · VyOS 1.4 Sagitta