External pools containing dashed in the name do not work
set nat cgnat pool external ext-01 external-port-range '1024-65535' set nat cgnat pool external ext-01 per-user-limit port '2000' set nat cgnat pool external ext-01 range 192.168.122.222/32 set nat cgnat pool internal int01 range '100.64.0.0/28' set nat cgnat rule 10 source pool 'int01' set nat cgnat rule 10 translation pool 'ext-01'
commit:
vyos@r4# commit
[ nat cgnat ]
VyOS had an issue completing a command.
Report time: 2024-05-16 12:32:46
Image version: VyOS 1.5-rolling-202405140019
Release train: current
Built by: autobuild@vyos.net
Built on: Tue 14 May 2024 02:55 UTC
Build UUID: c30a637d-f3c1-473e-8af6-03c9bfaf0729
Build commit ID: 3463386246a9ac
Architecture: x86_64
Boot via: installed image
System type: KVM guest
Hardware vendor: QEMU
Hardware model: Standard PC (Q35 + ICH9, 2009)
Hardware S/N:
Hardware UUID: 166cfd25-7d3a-4eca-9ef6-0b655c9acf0f
Traceback (most recent call last):
File "/usr/libexec/vyos/conf_mode/nat_cgnat.py", line 284, in <module>
generate(c)
File "/usr/libexec/vyos/conf_mode/nat_cgnat.py", line 224, in generate
external_ranges = jmespath.search(ext_query, config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jmespath/__init__.py", line 12, in search
return parser.Parser().parse(expression).search(data, options=options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jmespath/parser.py", line 88, in parse
parsed_result = self._do_parse(expression)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jmespath/parser.py", line 96, in _do_parse
return self._parse(expression)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jmespath/parser.py", line 114, in _parse
raise exceptions.ParseError(t['start'], t['value'], t['type'],
jmespath.exceptions.ParseError: Unexpected token: -1: Parse error at column 17, token "-1" (NUMBER), for expression:
"pool.external.ext-01.range | keys(@)"
^
[[nat cgnat]] failed
Commit failed