From 6f5149cc328e62f2e450dbe4a1ac836b8d9fc364 Mon Sep 17 00:00:00 2001 From: Olof hagsand Date: Thu, 28 Jul 2022 09:35:20 +0200 Subject: [PATCH] Clixon 5.8.0 release --- .github/workflows/ci.yml | 4 +- CHANGELOG.md | 48 ++++++++++----------- README.md | 4 +- configure | 2 +- configure.ac | 2 +- test/test_restconf_internal.sh | 7 +-- yang/clixon/clixon-restconf@2022-03-21.yang | 2 +- 7 files changed, 35 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 361d5f3c..1f054cbf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,9 @@ name: Clixon CI on: push: - branches: [ master, callhome, with-defaults ] + branches: [ master, with-defaults ] pull_request: - branches: [ master, callhome, with-defaults ] + branches: [ master, with-defaults ] jobs: build: diff --git a/CHANGELOG.md b/CHANGELOG.md index e89cc639..b01839da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Clixon Changelog -* [5.8.0](#580) Planned: July 2022 +* [5.8.0](#580) 28 July 2022 * [5.7.0](#570) 17 May 2022 * [5.6.0](#560) 8 March 2022 * [5.5.0](#550) 20 January 2022 @@ -36,12 +36,12 @@ * [3.3.1](#331) June 7 2017 ## 5.8.0 -Planned: July 2022 +28 July 2022 ### New features -* Clixon SNMP frontend - * Support of SNMP for retreiving and setting values via net-snmp using a MIB-YANG mapping defined in RFC6643. +* New SNMP frontend + * Support for SNMP for retreiving and setting values via net-snmp using MIB-YANG mapping defined in RFC6643. * For details, see [SNMP section of user manual](https://clixon-docs.readthedocs.io/en/latest/snmp.html) * YANG `clixon-config@2022-03-21.yang` changes: * Added options: @@ -49,30 +49,26 @@ Planned: July 2022 * `CLICON_SNMP_MIB` * New configure options: * `--enable-netsnmp` - * `--with-mib-generated-yang-dir=DIR` - * Thanks to Siklu Communications LTD for sponsoring this work + * `--with-mib-generated-yang-dir=DIR` (test only) + * Thanks: Siklu Communications LTD for sponsoring this work * YANG Action (RFC 7950 Section 7.15) - * Register action callback with `action_callback_register()`, see main example + * Register action callback with `action_callback_register()` + * The main example contains example code * Remains: check list keys, validate output * See [Support for "action" statement](https://github.com/clicon/clixon/issues/101) -* TEXT syntax parseable for loading files - * Previously only supported output +* TEXT syntax is now parseable + * This means you can save and load TEXT syntax files, as additions to XML/JSON/CLI formats + * Previously only output was supported. * TEXT output format changed (see API changes) - * [Documentation](https://clixon-docs.readthedocs.io/en/latest/datastore.html#other-formats) + * FOr more info, see [user manual](https://clixon-docs.readthedocs.io/en/latest/datastore.html#other-formats) * See [Support performant load_config_file(...) for TEXT format](https://github.com/clicon/clixon/issues/324) ### API changes on existing protocol/config features Users may have to change how they access the system -* Augmented XML uses default namespace - * Instead of using prefixes for augmented XML, assign the default namespace - * This does not change the semantics, but changes the way XML rpefixes are used - * Example augmented ipv4 into interface: - * Previously: `...` - * Now: `...` * TEXT file format changed * With new parsing of TEXT format, the output is changed * Namespace/modulename added to top-level @@ -80,6 +76,12 @@ Users may have to change how they access the system * List key support: `a x y { ... }` * See compile-time option `TEXT_LIST_KEYS` * Keep backward-compatible non-top-level prefix with compile-time option `TEXT_SYNTAX_NOPREFIX` +* Augmented XML uses default namespace + * Instead of using prefixes for augmented XML, assign the default namespace + * This does not change the semantics, but changes the way XML prefixes are used + * Example augmented ipv4 into interface: + * Previously: `...` + * Now: `...` ### C/CLI-API changes on existing features @@ -89,11 +91,9 @@ Developers may need to change their code * Functions are merged, ie removed and replaced with more generic functions * Added `skiptop` parameter, if set only apply to children of a node, skip top node * default is 0 - * The new API is as follows, with how to change old functions to new: - * `clixon_xml2file()` - Print internal tree as XML to file - * `clixon_xml2cbuf()` - Print internal tree as XML to buffer - * `clixon_json2file()` - Print internal tree as JSON to file - * `clixon_json2cbuf()` - Print internal tree as JSON to buffer + * The new API is as follows: + * `clixon_xml2file()` / `clixon_xml2cbuf()` - Print internal tree as XML to file or buffer, respectively + * `clixon_json2file()` / `clixon_json2cbuf()` - Print internal tree as JSON to file or buffer, respectively * `clixon_cli2file()` - Print internal tree as CLI format to file * `clixon_txt2file()` - Print internal tree as text format to file * As developer, you need to replace the old functions to the new API as follows: @@ -115,15 +115,15 @@ Developers may need to change their code * Break-out RFC 7950 Section 6.1 tokenization * This enables full string lexical parsing of some rules previously not fully compliant, including: * refine, uses-augment, augment, if-feature, type, base. - * Also solves previous tokenization issues + * Also fixes some previous tokenization issues * [String concatenation in YANG model leads to syntax error ](https://github.com/clicon/clixon/issues/265) * [Can't use + symbol in the enum statement without quotes](https://github.com/clicon/clixon/issues/241) -* Added XPATH function `boolean()` - * This caused problem for new NTP YANG in RFC 9249 * Full RFC 7950 if-feature-expr support (Section 7.20.2) * Previous implementation did not handle nested if-feature expressions * As part of fixing: [YANG if-feature does not support nested boolean expression](https://github.com/clicon/clixon/issues/341) * Added new yacc/lex parser for if-feature-expr string +* Added XPATH function `boolean()` + * This caused problem for new NTP YANG in RFC 9249 * [Feature Request: Log SSL events](https://github.com/clicon/clixon/issues/331) * Added syslog NOTICE on failed user certs diff --git a/README.md b/README.md index 8fb0908d..a63a94c9 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,10 @@ See [documentation](https://clixon-docs.readthedocs.io), [project page](https:// Clixon is open-source and dual licensed. Either Apache License, Version 2.0 or GNU General Public License Version 2; you choose, see [LICENSE.md](LICENSE.md). -Clixon has a master branch continuously tested with CI, but releases are made ca every second month. Latest 5.6.0 release is from March 2022. Next is planned for May 2022. See [CHANGELOG.md](CHANGELOG.md) release history. +Clixon has a master branch continuously tested with CI, but releases are made ca every second month. Latest 5.8.0 release is from July 2022. Next is planned for September 2022. See [CHANGELOG.md](CHANGELOG.md) release history. Clixon interaction is best done posting issues, pull requests, or joining the [slack channel](https://clixondev.slack.com). -[Slack invite](https://join.slack.com/t/clixondev/shared_invite/zt-1b5y2pno7-g4Ih92CrBK1dxTgip1Hkvw)(updated 23/6 2022, valid 30d) +[Slack invite](https://join.slack.com/t/clixondev/shared_invite/zt-1da9fdr51-G~W5CES01_TRVdg5oXo43w)(updated 28/7 2022, valid 30d) Clixon is sponsored by [Rubicon Communications LLC(Netgate)](https://www.netgate.com/) diff --git a/configure b/configure index 4db41f9c..f4a7e13a 100755 --- a/configure +++ b/configure @@ -2276,7 +2276,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. CLIXON_VERSION_MAJOR="5" CLIXON_VERSION_MINOR="8" CLIXON_VERSION_PATCH="0" -CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}.PRE\"" +CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}\"" # Debug flag # Check whether --enable-debug was given. diff --git a/configure.ac b/configure.ac index ef623c50..27f3ee00 100644 --- a/configure.ac +++ b/configure.ac @@ -50,7 +50,7 @@ AC_CONFIG_AUX_DIR(config-aux) CLIXON_VERSION_MAJOR="5" CLIXON_VERSION_MINOR="8" CLIXON_VERSION_PATCH="0" -CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}.PRE\"" +CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}\"" # Debug flag AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],[Build with debug symbols, default: no]),[ diff --git a/test/test_restconf_internal.sh b/test/test_restconf_internal.sh index fb283f80..7f5ddd0f 100755 --- a/test/test_restconf_internal.sh +++ b/test/test_restconf_internal.sh @@ -217,11 +217,12 @@ wait_restconf new "try restconf rpc status" expectpart "$(curl $CURLOPTS -X POST -H "Content-Type: application/yang-data+json" $RCPROTO://localhost/restconf/operations/clixon-lib:process-control -d '{"clixon-lib:input":{"name":"restconf","operation":"status"}}')" 0 "HTTP/$HVER 200" '{"clixon-lib:output":' '"active":' '"pid":' -new "Set backend debug using restconf" -expectpart "$(curl $CURLOPTS -X POST -H 'Content-Type: application/yang-data+json' $RCPROTO://localhost/restconf/operations/clixon-lib:debug -d '{"clixon-lib:input":{"level":1}}')" 0 "HTTP/$HVER 204" +# debug setting clutters screen +#new "Set backend debug using restconf" +#expectpart "$(curl $CURLOPTS -X POST -H 'Content-Type: application/yang-data+json' $RCPROTO://localhost/restconf/operations/clixon-lib:debug -d '{"clixon-lib:input":{"level":1}}')" 0 "HTTP/$HVER 204" new "Set restconf debug using netconf" -expecteof_netconf "$clixon_netconf -qf $cfg" 0 "$DEFAULTHELLO" "1" "" "" +#expecteof_netconf "$clixon_netconf -qf $cfg" 0 "$DEFAULTHELLO" "1" "" "" new "2. Get status" rpcstatus true running diff --git a/yang/clixon/clixon-restconf@2022-03-21.yang b/yang/clixon/clixon-restconf@2022-03-21.yang index d4996299..27165d89 100644 --- a/yang/clixon/clixon-restconf@2022-03-21.yang +++ b/yang/clixon/clixon-restconf@2022-03-21.yang @@ -26,7 +26,7 @@ module clixon-restconf { in clixon-config ***** BEGIN LICENSE BLOCK ***** - Copyright (C) 2020 Olof Hagsand and Rubicon Communications, LLC(Netgate) + Copyright (C) 2020-2022 Olof Hagsand and Rubicon Communications, LLC(Netgate) This file is part of CLIXON