You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Charles E. Rolke (Jira)" <ji...@apache.org> on 2020/11/13 20:04:00 UTC

[jira] [Commented] (DISPATCH-1836) Policy config file 'vhost' parsing fails; diagnostic message is poor

    [ https://issues.apache.org/jira/browse/DISPATCH-1836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17231795#comment-17231795 ] 

Charles E. Rolke commented on DISPATCH-1836:
--------------------------------------------

Issue https://issues.apache.org/jira/browse/DISPATCH-1659 proposes deprecating the conf-file format in favor of pure json.

Originally the conf-file format did not allow for specification of maps nor for embedded maps. This issue (DISPATCH-1836) arises due to the failure of the conf-file processor to correctly extract the pure-json vhost specification embedded in the overall conf file.

 

> Policy config file 'vhost' parsing fails; diagnostic message is poor
> --------------------------------------------------------------------
>
>                 Key: DISPATCH-1836
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1836
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Policy Engine
>    Affects Versions: 1.14.0
>            Reporter: Charles E. Rolke
>            Priority: Major
>
> A simple and apparently correct config file
> {code:java}
>     policy {
>         maxConnections: 10000
>         enableVhostPolicy: true
>         enableVhostNamePatterns: true
>         defaultVhost: $default
>     }
>     vhost {
>         hostname: *.com
>         maxConnections: 10000
>         maxConnectionsPerUser: 100
>         maxConnectionsPerHost: 100
>         allowUnknownUser: true
>         groups:{
>             "developers":{
>                 "users": "admin",
>                 "remoteHosts": "*",
>                 "sources": "queue1",
>                 "targets": "queue1" },
>             "$default":{
>                 "remoteHosts": "*",
>                 "allowDynamicSource": true,
>                 "allowAdminStatusUpdate": true,
>                 "sources": "queue2",
>                 "targets": "queue2"}}
>     }
> {code}
> fails
> {code:java}
> > qdrouterd -c C.conf
> 2020-11-13 14:53:56.522448 -0500 AGENT (warning) Configuration file: invalid entity nesting detected.
> 2020-11-13 14:53:56.522683 -0500 AGENT (error) Contents of failed config file
> 2020-11-13 14:53:56.522750 -0500 AGENT (error) Line 1 |[["policy", {
> 2020-11-13 14:53:56.522786 -0500 AGENT (error) Line 2 |"maxConnections": "10000",
> 2020-11-13 14:53:56.522818 -0500 AGENT (error) Line 3 |"enableVhostPolicy": "true",
> 2020-11-13 14:53:56.522846 -0500 AGENT (error) Line 4 |"enableVhostNamePatterns": "true",
> 2020-11-13 14:53:56.522875 -0500 AGENT (error) Line 5 |"defaultVhost": "$default"}],
> 2020-11-13 14:53:56.522903 -0500 AGENT (error) Line 6 |
> 2020-11-13 14:53:56.522929 -0500 AGENT (error) Line 7 |["vhost", {
> 2020-11-13 14:53:56.522956 -0500 AGENT (error) Line 8 |"hostname": "*.com",
> 2020-11-13 14:53:56.522982 -0500 AGENT (error) Line 9 |"maxConnections": "10000",
> 2020-11-13 14:53:56.523007 -0500 AGENT (error) Line 10 |"maxConnectionsPerUser": "100",
> 2020-11-13 14:53:56.523034 -0500 AGENT (error) Line 11 |"maxConnectionsPerHost": "100",
> 2020-11-13 14:53:56.523062 -0500 AGENT (error) Line 12 |"allowUnknownUser": "true",
> 2020-11-13 14:53:56.523089 -0500 AGENT (error) Line 13 |"groups": {
> 2020-11-13 14:53:56.523116 -0500 AGENT (error) Line 14 |"developers":{
> 2020-11-13 14:53:56.523146 -0500 AGENT (error) Line 15 |"users": "admin",
> 2020-11-13 14:53:56.523174 -0500 AGENT (error) Line 16 |"remoteHosts": "*",
> 2020-11-13 14:53:56.523201 -0500 AGENT (error) Line 17 |"sources": "queue1",
> 2020-11-13 14:53:56.523228 -0500 AGENT (error) Line 18 |"targets": "queue1" },
> 2020-11-13 14:53:56.523254 -0500 AGENT (error) Line 19 |"$default":{
> 2020-11-13 14:53:56.523281 -0500 AGENT (error) Line 20 |"remoteHosts": "*",
> 2020-11-13 14:53:56.523307 -0500 AGENT (error) Line 21 |"allowDynamicSource": true,
> 2020-11-13 14:53:56.523333 -0500 AGENT (error) Line 22 |"allowAdminStatusUpdate": true,
> 2020-11-13 14:53:56.523360 -0500 AGENT (error) Line 23 |"sources": "queue2",
> 2020-11-13 14:53:56.523387 -0500 AGENT (error) Line 24 |"targets": "queue2"}}
> 2020-11-13 14:53:56.523413 -0500 AGENT (error) Line 25 |}]
> 2020-11-13 14:53:56.523447 -0500 ERROR (error) Python: Exception: Cannot load configuration file C.conf: Expecting ',' delimiter: line 25 column 3 (char 563)
> 2020-11-13 14:53:56.523815 -0500 ERROR (error) Traceback (most recent call last):
>   File "/opt/local/lib/qpid-dispatch/python/qpid_dispatch_internal/management/config.py", line 61, in __init__
>     self.load(filename, raw_json)
>   File "/opt/local/lib/qpid-dispatch/python/qpid_dispatch_internal/management/config.py", line 237, in load
>     self.load(f, raw_json)
>   File "/opt/local/lib/qpid-dispatch/python/qpid_dispatch_internal/management/config.py", line 239, in load
>     sections = self._parserawjson(source) if raw_json else self._parse(source)
>   File "/opt/local/lib/qpid-dispatch/python/qpid_dispatch_internal/management/config.py", line 203, in _parse
>     sections = json.loads(js_text)
>   File "/usr/lib64/python3.7/json/__init__.py", line 348, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib64/python3.7/json/decoder.py", line 337, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib64/python3.7/json/decoder.py", line 353, in raw_decode
>     obj, end = self.scan_once(s, idx)
> json.decoder.JSONDecodeError: Expecting ',' delimiter: line 25 column 3 (char 563)
> During handling of the above exception, another exception occurred:
> Traceback (most recent call last):
>   File "/opt/local/lib/qpid-dispatch/python/qpid_dispatch_internal/management/config.py", line 279, in configure_dispatch
>     config = Config(filename)
>   File "/opt/local/lib/qpid-dispatch/python/qpid_dispatch_internal/management/config.py", line 64, in __init__
>     % (filename, e))
> Exception: Cannot load configuration file C.conf: Expecting ',' delimiter: line 25 column 3 (char 563)
> 2020-11-13 14:53:56.523860 -0500 MAIN (critical) Router start-up failed: Python: Exception: Cannot load configuration file C.conf: Expecting ',' delimiter: line 25 column 3 (char 563)
> qdrouterd: Python: Exception: Cannot load configuration file C.conf: Expecting ',' delimiter: line 25 column 3 (char 563)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org