* Renamed clixon-clispec.yang to clixon-autocli.yang

* First version of clixon-autocli.yang semantics
   * Default rules for module exclusion, list-keywords, completion, treeref-state
   * Specialized rules for compress and exclusion of modules
   * See [autocli documentation](https://clixon-docs.readthedocs.io/en/latest/cli.html#autocli)
* Obsoleted and moved autocli config options from clixon-config.yang to clixon-autocli.yang as follows:
   * `CLICON_CLI_GENMODEL`, use: `autocli/module-default=false` instead
      * Removed `clicon_cli_genmodel()`
   * `CLICON_CLI_GENMODEL_TYPE`, use `autocli/list-keyword-default` and compress rules instead)
      * Removed `clicon_cli_genmodel_type()`
   * `CLICON_CLI_GENMODEL_COMPLETION`, use `autocli/completion-default` instead
      * Removed `clicon_cli_genmodel_completion()`
   * `CLICON_CLI_AUTOCLI_EXCLUDE`, use `autocli/rule/operation=exclude` instead
   * `CLICON_CLI_MODEL_TREENAME`, use constant `AUTOCLI_TREENAME` instead
     * Removed `clicon_cli_model_treename()`
* New YANG functions: yang_single_child_type, yang_find_namespace_by_prefix, yang_str2key
* Changed return values of yang_find_prefix_by_namespace
* Merged `cli_cli2xml()` into `cli2xml()`
This commit is contained in:
Olof hagsand 2021-12-28 19:21:52 +01:00
parent dec05e2cae
commit 081e6871b3
45 changed files with 1804 additions and 900 deletions

View file

@ -38,6 +38,10 @@ Planned: January, 2022
### New features
* Changed auto-cli design
* See [autocli documentation](https://clixon-docs.readthedocs.io/en/latest/cli.html#autocli)
* Added new YANG clixon-autocli.yang, placing autocli options there
* Default rules for module exclusion, list-keywords, completion, treeref-state
* Specialized rules for module exclusion and compression
* Replaced separate autocli trees with a single `@basemodel` tree by using filter labels
* Filter labels are added to the fill tree and then filtered out using `@remove:<label>`
* Labels include: termfirstkeys, termlist, termleaf, leafvar, nonconfig,
@ -48,10 +52,8 @@ Planned: January, 2022
* `@datamodel` translated to `@basemodel, @remove:termfirstkeys, @remove:termlist, @remove:termleaf, @remove:nonconfig`
* `@datamodelshow` translated to `@basemodel, @remove:leafvar, @remove:nonconfig`
* `@datamodelstate` translated to `@basemodel, @remove:leafvar`
* Note: autocli mode support is not backward compatible
* see main example
* Added new YANG clixon-clispec.yang
* This yang replaces many autocli options
* Note: while @datamodel etc are backward compatible, the autocli redesign is NOT backward compatible
* see API changes
### API changes on existing protocol/config features
@ -69,6 +71,9 @@ Users may have to change how they access the system
* Instead if you use fgci/nginx:
* Use `restconf/fcgi-socket`
* Ensure `<CLICON_FEATURE>clixon-restconf:fcgi</CLICON_FEATURE>` is set
* Marked as obsolete and moved autocli config options from clixon-config.yang to clixon-autocli.yang
* Use: `<config><autocli>...` for configuring the autocli
* For details, see [autocli upgrade documentation](https://clixon-docs.readthedocs.io/en/latest/cli.html#upgrade-from-clixon-5-4)
### Minor features