Page MenuHomeVyOS Platform
Feed Search

Jun 30 2020

jestabro added a comment to T2662: get_config_dict includes node name as key only for tag and leaf nodes.

One compelling idea is to move the implementation of the path argument in get_config_dict out of show_config, and replace it with a function to get a sub dictionary from the full get_config_dict. An example implementation is below. This would not only normalize the result, independent of idiosyncrasies of the current backend, but also future proof the form for the switch to vyconf. Secondly, it would allow us to remove the dependency on show_config itself, since that call is already made at Config initialization. Thirdly, it would allow direct use for off-line config instances, namely those for testing and offload to daemon.

Jun 30 2020, 1:44 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 29 2020

jestabro updated the task description for T2662: get_config_dict includes node name as key only for tag and leaf nodes.
Jun 29 2020, 9:26 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro updated the task description for T2662: get_config_dict includes node name as key only for tag and leaf nodes.
Jun 29 2020, 9:24 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro triaged T2662: get_config_dict includes node name as key only for tag and leaf nodes as High priority.
Jun 29 2020, 9:19 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2636: get_config_dict() shall always return a list on <multi/> nodes.

But you make an excellent point, @thomas-mangin ; it may be best to normalize that within config_dict itself, now that we have the xml processing available ...

Jun 29 2020, 1:42 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2636: get_config_dict() shall always return a list on <multi/> nodes.

showConfig produces the following for multi-nodes:

Jun 29 2020, 12:58 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2636: get_config_dict() shall always return a list on <multi/> nodes.

The value vs list is not produced by showConfig, but rather due to matching in configtree. We'll let @dmbaturin consider if this is an issue or not, but I imagine a jinja macro could address the problem where it occurs in template generation.

Jun 29 2020, 12:51 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 27 2020

jestabro lowered the priority of T2612: HTTPS API, changing API key fails but goes through from High to Normal.

Changing the api settings (for example: keys, port) will cause a disruptive reload of the http-api service; it will of course succeed, but the response for that set command will reflect the reloading. This is known, if misleading behaviour. I will lower this to normal priority, and consider if we can improve the error/success message.

Jun 27 2020, 1:45 PM · VyOS 1.3 Equuleus (1.3.7), VyOS 1.5 Circinus, VyOS 1.4 Sagitta

Jun 25 2020

jestabro added a comment to T2649: Ensure configration mode scripts conform to coding guidelines.

@jjakob that is in fact what we are doing: for stability, some of the changes are necessarily incremental --- these are not new abstractions, but rather, refinements of the existing ones, which allow the separation of new code from legacy. We are avoiding any patching of the old backend, simply replacing with the structures which will allow a switch to vyconf, while improving performance and extension of the new code.

Jun 25 2020, 3:30 PM · VyOS 1.3 Equuleus
jestabro added a comment to T2649: Ensure configration mode scripts conform to coding guidelines.

I agree @jjakob that we are still converging on the best way to structure the salient information, namely the difference between effective and session configs, however this will be internalized: a simple example of use for testing and daemon (and other) is:

Jun 25 2020, 1:59 PM · VyOS 1.3 Equuleus
jestabro added a comment to T2649: Ensure configration mode scripts conform to coding guidelines.

I'm not sure that we have to go that far, but let me take a closer look, and we can discuss; the model is to be able to call, in batch, the functions of an arbitrary conf_mode script, without variation in structure or behaviour.

Jun 25 2020, 1:55 PM · VyOS 1.3 Equuleus
jestabro added a comment to T2649: Ensure configration mode scripts conform to coding guidelines.

Only that it inherits from Config, hence the form of the Config instance can not be changed, say, to 'off-line' Config, or 'testing' Config, which would have different init functions; if it took Config as an argument instead, or a named argument with default the 'live' Config, then it would not be an issue for generalization. But we should discuss the details further, and collect results and suggestions.

Jun 25 2020, 1:41 PM · VyOS 1.3 Equuleus
jestabro added a subtask for T2582: Script daemon to offload processing during commit: T2649: Ensure configration mode scripts conform to coding guidelines.
Jun 25 2020, 12:32 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a parent task for T2649: Ensure configration mode scripts conform to coding guidelines: T2582: Script daemon to offload processing during commit.
Jun 25 2020, 12:32 PM · VyOS 1.3 Equuleus
jestabro created T2649: Ensure configration mode scripts conform to coding guidelines.
Jun 25 2020, 12:29 PM · VyOS 1.3 Equuleus

Jun 24 2020

jestabro updated the task description for T2582: Script daemon to offload processing during commit.
Jun 24 2020, 6:55 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 18 2020

jestabro claimed T2612: HTTPS API, changing API key fails but goes through.
Jun 18 2020, 12:17 PM · VyOS 1.3 Equuleus (1.3.7), VyOS 1.5 Circinus, VyOS 1.4 Sagitta

Jun 17 2020

jestabro updated the task description for T2582: Script daemon to offload processing during commit.
Jun 17 2020, 1:12 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 16 2020

jestabro closed T2568: Add some missing checks in config, a subtask of T2501: Cannot recover from failed boot config load, as Resolved.
Jun 16 2020, 3:54 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2568: Add some missing checks in config as Resolved.
Jun 16 2020, 3:54 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro committed rVYOSONEX3891799d970f: config: T2568: add missing error checking.
Jun 16 2020, 3:54 PM
jestabro closed T2604: Remove use of is_tag in system-syslog.py as Resolved.
Jun 16 2020, 3:51 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro committed rVYOSONEX796a815c6014: syslog: T2604: remove unnecessary use of is_tag.
Jun 16 2020, 3:51 PM
jestabro created T2604: Remove use of is_tag in system-syslog.py.
Jun 16 2020, 3:20 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 11 2020

jestabro added a comment to T2582: Script daemon to offload processing during commit.
  1. commit restrictions/permissions have not changed; all handled in the backend.
  2. The daemon can not load the configs, as it does not have/need access to the config session; that's the point.
  3. ?
  4. the conf_mode script needs to reference the global config; re-setting level is basic hygiene --- the script should ask itself 'what if I am called again?'
  5. we want to eat the args in the node.def; so you already have it.
Jun 11 2020, 1:51 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2582: Script daemon to offload processing during commit from Open to In progress.
Jun 11 2020, 3:00 AM · VyOS 1.3 Equuleus (1.3.0)

Jun 8 2020

jestabro added a comment to T2501: Cannot recover from failed boot config load.

@jjakob. to clarify two points (for my sake as well), there are cases where config fails to the point where the config session can not be initialized, such that one can not enter a config session: here's an example --- say. during development, someone forgets to import a module in an early conf_mode script; config initialization is completely screwed --- this had occurred ages ago, and the only way I found it was that I had happened to be looking at their code a few moments previously and noticed ... that's what vyos-config-debug is for, and why it is hidden on a boot flag. You are talking about a much more reasonable case, where (I imagine) a specific configuration causes a partial failure, but one can still enter a config session. The checks in subtask T2568 may help restore the ability to debug by config/load/commit. Those checks are needed anyway.

Jun 8 2020, 2:52 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2568: Add some missing checks in config, a subtask of T2501: Cannot recover from failed boot config load, from In progress to Needs testing.
Jun 8 2020, 2:25 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2568: Add some missing checks in config from In progress to Needs testing.

https://github.com/vyos/vyos-1x/compare/current...jestabro:config-checks.patch

Jun 8 2020, 2:25 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a subtask for T2501: Cannot recover from failed boot config load: T2568: Add some missing checks in config.
Jun 8 2020, 2:23 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a parent task for T2568: Add some missing checks in config: T2501: Cannot recover from failed boot config load.
Jun 8 2020, 2:23 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2568: Add some missing checks in config from Open to In progress.
Jun 8 2020, 2:23 PM · VyOS 1.3 Equuleus (1.3.0)

Jun 6 2020

jestabro changed the status of T2501: Cannot recover from failed boot config load from Open to In progress.
Jun 6 2020, 10:11 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2501: Cannot recover from failed boot config load.

I agree with the downside of vyos-config-debug; it was provided to allow some analysis when other was not available. What was done before was a straight call to the vyatta backend; what is done now is a essentially what you're suggesting, but in a case where the context of config/configtree is not successfully initialized, hence the failure. This is a good point for analysis, however, and I will restore the behaviour, likely by (a) using a straight call to the backend, and meanwhile (b) investigating if we can have partial context for config/configtree in this case.

Jun 6 2020, 8:46 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the subtype of T2501: Cannot recover from failed boot config load from "Task" to "Bug".
Jun 6 2020, 3:17 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro lowered the priority of T2501: Cannot recover from failed boot config load from Urgent! to Normal.

The now standard method of debugging was clarified in T2409, with reference to this ticket (vyos-config-debug); the question here is whether there is any way to use 'configure; load; commit' on failed boot config load --- in the worst cases, no, as the CLI has not succssfully initialized, but will investigate. Changing to bug for evaluation.

Jun 6 2020, 3:15 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2554: Failsafe reboot timer.

Yes, let me confirm a few details here ....

Jun 6 2020, 2:50 PM · VyOS 1.4 Sagitta (1.4.0)
jestabro claimed T2554: Failsafe reboot timer.

@jjakob Thanks for a good summary of one of the issues, namely, not replacing config until 'success' (at least of boot, if not other criteria). Migration does save a backup, but we had recently discussed not doing in place change by default. I would like to assess this in relation to other recent discussions of failsafe and rollback, and then proceed with that compatible change first ...

Jun 6 2020, 2:29 PM · VyOS 1.4 Sagitta (1.4.0)

May 27 2020

jestabro added a comment to T2397: HTTP API: export OpenAPI definition.

Test package for 'vyos-api-tools' here:
https://github.com/jestabro/vyos-api-tools

May 27 2020, 8:26 PM · VyOS 1.4 Sagitta
jestabro closed T2396: Add debian package for flask-restx, a subtask of T2395: HTTP API move to flask/flask-restx as microframework, as Invalid.
May 27 2020, 7:28 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2396: Add debian package for flask-restx as Invalid.

Dependency dropped.

May 27 2020, 7:28 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro removed a parent task for T2397: HTTP API: export OpenAPI definition: T2395: HTTP API move to flask/flask-restx as microframework.
May 27 2020, 7:27 PM · VyOS 1.4 Sagitta
jestabro removed a subtask for T2395: HTTP API move to flask/flask-restx as microframework: T2397: HTTP API: export OpenAPI definition.
May 27 2020, 7:27 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2395: HTTP API move to flask/flask-restx as microframework as Resolved.

The dependency on flask-restx was dropped, in favor of FastAPI. The move to Flask itself for stability was completed,

May 27 2020, 7:27 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2397: HTTP API: export OpenAPI definition, a subtask of T2395: HTTP API move to flask/flask-restx as microframework, from In progress to Needs testing.
May 27 2020, 7:14 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2397: HTTP API: export OpenAPI definition from In progress to Needs testing.

The dependencies, such as FastAPI, are to be collected in the debian package 'vyos-api-tools'. Screenshot of the redoc page below:

oas_screen.png (612×1 px, 62 KB)

May 27 2020, 7:14 PM · VyOS 1.4 Sagitta

May 23 2020

jestabro added a comment to T2409: At boot, effective config should not be equal to current config.

Cool, thanks for pointing this out; I will take T2501, and will probably rename for clarity.

May 23 2020, 9:52 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro claimed T2501: Cannot recover from failed boot config load.
May 23 2020, 9:50 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2409: At boot, effective config should not be equal to current config.

@jjakob, yes I see the issue there; but firstly, did you try debugging with boot parameter 'vyos-config-debug' ? cf.

May 23 2020, 8:50 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2409: At boot, effective config should not be equal to current config.

@jjakob yes, thanks for pointing this out ...

May 23 2020, 8:34 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2203: http api: "Failed to generate committed config" , a subtask of T1899: Unionfs metadata folder is copied to the active configuration directory, as Resolved.
May 23 2020, 7:01 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2203: http api: "Failed to generate committed config" as Resolved.

Thanks, @fetzerms !

May 23 2020, 7:01 PM

May 22 2020

jestabro added a comment to T2497: Cache config string during commit.

low-brow caching:

May 22 2020, 8:50 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro updated the task description for T2497: Cache config string during commit.
May 22 2020, 8:47 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro created T2497: Cache config string during commit.
May 22 2020, 8:47 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2496: Set default to new syntax for config file component versions, a subtask of T2029: Switch to new syntax for config file component versions, as Resolved.
May 22 2020, 8:20 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2496: Set default to new syntax for config file component versions as Resolved.
May 22 2020, 8:20 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro committed rVYOSONEX139952b55f5f: migration: T2496: default to new syntax of version string on save.
May 22 2020, 8:14 PM
jestabro added a parent task for T2496: Set default to new syntax for config file component versions: T2029: Switch to new syntax for config file component versions.
May 22 2020, 8:07 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a subtask for T2029: Switch to new syntax for config file component versions: T2496: Set default to new syntax for config file component versions.
May 22 2020, 8:07 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2496: Set default to new syntax for config file component versions from Open to In progress.
May 22 2020, 8:07 PM · VyOS 1.3 Equuleus (1.3.0)

May 18 2020

jestabro added a comment to T2203: http api: "Failed to generate committed config" .

@fetzerms Have you seen this problem with the fix mentioned above ? If not, I will close.

May 18 2020, 5:06 PM
jestabro added a comment to T2474: Building instructions with Docker need a little more detail.

You want to fetch the repo before building; cf. the 'Generating the container section':

May 18 2020, 5:02 PM · Restricted Project

May 17 2020

jestabro closed T2409: At boot, effective config should not be equal to current config as Resolved.
May 17 2020, 7:07 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro committed rVYOSONEX1e4dd009d711: config: T2409: effective config should be empty at boot initialization.
May 17 2020, 7:05 PM
jestabro committed rVYOSONEX936e1029ab53: config: return empty dict if configuration under path is empty.
May 17 2020, 7:05 PM

May 16 2020

jestabro closed T2466: live-build encounters apt dependency problem when building with local packages as Resolved.
May 16 2020, 12:25 AM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2466: live-build encounters apt dependency problem when building with local packages from Open to In progress.
May 16 2020, 12:05 AM · VyOS 1.3 Equuleus (1.3.0)

May 10 2020

jestabro changed the status of T2409: At boot, effective config should not be equal to current config from Open to Needs testing.
May 10 2020, 3:50 AM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2409: At boot, effective config should not be equal to current config.

Suggested patch here:
https://github.com/vyos/vyos-1x/compare/current...jestabro:T2049.patch

May 10 2020, 3:50 AM · VyOS 1.3 Equuleus (1.3.0)
jestabro committed rVYOSONEX14a54b4d2a40: config: T2409: effective config should be empty at boot initialization.
May 10 2020, 3:20 AM
jestabro committed rVYOSONEXe17e4af4ec0e: config: return empty dict if configuration under path is empty.
May 10 2020, 3:20 AM

May 8 2020

jestabro claimed T2409: At boot, effective config should not be equal to current config.

Okay @jjakob, thanks for pinpointing the concern: (quoting from above) 'IMO this should not read config.boot, but return an empty config' --- this is a reasonable position; I will test this modification, along with a consistent change to get_config_dict, and we can discuss.

May 8 2020, 2:54 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2409: At boot, effective config should not be equal to current config.

I suggest you ignore T2030 for a moment --- I recall discussing that issue with the author, but I think the code comments are leading you astray ... we can return to that later.

May 8 2020, 7:03 AM · VyOS 1.3 Equuleus (1.3.0)

May 7 2020

jestabro committed rVYOSONEXc4312498ebe0: http api: T2395: replace bottle with flask as microframework.
May 7 2020, 1:07 AM
jestabro committed rVYOSONEX260ab097bda0: Merge branch 'http-api' of jestabro/vyos-1x into current.
May 7 2020, 1:07 AM
jestabro committed rVYOSONEX7b31dd720d96: http api: T2395: add waitress as production WSGI server.
May 7 2020, 1:07 AM
jestabro committed rVYOSONEXdbe9f73cc918: http api: use decorator to get command data from request.
May 7 2020, 1:07 AM
jestabro committed rVYOSONEX25c65547458a: http api: catch appropriate errors.
May 7 2020, 1:07 AM
jestabro committed rVYOSONEX3a24bd72f6eb: http api: function names should be consistent.
May 7 2020, 1:07 AM

May 6 2020

jestabro moved T2402: Live ISO should warn when configuring that changes won't persist from In Progress to Finished on the VyOS 1.2 Crux (VyOS 1.2.6) board.
May 6 2020, 2:53 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.2 Crux (VyOS 1.2.6)
jestabro moved T2402: Live ISO should warn when configuring that changes won't persist from Backport Candidates to Finished on the VyOS 1.3 Equuleus board.
May 6 2020, 2:53 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.2 Crux (VyOS 1.2.6)
jestabro moved T2402: Live ISO should warn when configuring that changes won't persist from Finished to In Progress on the VyOS 1.2 Crux (VyOS 1.2.6) board.
May 6 2020, 2:53 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.2 Crux (VyOS 1.2.6)
jestabro changed the status of T2402: Live ISO should warn when configuring that changes won't persist from Unknown Status to Resolved.
May 6 2020, 2:51 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.2 Crux (VyOS 1.2.6)
jestabro claimed T2402: Live ISO should warn when configuring that changes won't persist.
May 6 2020, 1:53 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.2 Crux (VyOS 1.2.6)
jestabro added a comment to T2428: api set protocols static route fail .

It appears you are sending a redundant 'set' within the path itself.

May 6 2020, 12:50 AM

May 5 2020

jestabro closed T1899: Unionfs metadata folder is copied to the active configuration directory as Resolved.
May 5 2020, 3:05 AM · VyOS 1.3 Equuleus (1.3.0)
jestabro triaged T2203: http api: "Failed to generate committed config" as High priority.
May 5 2020, 3:01 AM
jestabro changed the status of T2203: http api: "Failed to generate committed config" , a subtask of T1899: Unionfs metadata folder is copied to the active configuration directory, from Open to Needs testing.
May 5 2020, 3:01 AM · VyOS 1.3 Equuleus (1.3.0)
jestabro changed the status of T2203: http api: "Failed to generate committed config" from Open to Needs testing.
May 5 2020, 3:01 AM
jestabro added a comment to T2203: http api: "Failed to generate committed config" .

@fetzerms I believe this is resolved by the fix in T1899, which will be in the next rolling release.

May 5 2020, 2:59 AM

May 4 2020

jestabro added a subtask for T1899: Unionfs metadata folder is copied to the active configuration directory: T2203: http api: "Failed to generate committed config" .
May 4 2020, 9:12 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a parent task for T2203: http api: "Failed to generate committed config" : T1899: Unionfs metadata folder is copied to the active configuration directory.
May 4 2020, 9:12 PM
jestabro changed the status of T1899: Unionfs metadata folder is copied to the active configuration directory from Confirmed to In progress.
May 4 2020, 9:03 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T1899: Unionfs metadata folder is copied to the active configuration directory.

This is a result of a regression in unionfs-fuse, fixed in commit 93c2f9b, but not contained in the debian buster package v1.0. The naming convention for directories was changed from unionfs to unionfs-fuse, and then reverted, forgetting to revert the meta directory name. Consequently, bad things can happen for packages that had defined the meta directory consistent with the pre-v1.0 naming, for example, vyatta-cfg. Two fixes have been tested with initial success: (1) patch unionfs-fuse (2) change the meta directory name in vyatta-cfg. Either fix passes initial tests, although closer scrutiny is warranted, as it is a critical issue. The downside of (1) is the need to maintain an upstream or patched version of unionfs-fuse; the downside of (2) is that we are accommodating a regression, which will break again when/if the upstream package is available. Likely the quickest solution is preferred, as this issue is implicated in several recent bug reports.

May 4 2020, 9:03 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro claimed T1899: Unionfs metadata folder is copied to the active configuration directory.

Confirmed with the simplest 'login as vyos; set interfaces ... description; login as other; delete interfaces .. description; login as vyos; set ...". T2203 is likely a result of this issue. Will reassign to me.

May 4 2020, 1:53 PM · VyOS 1.3 Equuleus (1.3.0)

May 1 2020

jestabro closed T2239: build-vmware-image script ignores the predefined file path, uses the environment variable unconditionally. as Resolved.
May 1 2020, 6:56 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro added a comment to T2203: http api: "Failed to generate committed config" .

Same symptoms in T1889.

May 1 2020, 6:52 PM
jestabro moved T2347: During commit, any script output directed to stdout will contain path from Need Triage to Finished on the VyOS 1.3 Equuleus board.
May 1 2020, 6:46 PM · VyOS 1.3 Equuleus (1.3.0)
jestabro closed T2347: During commit, any script output directed to stdout will contain path as Resolved.

Reopen if needed, but considered resolved.

May 1 2020, 6:45 PM · VyOS 1.3 Equuleus (1.3.0)