The new QoS implementation will have multiple completion helpers called from the path node.
<completionHelp> <path>qos policy drop-tail</path> <path>qos policy fair-queue</path> <path>qos policy fq-codel</path> <path>qos policy limiter</path> <path>qos policy network-emulator</path> <path>qos policy priority-queue</path> <path>qos policy random-detect</path> <path>qos policy rate-control</path> <path>qos policy round-robin</path> <path>qos policy shaper</path> <path>qos policy shaper-hfsc</path> </completionHelp>
When the node.def file is generated this results in:
allowed: /bin/cli-shell-api listNodes qos policy drop-tail && /bin/cli-shell-api listNodes qos policy fair-queue && /bin/cli-shell-api listNodes qos policy fq-codel && /bin/cli-shell-api listNodes qos policy limiter && /bin/cli-shell-api listNodes qos policy network-emulator && /bin/cli-shell-api listNodes qos policy priority-queue && /bin/cli-shell-api listNodes qos policy random-detect && /bin/cli-shell-api listNodes qos policy rate-control && /bin/cli-shell-api listNodes qos policy round-robin && /bin/cli-shell-api listNodes qos policy shaper && /bin/cli-shell-api listNodes qos policy shaper-hfsc
Example
[email protected]# /bin/cli-shell-api listNodes qos policy drop-tail && /bin/cli-shell-api listNodes qos policy fair-queue 'foo''bar'[edit]
The tab completion helper will concatenate this to foobar completion help which is invalid. When we generate the node.def files we need to add an additional whitespace character between two succeeding calls to cli-shell-api.