mirror of https://github.com/sipwise/ngcpcfg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
master
mr26.0.1
mr26.0
mr14.1
mr14.1.1
mr14.0.1
mr13.5.1
mr12.5.1
mr11.5.1
mr14.0
mr13.5
mr12.5
mr11.5
mr13.4.1
mr13.4
mr10.5.5
mr10.5.6
mr10.5.7
mr10.5.8
mr10.5.9
mr10.5
mr13.2.1
mr13.2
mr13.3
mr13.3.1
mr12.2.1
mr12.1.1
mr12.0.1
mr12.2
mr12.1
mr12.0
mr13.1
mr13.1.1
mr13.0
mr13.0.1
mr9.5
mr9.5.9
mr12.4
mr12.4.1
mr12.3
mr12.3.1
mr8.5
mr8.5.12
mr9.5.8
mr8.5.11
mr9.5.7
mr11.4
mr11.4.1
mr10.5.1
mr10.5.2
mr10.5.3
mr10.5.4
mr11.2.1
mr11.3.1
mr11.2
mr11.3
mr11.1.1
mr11.1
mr8.5.10
mr9.5.6
mr11.0.1
mr9.5.5
mr8.5.9
mr11.0
mr7.5
mr7.5.13
mr8.5.2
mr8.5.3
mr8.5.4
mr8.5.5
mr8.5.1
mr10.4.1
mr10.4
mr9.5.1
mr7.5.12
mr8.5.8
mr9.5.4
mr10.3
mr10.3.1
mr7.5.11
mr10.1.1
mr10.2.1
mr10.1
mr10.2
mr9.5.3
mr7.5.10
mr8.5.7
mr8.5.6
mr9.5.2
mr10.0.1
mr6.5.12
mr6.5
mr6.5.13
mr10.0
mr9.4
mr9.3.1
mr9.4.1
mr9.3
mr7.5.9
mr9.0.1
mr9.1.1
mr9.2.1
mr9.0
mr9.1
mr9.2
mr7.5.8
mr6.5.11
mr7.5.7
mr5.5
mr5.5.13
mr7.5.6
mr6.5.10
mr8.4
mr8.4.2
mr7.5.5
mr5.5.12
mr8.4.1
mr6.5.9
mr7.5.4
mr8.3
mr8.3.2
mr5.5.5
mr5.5.6
mr5.5.7
mr5.5.8
mr5.5.9
mr5.5.10
mr5.5.11
mr6.5.8
mr8.2.2
mr8.3.1
mr8.2
mr8.1
mr8.0
mr8.1.2
mr7.5.2
mr7.5.3
mr8.1.1
mr8.2.1
mr8.0.2
mr6.5.7
mr7.5.1
mr8.0.1
mr4.5
mr4.5.13
mr6.5.6
mr7.4
mr7.4.2
mr6.5.1
mr6.5.2
mr6.5.3
mr6.5.4
mr6.5.5
mr7.3.2
mr7.4.1
mr7.3
mr7.2.2
mr7.3.1
mr7.2
mr7.1
mr7.1.2
mr7.2.1
mr4.5.12
mr7.0
mr7.0.2
mr7.1.1
mr7.0.1
mr4.5.11
mr6.4.1
mr6.4
mr6.4.2
mr4.5.10
mr6.3.2
mr6.3
mr3.8
mr3.8.13
mr6.2.2
mr6.2
mr4.5.9
mr6.3.1
mr6.0
mr6.1
mr6.1.2
mr6.2.1
mr5.5.4
mr4.5.8
mr6.0.2
mr5.5.2
mr5.5.3
mr6.0.1
mr6.1.1
mr4.5.7
mr3.8.12
mr5.4
mr5.4.2
mr5.5.1
mr4.5.6
mr3.8.11
mr5.3
mr5.3.2
mr5.4.1
mr4.5.5
mr5.2
mr5.2.2
mr5.3.1
mr5.1
mr5.1.2
mr3.8.10
mr5.2.1
mr5.0
mr4.5.4
mr5.0.2
mr5.1.1
mr4.5.3
mr5.0.1
mr3.8.9
mr4.5.2
mr3.8.8
mr4.4
mr4.4.2
mprokop/pytest
mr4.5.1
mr4.4.1
mr3.8.7
mr4.3
mr4.3.2
mr3.8.6
mr4.2
mr4.2.2
mprokop/testing
mr4.3.1
mprokop/tests
mr4.2.1
mr3.8.5
mr4.1
mr4.1.2
mr3.8.4
mr4.0
mr4.0.2
mr4.1.1
mr4.0.1
mr3.8.3
mprokop/autopkgtest2
mr3.8.2
mr3.8.1
mr3.7
mr3.7.2
mr3.6
mr3.7.1
mprokop/autopkgtests
mr3.5.1
mr3.5
mr3.6.2
mr3.6.1
mr3.4
mr3.4.2
vseva/db_defaults
vseva/8419
mr3.4.1
mr3.3
mr3.3.2
mprokop/7577_services
mr3.3.1
mr3.2
mr3.2.2
mr3.2.1
0.18
0.17
mprokop/autopkgtest
mika/header-note
agranig/header-note
sync-replication
0.19.0
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.0
0.17.2
0.18.3
mr10.0.1.1
mr10.0.1.2
mr10.1.1.1
mr10.1.1.2
mr10.1.1.3
mr10.2.1.1
mr10.2.1.2
mr10.3.1.1
mr10.4.1.1
mr10.4.1.2
mr10.5.1.1
mr10.5.1.2
mr10.5.1.3
mr10.5.2.1
mr10.5.2.2
mr10.5.2.3
mr10.5.3.1
mr10.5.3.2
mr10.5.4.1
mr10.5.4.2
mr10.5.5.1
mr10.5.5.2
mr10.5.5.3
mr10.5.6.1
mr10.5.6.2
mr10.5.6.3
mr10.5.7.1
mr10.5.7.2
mr10.5.7.3
mr10.5.8.1
mr10.5.8.2
mr10.5.8.3
mr10.5.8.4
mr10.5.9.1
mr10.5.9.2
mr11.0.1.1
mr11.0.1.2
mr11.1.1.1
mr11.1.1.2
mr11.1.1.3
mr11.1.1.4
mr11.1.1.5
mr11.2.1.1
mr11.2.1.2
mr11.2.1.3
mr11.2.1.4
mr11.3.1.1
mr11.3.1.2
mr11.3.1.3
mr11.4.1.1
mr11.5.1.1
mr11.5.1.10
mr11.5.1.11
mr11.5.1.2
mr11.5.1.3
mr11.5.1.4
mr11.5.1.5
mr11.5.1.6
mr11.5.1.7
mr11.5.1.8
mr11.5.1.9
mr12.0.1.1
mr12.0.1.2
mr12.0.1.3
mr12.1.1.1
mr12.1.1.2
mr12.2.1.1
mr12.2.1.2
mr12.3.1.1
mr12.4.1.1
mr12.5.1.1
mr12.5.1.2
mr12.5.1.3
mr12.5.1.4
mr12.5.1.5
mr12.5.1.6
mr12.5.1.7
mr12.5.1.8
mr12.5.1.9
mr13.0.1.1
mr13.1.1.1
mr13.2.1.1
mr13.2.1.2
mr13.3.1.1
mr13.4.1.1
mr13.4.1.2
mr13.4.1.3
mr13.4.1.4
mr13.5.1.1
mr13.5.1.2
mr13.5.1.3
mr13.5.1.4
mr14.0.1.1
mr14.0.1.2
mr14.1.1.1
mr26.0.1.1
mr26.0.1.2
mr3.2.1.1
mr3.2.1.2
mr3.2.2.1
mr3.3.1.1
mr3.3.1.2
mr3.3.2.1
mr3.4.1.1
mr3.4.1.2
mr3.4.2.1
mr3.5.1.1
mr3.5.1.2
mr3.5.1.3
mr3.5.1.4
mr3.6.1.1
mr3.6.1.2
mr3.6.2.1
mr3.6.2.2
mr3.7.1.1
mr3.7.2.1
mr3.8.1.1
mr3.8.1.2
mr3.8.10.1
mr3.8.11.1
mr3.8.12.1
mr3.8.13.1
mr3.8.2.1
mr3.8.3.1
mr3.8.3.2
mr3.8.3.3
mr3.8.3.4
mr3.8.4.1
mr3.8.5.1
mr3.8.6.1
mr3.8.7.1
mr3.8.8.1
mr3.8.9.1
mr4.0.1.1
mr4.0.1.2
mr4.0.1.3
mr4.0.1.4
mr4.0.2.1
mr4.1.1.1
mr4.1.1.2
mr4.1.2.1
mr4.2.1.1
mr4.2.1.2
mr4.2.2.1
mr4.3.1.1
mr4.3.2.1
mr4.4.1.1
mr4.4.1.2
mr4.4.1.3
mr4.4.2.1
mr4.5.1.1
mr4.5.1.2
mr4.5.1.3
mr4.5.1.4
mr4.5.1.5
mr4.5.10.1
mr4.5.11.1
mr4.5.12.1
mr4.5.13.1
mr4.5.2.1
mr4.5.3.1
mr4.5.3.2
mr4.5.3.3
mr4.5.3.4
mr4.5.4.1
mr4.5.5.1
mr4.5.6.1
mr4.5.7.1
mr4.5.8.1
mr4.5.9.1
mr5.0.1.1
mr5.0.1.2
mr5.0.1.3
mr5.0.2.1
mr5.1.1.1
mr5.1.2.1
mr5.2.1.1
mr5.2.2.1
mr5.3.1.1
mr5.3.2.1
mr5.4.1.1
mr5.4.2.1
mr5.5.1.1
mr5.5.10.1
mr5.5.10.2
mr5.5.11.1
mr5.5.11.2
mr5.5.12.1
mr5.5.12.2
mr5.5.12.3
mr5.5.13.1
mr5.5.2.1
mr5.5.2.2
mr5.5.3.1
mr5.5.3.2
mr5.5.4.1
mr5.5.5.1
mr5.5.5.2
mr5.5.5.3
mr5.5.6.1
mr5.5.6.2
mr5.5.7.1
mr5.5.7.2
mr5.5.8.1
mr5.5.8.2
mr5.5.9.1
mr5.5.9.2
mr5.5.9.3
mr6.0.1.1
mr6.0.1.2
mr6.0.2.1
mr6.1.1.1
mr6.1.1.2
mr6.1.2.1
mr6.2.1.1
mr6.2.1.2
mr6.2.2.1
mr6.2.2.2
mr6.2.2.3
mr6.3.1.1
mr6.3.2.1
mr6.3.2.2
mr6.4.1.1
mr6.4.1.2
mr6.4.1.3
mr6.4.1.4
mr6.4.2.1
mr6.5.1.1
mr6.5.1.2
mr6.5.1.3
mr6.5.1.4
mr6.5.1.5
mr6.5.1.6
mr6.5.10.1
mr6.5.11.1
mr6.5.11.2
mr6.5.12.1
mr6.5.13.1
mr6.5.2.1
mr6.5.2.2
mr6.5.2.3
mr6.5.2.4
mr6.5.3.1
mr6.5.3.2
mr6.5.4.1
mr6.5.4.2
mr6.5.4.3
mr6.5.4.4
mr6.5.5.1
mr6.5.5.2
mr6.5.5.3
mr6.5.6.1
mr6.5.6.2
mr6.5.7.1
mr6.5.8.1
mr6.5.8.2
mr6.5.9.1
mr6.5.9.2
mr6.5.9.3
mr7.0.1.1
mr7.0.1.2
mr7.0.1.3
mr7.0.2.1
mr7.1.1.1
mr7.1.2.1
mr7.2.1.1
mr7.2.2.1
mr7.2.2.2
mr7.3.1.1
mr7.3.1.2
mr7.3.2.1
mr7.3.2.2
mr7.4.1.1
mr7.4.1.2
mr7.4.2.1
mr7.5.1.1
mr7.5.1.2
mr7.5.1.3
mr7.5.10.1
mr7.5.10.2
mr7.5.10.3
mr7.5.11.1
mr7.5.12.1
mr7.5.13.1
mr7.5.2.1
mr7.5.2.2
mr7.5.2.3
mr7.5.3.1
mr7.5.3.2
mr7.5.4.1
mr7.5.4.2
mr7.5.4.3
mr7.5.4.4
mr7.5.5.1
mr7.5.5.2
mr7.5.6.1
mr7.5.7.1
mr7.5.7.2
mr7.5.8.1
mr7.5.9.1
mr8.0.1.1
mr8.0.1.2
mr8.0.2.1
mr8.1.1.1
mr8.1.1.2
mr8.1.1.3
mr8.1.1.4
mr8.1.2.1
mr8.2.1.1
mr8.2.1.2
mr8.2.1.3
mr8.2.2.1
mr8.2.2.2
mr8.3.1.1
mr8.3.1.2
mr8.3.2.1
mr8.4.1.1
mr8.4.1.2
mr8.4.1.3
mr8.4.1.4
mr8.4.1.5
mr8.4.2.1
mr8.5.1.1
mr8.5.1.2
mr8.5.1.3
mr8.5.10.1
mr8.5.11.1
mr8.5.11.2
mr8.5.12.1
mr8.5.2.1
mr8.5.2.2
mr8.5.2.3
mr8.5.2.4
mr8.5.3.1
mr8.5.3.2
mr8.5.3.3
mr8.5.3.4
mr8.5.3.5
mr8.5.4.1
mr8.5.4.2
mr8.5.4.3
mr8.5.5.1
mr8.5.5.2
mr8.5.6.1
mr8.5.6.2
mr8.5.6.3
mr8.5.7.1
mr8.5.8.1
mr8.5.9.1
mr8.5.9.2
mr9.0.1.1
mr9.0.1.2
mr9.0.1.3
mr9.1.1.1
mr9.1.1.2
mr9.1.1.3
mr9.1.1.4
mr9.2.1.1
mr9.2.1.2
mr9.2.1.3
mr9.3.1.1
mr9.3.1.2
mr9.3.1.3
mr9.4.1.1
mr9.4.1.2
mr9.4.1.3
mr9.5.1.1
mr9.5.1.2
mr9.5.1.3
mr9.5.1.4
mr9.5.1.5
mr9.5.2.1
mr9.5.2.2
mr9.5.2.3
mr9.5.3.1
mr9.5.4.1
mr9.5.5.1
mr9.5.5.2
mr9.5.6.1
mr9.5.6.2
mr9.5.7.1
mr9.5.7.2
mr9.5.8.1
mr9.5.9.1
${ noResults }
Due to the code in tt2-wrapper, the only errors reported were failures to
connect to the socket to use the back-end performing the parsing. But there was
no attempt to detect errors in the parsing at all.
Since we are only able to use the output stream and not for example exit codes
of the parser at the back-end (libtemplate-perl), we can only rely on finding
some kind of error string, which can change in future versions of
libtemplate-perl but hopefully not very often, and at most it should only change
when we move base to newer Debian releases.
In the case of the original problem reported we could rely on "parse error", but
since there are two such strings ("file error" and "parse error") the first is
more general and also covers cases like "permission denied to read file" or
other errors that might happen. So the implementation of error checking is
basically grepping for "^file error", the string at the beginning of a line, to
limit possible false positives.
With the new checks and an example of an invalid syntax already in the first
line, "ngcpcfg build" detects the error correctly and stops processing, and
shows information about the source of the problem, e.g.:
root@spce:~# ngcpcfg build /etc/test
2018-10-29 11:37:01 spce: yml configs were validated successfuly
2018-10-29 11:37:01 spce: configs were checked successfuly
2018-10-29 11:37:01 spce: No patchtt files found, nothing to patch.
Loading /etc/ngcp-config/config.yml in memory: OK
Loading /etc/ngcp-config/network.yml in memory: OK
Loading /etc/ngcp-config/constants.yml in memory: OK
2018-10-29 11:37:02 spce: Error: Generating /etc/test based on /etc/ngcp-config/templates//etc/test.customtt.tt2: FAILED
2018-10-29 11:37:02 spce: Error: from generated file:
2018-10-29 11:37:02 spce: Error: file error - parse error - input file handle line 1: unexpected end of directive
2018-10-29 11:37:02 spce: NOTE: Check those files for valid syntax and encoding:
2018-10-29 11:37:02 spce: /etc/ngcp-config/templates//etc/test.customtt.tt2
2018-10-29 11:37:02 spce: /etc/ngcp-config/config.yml
2018-10-29 11:37:02 spce: /etc/ngcp-config/network.yml
2018-10-29 11:37:02 spce: /etc/ngcp-config/constants.yml
2018-10-29 11:37:02 spce: Running /usr/share/ngcp-ngcpcfg/helper/tt2-wrapper <file>
2018-10-29 11:37:02 spce: or inspecting temporary /tmp/ngcpcfg.test.PwGvShIm9G
2018-10-29 11:37:02 spce: should provide more details.
Change-Id: Ic305bdab20a6ce15eca13f19586a2572a90b4e13
|
8 years ago | |
|---|---|---|
| .. | ||
| bin | MT#16391 Initial tests using pytest | 9 years ago |
| output | TT#46601 Detect and report errors parsing tt2 templates | 8 years ago |
| repos | TT#46601 Detect and report errors parsing tt2 templates | 8 years ago |
| .gitignore | MT#16391 Initial tests using pytest | 9 years ago |
| __init__.py | MT#16391 Initial tests using pytest | 9 years ago |
| commandline.py | MT#16391 Initial tests using pytest | 9 years ago |
| fs.py | MT#16391 Initial tests using pytest | 9 years ago |
| gitrepo.py | MT#16391 Initial tests using pytest | 9 years ago |
| ngcpcfg.cfg | TT#26206 Provide tests for 'ngcpcfg patch' action | 8 years ago |
| ngcpcfg_carrier.cfg | TT#26206 Provide tests for 'ngcpcfg patch' action | 8 years ago |
| ngcpcfg_pro.cfg | TT#26206 Provide tests for 'ngcpcfg patch' action | 8 years ago |
| programs.py | TT#38200 Add support for new NGCP::Template perl module | 8 years ago |