Page MenuHomeVyOS Platform

thomas-mangin (Thomas Mangin)
User

Projects (8)

User Details

User Since
Nov 12 2019, 5:38 PM (255 w, 6 d)

Recent Activity

Aug 13 2024

mark22k awarded T2522: Python CLI a Like token.
Aug 13 2024, 9:00 AM · VyOS 2.0.x

Aug 16 2020

thomas-mangin added a comment to T2636: get_config_dict() shall always return a list on <multi/> nodes.

Regarding (1) which is about changing the default. No issues, I was trying to break any code until someone had more time than me to test it, as the devil is always in the details.

Aug 16 2020, 4:17 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2636: get_config_dict() shall always return a list on <multi/> nodes.

From John on github:

Aug 16 2020, 4:16 PM · VyOS 1.3 Equuleus (1.3.0)

Aug 12 2020

thomas-mangin added a comment to T2750: Use m4 as a template processor.

Yes the GCC preprocessors is limited (but works for the current use case) and m4 is indeed more powerful but not a user-friendly tool IMHO.

Aug 12 2020, 8:32 AM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta

Aug 7 2020

thomas-mangin added a comment to T2623: Creating sit tunnel fails with “Can not set “local” for tunnel sit tun1 at tunnel creation”.

I will have a look as this was not supported by vyatta and therefore not added to the code when converted to python

Aug 7 2020, 1:01 PM · VyOS 1.3 Equuleus (1.3.0-epa1)
thomas-mangin added a comment to T2768: Define a high level HTTP API.

Coming with a syntax which is not ultimately going to be as complex as the cli may be an impossible challenge. Changing the API to include in the XML what is path vs payload may indeed lead to indeed a better API tho. The example given use the word create in the path when REST would use POST.

Aug 7 2020, 12:40 PM · VyOS 1.5 Circinus

Aug 5 2020

thomas-mangin added a comment to T2759: validate-value prints error messages from validators that fail even if overall validation succeeds.

I would have expected the output generated to be an OR of the validators or regexes and allow the output if any would have passed it

Aug 5 2020, 10:08 AM · VyOS 1.3 Equuleus (1.3.0-epa1)

Aug 4 2020

thomas-mangin added a comment to T2518: Add support for IPv6 NAT (NPTv6).

Thank you for writing some testing code using the smoketest repository. It may take a few working days for anyone to come back to you.

Aug 4 2020, 1:50 PM · VyOS 1.4 Sagitta (1.4.0-epa3)

Aug 3 2020

thomas-mangin added a comment to T2755: Requirements for partial interface setup.

Thank you for the feedback, even if it was not what I was hoping for !

Aug 3 2020, 10:48 PM · VyOS 1.3 Equuleus (1.3.6), VyOS 1.4 Sagitta
thomas-mangin added a comment to T1677: Support configuration of Ethernet SMP affinity in new Python/XML implementation.

I would not use cpu<numbe> but just <number> like is used for taskset for example, but it would be a real improvement for users.
An op command should be provided giving the affinity of CPU ( from lscpu ) and the documentation should warn about interrupt crossing numa domains (for the case where a network card is providing multiple interfaces).

Aug 3 2020, 2:13 PM · VyOS 1.3 Equuleus (1.3.0)

Aug 2 2020

thomas-mangin updated the task description for T2755: Requirements for partial interface setup.
Aug 2 2020, 11:22 AM · VyOS 1.3 Equuleus (1.3.6), VyOS 1.4 Sagitta
thomas-mangin updated the task description for T2755: Requirements for partial interface setup.
Aug 2 2020, 9:41 AM · VyOS 1.3 Equuleus (1.3.6), VyOS 1.4 Sagitta
thomas-mangin created T2755: Requirements for partial interface setup.
Aug 2 2020, 9:32 AM · VyOS 1.3 Equuleus (1.3.6), VyOS 1.4 Sagitta

Jul 31 2020

thomas-mangin added a comment to T2750: Use m4 as a template processor.

And there are some PR pending on that exact code ..

Jul 31 2020, 4:55 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta
thomas-mangin added a comment to T2750: Use m4 as a template processor.

If anything this code could/should be extracted in an internal library and then a tool created to replace what we have so the behaviour is consistent in both cases.

Jul 31 2020, 4:50 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta
thomas-mangin added a comment to T2750: Use m4 as a template processor.

There is now some python XML code to parse the XML. m4 is not a nice tool. If better pre-processing is required, which I would not argue for, please explain the issue you are trying to solve.

Jul 31 2020, 4:48 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta

Jul 30 2020

thomas-mangin added a comment to T2214: BGP peers dropping randomly.

related to T1699

Jul 30 2020, 3:08 PM · VyOS 1.2 Crux

Jul 29 2020

thomas-mangin added a comment to T2738: Modifying configuration in the "interfaces" section from VRRP transition scripts causes configuration lockup and high CPU utilization.
Jul 29 2020, 3:16 PM · VyOS 1.4 Sagitta, VyOS 1.3 Equuleus (1.3.0-epa1)
thomas-mangin added a comment to T2245: Need to create a common logging module for Python scripts.

It may be a good idea to also have an option to hook debug logging to syslog.

Jul 29 2020, 2:36 PM · VyOS 1.5 Circinus
thomas-mangin added a comment to T2738: Modifying configuration in the "interfaces" section from VRRP transition scripts causes configuration lockup and high CPU utilization.

Yes, it would solve the issue ... but ... currently, we re-apply the whole interface setting, so there is no change to have the vyos and live configuration not sync'ed.
This would be lost. It is a trade-off, but it could be done. It would be however the only sub-system working that way.

Jul 29 2020, 2:23 PM · VyOS 1.4 Sagitta, VyOS 1.3 Equuleus (1.3.0-epa1)
thomas-mangin placed T2738: Modifying configuration in the "interfaces" section from VRRP transition scripts causes configuration lockup and high CPU utilization up for grabs.

Ideally which interface is master/slave should be recorded and handled by VyOS so that users do not have to put some workaround like this one to know.

Jul 29 2020, 2:00 PM · VyOS 1.4 Sagitta, VyOS 1.3 Equuleus (1.3.0-epa1)
thomas-mangin added a comment to T2738: Modifying configuration in the "interfaces" section from VRRP transition scripts causes configuration lockup and high CPU utilization.

I do not have a lab to reproduce this ATM.

Jul 29 2020, 10:55 AM · VyOS 1.4 Sagitta, VyOS 1.3 Equuleus (1.3.0-epa1)
thomas-mangin claimed T2738: Modifying configuration in the "interfaces" section from VRRP transition scripts causes configuration lockup and high CPU utilization.
Jul 29 2020, 9:53 AM · VyOS 1.4 Sagitta, VyOS 1.3 Equuleus (1.3.0-epa1)

Jul 25 2020

thomas-mangin added a comment to T2723: Support tcptraceroute.

Sorry on behalf of the team. The process of PR review is not ideal. I appreciate that you have asked for merge, and would be probably expecting some feedback As it was not, and that you got neither yet. I know it can be a bit frustrating .. I also have PRs waiting! 🥱
Hopefully there will be more regular review going forward, in the meanwhile please be assured that your contribution is appreciated and again sorry for the wait.

Jul 25 2020, 6:01 PM · VyOS 1.3 Equuleus (1.3.0)

Jul 24 2020

thomas-mangin added a comment to T2719: Standardized op mode script structure.

@efficiosoft understood. We tend to all hangout there to help each other. If you have another way I/we can relate to you to support you (but here) let us know.

Jul 24 2020, 9:18 AM · VyOS 1.3 Equuleus (1.3.5), VyOS 1.4 Sagitta

Jul 23 2020

thomas-mangin added a comment to T2719: Standardized op mode script structure.

@efficiosoft are you on our slack channel ?

Jul 23 2020, 2:52 PM · VyOS 1.3 Equuleus (1.3.5), VyOS 1.4 Sagitta
thomas-mangin added a comment to T2719: Standardized op mode script structure.

Well, it would be trivial to add an --auto-reload switch to the daemon for development purposes which could enable an inotify watcher over the XML files.

Jul 23 2020, 1:41 PM · VyOS 1.3 Equuleus (1.3.5), VyOS 1.4 Sagitta
thomas-mangin added a comment to T2719: Standardized op mode script structure.

@efficiosoft asking users to fire a daemon is not really user-friendly :-) Once a daemon is loaded, whatever change is done to any initialisation data on the disk will not affect it. Should a tool exist loading the same data each time, then changes can be tested without affecting the running daemon.

Jul 23 2020, 8:44 AM · VyOS 1.3 Equuleus (1.3.5), VyOS 1.4 Sagitta

Jul 22 2020

thomas-mangin added a comment to T2719: Standardized op mode script structure.

Thank you for the offer, having read your patch it seems you are indeed fluent in Python and as there is lots to do so I am sure you will be able to help :-)
As @dmbaturin started this, I will let him come back to you about what could be done.

Jul 22 2020, 10:19 PM · VyOS 1.3 Equuleus (1.3.5), VyOS 1.4 Sagitta

Jul 16 2020

thomas-mangin added a comment to T2658: Interface description comment display error.

@SrividyaA the task is assigned to you, if you are going to fix it, all good, otherwise happy to do so.

Jul 16 2020, 9:01 AM · VyOS 1.3 Equuleus (1.3.0)

Jul 13 2020

thomas-mangin added a comment to T2666: Packet Processing with eBPF and XDP.

https://lwn.net/Articles/822744/

Jul 13 2020, 1:46 PM · VyOS 1.3 Equuleus (1.3.0)

Jul 7 2020

thomas-mangin added a comment to T2689: Add helper functions to query changes between session and effective configs.

As I click "sail", I just realise that as there is only one config per router, ConfigDict could be a subclass of Config which could be itself singleton. So even if it is subclassed, all instances could/would share the same underlying data and could be used inter-exchangeably for the content of the config.

Jul 7 2020, 8:44 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2689: Add helper functions to query changes between session and effective configs.

@jestabro I would like to hear why you advocate this API and why you believe it is better than the one I have suggested.

Jul 7 2020, 8:40 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2689: Add helper functions to query changes between session and effective configs.

Regarding the API proposed, most of these functions are also syntactic sugar for the same operations. Looking at the use cases, there is two: getting information about a leaf value, or getting information about tagNode changes.

Jul 7 2020, 9:27 AM · VyOS 1.3 Equuleus (1.3.0)

Jul 6 2020

thomas-mangin added a comment to T2665: vyos.xml.defaults for tag nodes.

Ok, I will look at how we can use the current configuration to insert the tagNode name when we generate the default configuration

Jul 6 2020, 7:06 AM · VyOS 1.4 Sagitta

Jul 5 2020

thomas-mangin created T2688: add xml definition to router.
Jul 5 2020, 2:22 PM · VyOS 1.5 Circinus

Jun 30 2020

thomas-mangin added a comment to T2665: vyos.xml.defaults for tag nodes.

Re-reading the entry, I am now unsure what you believe should be different.

Jun 30 2020, 9:25 PM · VyOS 1.4 Sagitta
thomas-mangin added a comment to T2665: vyos.xml.defaults for tag nodes.

Yes, I should parse the tagNode and insert them into the default data.

Jun 30 2020, 5:03 PM · VyOS 1.4 Sagitta
thomas-mangin added a comment to T2662: get_config_dict includes node name as key only for tag and leaf nodes.

Thank you for this explaining what is happening. I would indeed rather tag were used as keys.

Jun 30 2020, 7:57 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 29 2020

thomas-mangin added a comment to T2636: get_config_dict() shall always return a list on <multi/> nodes.

Yes, so there is no way to know at parsing time (unless you have two elements or check the XML) that this is a multi-element. Something "computer-friendly" would generate:

test {
    something [one]
}
Jun 29 2020, 1:24 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2636: get_config_dict() shall always return a list on <multi/> nodes.

The data returned by get_config_dict should always have the same format to prevent any function using it to have to check if one element is a list or a string.

Jun 29 2020, 9:41 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2653: "set interfaces" Python handler code improvements - next iteration.

Agreeing and defining the name of the keys to be used in the dict passed to verify/generate/apply, would be very beneficial for the project.
The current code does this by calling a number of helper function (so that all interface have the same keys) but this is not defined or/and enforced.

Jun 29 2020, 9:31 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 28 2020

thomas-mangin added a comment to T2659: Add fastnetmon (DDoS detection) support.

Should we provide the script which perform the change and define what action can be performed in the xml?

Jun 28 2020, 9:22 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 27 2020

thomas-mangin added a comment to T2582: Script daemon to offload processing during commit.

The work to perform the get_config/verify/generate/apply in python is already available in this tree:
https://github.com/thomas-mangin/vyos-1x/tree/T2522

Jun 27 2020, 12:53 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2656: XML: Python default dictionary returns wrong dictionary level(s).

@cpo, you can change the defaults from True to False in the patch if this is what you want to do.

Jun 27 2020, 12:50 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2656: XML: Python default dictionary returns wrong dictionary level(s).

https://github.com/vyos/vyos-1x/pull/479

Jun 27 2020, 12:49 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 26 2020

thomas-mangin closed T2057: Generalised Interface configuration as Resolved.
Jun 26 2020, 1:32 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 25 2020

thomas-mangin added a comment to T2582: Script daemon to offload processing during commit.

I propose to provide alternatives is_ functions using the new XML code. I will provide a patch for review.

Jun 25 2020, 2:51 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin claimed T2643: show interfaces does not scale with terminal width.
Jun 25 2020, 1:55 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2038: repository organisation change.

I agree that this kind of changes are better done at the start of a development cycle.

Jun 25 2020, 1:53 PM · Invalid
thomas-mangin added a comment to T2649: Ensure configration mode scripts conform to coding guidelines.

There is really no difference between calling Config() and using it functions in the code - as is done by every module - vs having the class inherit from it as I do not use any private ( _ prefixed ) functions. I can modify the code to have self.config as an object of the class instead but IMO this is cosmetic and does not change anything with the API and coding guideline.

Jun 25 2020, 1:48 PM · VyOS 1.3 Equuleus
thomas-mangin added a comment to T2640: Running VyOS inside Docker containers.

not willing to take the lead on this task but happy to help.

Jun 25 2020, 1:29 PM · VyOS 1.3 Equuleus (1.3.3)
thomas-mangin added a comment to T2649: Ensure configration mode scripts conform to coding guidelines.

@jestabro could you please clarify how interfaces-tunnel.py is not following the guideline. The class it uses to generate the dict is internal to the get_config() function and the dict API is respected.

Jun 25 2020, 1:28 PM · VyOS 1.3 Equuleus

Jun 24 2020

thomas-mangin added a comment to T2637: Vlan is not removed from the system.

The problem also probably exists with vif_s .. it needs to be investigated.

Jun 24 2020, 10:28 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2637: Vlan is not removed from the system.

https://github.com/vyos/vyos-1x/pull/474/files

Jun 24 2020, 10:27 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin claimed T2637: Vlan is not removed from the system.
Jun 24 2020, 10:05 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin closed T2634: remove autogeneration of interface "ip section" from vyatta-cfg-system as Resolved.
Jun 24 2020, 8:24 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2634: remove autogeneration of interface "ip section" from vyatta-cfg-system.

was done part of T2633

Jun 24 2020, 8:23 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 23 2020

thomas-mangin added a comment to T2630: Allow Interface MTU over 9000.

could have the range 68-65536 but it may be a bit on the extreme side.

Jun 23 2020, 7:28 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2630: Allow Interface MTU over 9000.

https://github.com/vyos/vyos-1x/pull/473 was merged so now need to agree sane limits for the XML.

Jun 23 2020, 7:27 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2630: Allow Interface MTU over 9000.

I have a PR for this (not changing the XML limiting range) for review ATM.

Jun 23 2020, 7:25 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2587: Cannot enable the interface when the MTU is set to less than 1280.

related to T2630

Jun 23 2020, 1:22 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin created T2634: remove autogeneration of interface "ip section" from vyatta-cfg-system.
Jun 23 2020, 1:20 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2633: Error with arp_accept on tun interface.
vyos@vyos# set interfaces tunnel tun0 description '*** SITE1 ***'
[edit]
vyos@vyos# set interfaces tunnel tun0 encapsulation 'gre-bridge'
[edit]
vyos@vyos# set interfaces tunnel tun0 local-ip '10.0.3.239'
[edit]
vyos@vyos# set interfaces tunnel tun0 remote-ip '10.0.32.240'
[edit]
vyos@vyos# set interfaces tunnel tun0 ip enable-arp-accept
[edit]
vyos@vyos# set interfaces tunnel tun0 ip enable-arp-announce
[edit]
Jun 23 2020, 1:14 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2633: Error with arp_accept on tun interface.

https://github.com/vyos/vyos-1x/pull/472

Jun 23 2020, 1:07 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2629: VXLAN interfaces don't actually allow you to configure most settings.

Breaking user existing configs should be a no-no. If the options can be used that way under Linux, then we should not restrict it if it is not invalid. If we intend to prevent it then we would need a way to warn users clearly and we have no framework for this ATM.

Jun 23 2020, 7:20 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2630: Allow Interface MTU over 9000.

Need to add max MTU to operational mode and create a new validator using it and applying it to the xml. The only question being if the information is always available.

Jun 23 2020, 7:12 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin claimed T2630: Allow Interface MTU over 9000.
Jun 23 2020, 7:09 AM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2630: Allow Interface MTU over 9000.

I see no issue with the proposed solution.

Jun 23 2020, 7:09 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 20 2020

thomas-mangin added a comment to T2621: show interfaces repeats interface description if it is longer then an arbitrary number of characters.

LOL - I could have commited :-) Thanks !

Jun 20 2020, 8:34 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 15 2020

thomas-mangin closed T2591: show command has wrong interfaces ordering as Resolved.
Jun 15 2020, 3:40 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2591: show command has wrong interfaces ordering.

@Dmitry correct same bug - thank you. resolved.

Jun 15 2020, 3:40 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin closed T2576: "show interfaces" does not return VTI as Resolved.
Jun 15 2020, 3:39 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2599: "show interfaces" does not list VIF interfaces in ascending order.

https://github.com/vyos/vyos-1x/pull/457

Jun 15 2020, 3:23 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2576: "show interfaces" does not return VTI.

The patch was merged and the issue should be resolved with the next ISO.

Jun 15 2020, 2:10 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2576: "show interfaces" does not return VTI.

https://github.com/vyos/vyos-1x/pull/456

Jun 15 2020, 11:53 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 11 2020

thomas-mangin added a comment to T2582: Script daemon to offload processing during commit.

Thank you very much for the POC. Very useful to understand the proposed design.

Jun 11 2020, 12:45 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 10 2020

thomas-mangin added a comment to T2576: "show interfaces" does not return VTI.

hello Fabio, could you please show me how the vti interfaces are presented under Linux so I can fix the code. I thought I had properly ported the code from Perl to Python must I must have misunderstood something.

Jun 10 2020, 12:50 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 5 2020

thomas-mangin added a comment to T2549: repository restructuration suggestions.

Yes, we need to try/except the apply section (the other should never fail but we could still catch errors to not leave the system in an unknown state) but when applying the reverse configuration (ie: invert effective and new and re-apply) one must then be careful if that fails too (we do not want a forever loop :p). The code already runs all the get_dict and all the verify first, so we will only apply if all is ok, but still issues could occur.

Jun 5 2020, 4:32 PM · VyOS 2.0.x
thomas-mangin added a comment to T2522: Python CLI.

@jjakob control-R should be implemented. It is a feature I use too and expect it - just did not think it was worth a demo 0.0 release - there is plenty to improve with the code in the branch - it surely has bugs -as I said POC :-)

Jun 5 2020, 3:37 PM · VyOS 2.0.x
thomas-mangin added a comment to T2549: repository restructuration suggestions.

generate should make a backup of the previous file before generating the new one. It will then make it possible to create the rollback as a file move and service reload.

Jun 5 2020, 2:39 PM · VyOS 2.0.x
thomas-mangin added a comment to T2522: Python CLI.

@jjakob the code can be installed on a router (using my vyos update tool - after running vyos setup router )

Jun 5 2020, 2:33 PM · VyOS 2.0.x

Jun 4 2020

thomas-mangin created T2549: repository restructuration suggestions.
Jun 4 2020, 8:37 PM · VyOS 2.0.x

Jun 2 2020

thomas-mangin added a comment to T2522: Python CLI.

It should not be too hard to convert the current parser to read.
https://gist.github.com/thomas-mangin/17a450a3e26a4cc41902475c0a1dfe5f

Jun 2 2020, 11:32 PM · VyOS 2.0.x
thomas-mangin added a comment to T2522: Python CLI.

@jjakob you are right, there is no shell integration and this is using the python promt-toolkit library to handle input/output.

Jun 2 2020, 8:10 PM · VyOS 2.0.x
thomas-mangin added a comment to T2539: Issues with parsing ip range for source nat translation address.

Thank you for reporting this issue, it looks like that parser allows ranges of IP address (IP hyphen IP) but the parser does not. You could get around using CIDR notation but this indeed need looking into.

Jun 2 2020, 7:44 PM · VyConf
thomas-mangin added a comment to T2542: OpenVPN client tap interfaces not coming up.

should help to go further in the testing, but it is still failing on set_state but I do not know why it should be done if the interface is managed by openvpn. The relevant code is:

Jun 2 2020, 7:22 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2522: Python CLI.

As a side note, if there is a need to migrate between backends, it would be possible to change the code to have an option to indicate which storage should be used and allow loading from one, saving to another as long as the XML schema is the same.

Jun 2 2020, 3:15 PM · VyOS 2.0.x
thomas-mangin added a comment to T2522: Python CLI.

I see the POC as complete and conclusive, it would only make sense to spend more time on things once this is done (or to add support for control via HTTP/API).

Jun 2 2020, 3:12 PM · VyOS 2.0.x
thomas-mangin added a comment to T2522: Python CLI.

Configuring 100 dummy interfaces (no thread) on a local VirtualBox, all tests done from boot

Jun 2 2020, 2:10 PM · VyOS 2.0.x

Jun 1 2020

thomas-mangin added a comment to T2418: Interfaces completion (list_interfaces.py) is slow.

Thank you for this long answer @jjakob. I want to demonstrate that a full python solution can provide the performance we need. I appreciate that changing the Vyatta code need to be done carefully with many consideration about backward compatibility. What I am doing is surely 1.4 material. However I do not believe this is as hard to achieve as everyone may think, and as working code is the best way to discuss code design, that is what I am doing.

Jun 1 2020, 12:34 AM · VyOS 1.3 Equuleus (1.3.9)
thomas-mangin added a comment to T2522: Python CLI.

The cli is mostly functional. I am able to validate the data as it is typed in conf mode (the CLI has both completion and validation working), as soon as delete and show (the current show is "show configuration commands") are implemented, it will be mostly usable. The code can already load a configuration from file, allow some "set" edit and then allow the use of save (the config format is a number of "set" commands, one per line), respect the initialisation order of the XML.

Jun 1 2020, 12:29 AM · VyOS 2.0.x

May 31 2020

thomas-mangin added a comment to T2088: Increased boot time from 1.2.4 -> 1.3 rolling by 100%.

I used @runar code on my branch working on T2522 .. Configuring 100 dummy interface went from 42 to 8 seconds.

May 31 2020, 11:56 PM · VyOS 1.3 Equuleus (1.3.0)

May 30 2020

thomas-mangin added a comment to T2418: Interfaces completion (list_interfaces.py) is slow.
vyos@vyos# diff -u /usr/libexec/vyos/completion/list_interfaces.py list_interfaces.py
--- /usr/libexec/vyos/completion/list_interfaces.py	2020-03-21 19:47:22.000000000 +0000
+++ list_interfaces.py	2020-05-30 18:45:30.564000000 +0000
@@ -39,4 +39,7 @@
     print(" ".join([intf for intf in matching("bondable") if '.' not in intf]))
May 30 2020, 6:08 PM · VyOS 1.3 Equuleus (1.3.9)
thomas-mangin updated subscribers of T2522: Python CLI.

I just had a look at VyConf and it is excellent, I fear that no one but @dmbaturin can maintain participate to it.
Also, VyConf will still need to fork all the python code and unless we have a resolution to T2088 - I am not sure what the best path forward will be

May 30 2020, 5:38 PM · VyOS 2.0.x
thomas-mangin updated subscribers of T2418: Interfaces completion (list_interfaces.py) is slow.

I tried to get a flamegraph showing what I was wanting to say but .. do not look very clear :-(

May 30 2020, 3:45 PM · VyOS 1.3 Equuleus (1.3.9)
thomas-mangin added a comment to T2418: Interfaces completion (list_interfaces.py) is slow.

May 30 2020, 3:30 PM · VyOS 1.3 Equuleus (1.3.9)
thomas-mangin added a comment to T2500: vyos-build scripts/build-packages builds vyos-1x with version 0.0-no.git.tag.

I believe it was git pull —tags which fixed it for me ..

May 30 2020, 1:53 PM · VyOS 1.3 Equuleus (1.3.0)
thomas-mangin added a comment to T2436: equuleus: Testing: vyos-1x: syntax checking Python scripts in PR.

Many scripts also so do implement if name == “main

May 30 2020, 1:49 PM · VyOS 1.3 Equuleus (1.3.0)

May 26 2020

thomas-mangin added a comment to T2425: Rewrite all policy zebra filters to XML/Python style.

Also related to T2088

May 26 2020, 2:42 PM · VyOS 1.3 Equuleus (1.3.0)