summaryrefslogtreecommitdiff
path: root/python/vyos/config.py
AgeCommit message (Collapse)Author
2022-03-10Revert "save-config: T4292: rewrite vyatta-save-config.pl to Python"John Estabrook
This reverts commit c4d389488970c8510200cac96a67182e9333b891. Revert while investigating failure in vyos-configtest.
2022-03-08save-config: T4292: rewrite vyatta-save-config.pl to PythonJohn Estabrook
2021-04-16config: T3481: add switch to prevent mangling of tag node valuesJohn Estabrook
2020-08-30config: T2636: get_config_dict() returns a list on multi node by defaultJohn Estabrook
Unless no_multi_convert is True, a single valued multi node will be returned as a list by get_config_dict(). Modification of Thomas Mangin's version.
2020-07-22config: T2707: use ConfigSource and refactor Config methodsJohn Estabrook
2020-07-17config: T2689: cache config_dictJohn Estabrook
This is a minor modification of the implementation by Thomas Mangin.
2020-07-03config_dict: update docstringJohn Estabrook
2020-07-03config_dict: T2670: remove dependency on show_configJohn Estabrook
2020-07-01config_dict: T2668: move keyword arg get_first_key into get_sub_dictJohn Estabrook
2020-07-01config: T2667: add missing checkJohn Estabrook
2020-07-01config: T2667: use get_sub_dict for get_config_dict(path, ...)John Estabrook
2020-06-18T2614: add a key mangling option to vyos.config.get_config_dict()Daniil Baturin
2020-06-16config: T2568: add missing error checkingJohn Estabrook
2020-05-17config: T2409: effective config should be empty at boot initializationJohn Estabrook
2020-05-17config: return empty dict if configuration under path is emptyJohn Estabrook
2020-05-05config: T2427: always return copies of listsJernej Jakob
Since lists in python are assigned by reference, taking the return value from these functions and modifying it will modify all other return values of functions that called the function before and did not explicitly copy it. To be safe, always make a copy of lists before returning them.
2020-03-29vyos.config: T2180: ignore CLI edit level in show_configJohn Estabrook
2020-01-29T1989: use explicit active/working showConfig options to prevent getting diffsDaniil Baturin
when there are uncommitted changes.
2020-01-24Python: T1986: close subprocess channelChristian Poessinger
Without closing the communication channel to the subprocess, Python will complain e.g. when executing vyos-smoketest binary. /usr/lib/python3/dist-packages/vyos/configsession.py:110: ResourceWarning: unclosed file <_io.BufferedReader name=3> self.__run_command([CLI_SHELL_API, 'setupSession']) ResourceWarning: Enable tracemalloc to get the object allocation traceback
2019-12-16Merge branch 'current' into equuleushagbard
2019-12-11vyos.config: T1846: ignore edit level when obtaining running configJohn Estabrook
In addition to ignoring edit level for the session config (12a21a4b), the running config should be parsed from the top level.
2019-12-10vyos.config: T1862: restore regex after mergeJohn Estabrook
2019-12-10Merge branch 'current' of github.com:vyos/vyos-1x into equuleusChristian Poessinger
* 'current' of github.com:vyos/vyos-1x: T1855, T1826: Restore support for reboot/poweroff in M minutes. vyos.config: T1764: allow for list argument to exists, in value case vyos.config: T1846: ignore edit level when obtaining working config T1843: use include files for interface proxy-arp-pvlan option T1843: use include files for interface proxy-arp configuration T1843: use include files for interface arp-cache-timeout configuration T1843: use include files for interface link-detect feature T1843: use include files for interface MTU size T1843: use include files for interface MAC address T1843: use include files to disable interface (admin down) T1843: use include files for interface description T1843: use include files for DHCP/DHCPv6 options T1843: recursively include IP address definitions in VIF/VIF-S definitions T1843: add support for recursive includes T1843: use include files for VIF/VIF-S interfaces T1843: use include files for IPv4/IPv6 interface address configuration T1843: run interface-definitions though GCC preprocessor
2019-12-09vyos.config: T1764: allow for list argument to exists, in value caseJohn Estabrook
2019-12-09vyos.config: T1846: ignore edit level when obtaining working configJohn Estabrook
2019-12-06equuleus: T1862: Use regex pattern \s+ to split strings on whitespaceJohn Estabrook
2019-12-06Merge branch 'current' of github.com:vyos/vyos-1x into equuleusChristian Poessinger
* 'current' of github.com:vyos/vyos-1x: openvpn: bridge: T1556: remove obsolete bridge-group definition ifconfig: T1849: fix DHCPv6 startup Python/VyOS validate: T1849: handle is_ipv6()/is_ipv6() exceptions ifconfig: T1793: remove dhcpv6 client debug output ddclient: T1853: bugfix TypeError exception syslog: T1845: syslog host no longer accepts a port syslog: code formatting syslog: T1845: syslog host no longer accepts a port syslog: renaming files and conf script to fit new scheme T1855, T1826: clean up the reboot/shutdown script. wireguard: T1853: disable peer doesn't work Revert "syslog: T1845: syslog host no longer accepts a port" dmvpn: T1784: Add swanctl load call syslog: T1845: syslog host no longer accepts a port [vyos.config] T1847: correctly set_level for path given as empty string
2019-12-04[vyos.config] T1847: correctly set_level for path given as empty stringJohn Estabrook
2019-12-04Merge branch 'current' of github.com:vyos/vyos-1x into equuleusChristian Poessinger
* 'current' of github.com:vyos/vyos-1x: shutdown: T1826: Modify cancel reboot msg T1801: move escaping of backslashes into configtree vxlan: T1636: remove unused import statements geneve: T1799: remove unused import statements
2019-12-03T1801: move escaping of backslashes into configtreeJohn Estabrook
2019-11-17Merge branch 'current' of github.com:vyos/vyos-1x into equuleusChristian Poessinger
* 'current' of github.com:vyos/vyos-1x: dns: T1786: add proper processing of 'system disable-dhcp-nameservers' openvpn: fix typo in op-mode command on display rx bytes T1801: escape isolated backslashes before passing to ConfigTree() wireless: T1627: fix interface names for list_interfaces.py [service https] T1443: add setting of HTTPS listen port
2019-11-17T1801: escape isolated backslashes before passing to ConfigTree()John Estabrook
2019-10-31Merge branch 'current' of github.com:vyos/vyos-1x into equuleusChristian Poessinger
* 'current' of github.com:vyos/vyos-1x: [conf completion]: T1779: Add tunnels to completion [XML templates] T1772: Changed old hacks to proper regex, according to the fix Add a function for retrieving config dicts. snmp: make script extension code more readable snmp: use proper stat literals on chmod() snmp: fix verify() indent on script extensions snmp: fix verify() bail out early order snmp: T1738: cleanup import statements T1759: Fixing dependency bug from previous commit T1773, T1774: add a show config operation with JSON and raw options. T1759: Merging interface.py into ifconfig.py Allow list arguments in the vyos.config show_config() function. Replace the try and wait for segfault approach with explicit inSession check. T1773: add a script for converting the config to JSON. It also exposes those functions in vyos.configtree [XML templates] T1772: Add escaping of `\` symbol in `<regex>`
2019-10-28Add a function for retrieving config dicts.Daniil Baturin
2019-10-27Allow list arguments in the vyos.config show_config() function.Daniil Baturin
2019-10-27Replace the try and wait for segfault approach with explicit inSession check.Daniil Baturin
2019-10-25[vyos.config] T1758: adjust regex for change in Python 3.7John Estabrook
Python 3.7 considers r'\s*' an empty pattern match, instead of the previous behaviour of matching whitespace characters.
2019-10-24[vyos.config] T1764: support both string and list arguments in config functions.Daniil Baturin
2019-10-23[vyos.config] T1758: check that config setup has completed beforeJohn Estabrook
calling showConfig, else, default to config.boot
2019-10-23[vyos.config] T1758: use vyos.configtree for reading values,Daniil Baturin
instead of calling cli-shell-api.
2019-07-03[vyos.config] T1505: correct return_effective_values output splitting.Daniil Baturin
2019-06-13T1431: make it possible to obtain session environment and run vyos.config ↵Daniil Baturin
functions under it. This is required for programs running outside a CLI session, like the future API daemon.
2019-05-28T1397: Rewrite the config merge scriptJohn Estabrook
Add vyos.config.show_config to show working configuration. Add vyos.remote.get_config_remote() for obtaining remote config files.
2018-08-26T801: correct parsing of returnValues and listNodes output.Daniil Baturin
2018-06-20Initial API documentation for vyos.config.Daniil Baturin
2018-06-16Set the license of all vyos.* libraries to LGPLv2+.Daniil Baturin
2018-02-28Fix return_values function (return a list instead of a raw string).Daniil Baturin
2017-10-26T433: Add "effective" observers and inSession to the vyos.config libraryTaniadz
2017-09-08Make the vyos.config.Config's return_value(s) and list_node functions behave ↵Daniil Baturin
like their Perl counterparts. Most scripts used to do something like my $foo = $config->returnValue("system foo"); if !defined($foo) { $foo = $defaultFooValue; } In most cases values do not exist because they are optional and simply not set. In a substantial minority of cases they don't exist but are mandatory, in this case it's probably a good practice to check if it exists first. In rare but frustrating cases returnValue returns undef because the path is wrong. It was tempting but as it turns out impractical to force the user to handle every undefined value as an error, but the cost of wrapping every return_value call in a try/except block is too high. Instead we should facilitate the most common case. For this, those functions now support an optional named argument default=None so an optional value with a sensible default can be handled like $foo = config.return_value("system foo", default="bar")
2017-09-08Automatically decode the output of cli-shell-api as ASCIIDaniil Baturin
to avoid having to decode it anywhere else.