Page MenuHomeVyOS Platform

vyos_bgp_address_family doesn't implement config when omitting optional args
Open, NormalPublicBUG

Description

SUMMARY

When doing this:

as_number: 64512
address_family:
  - afi: "ipv4"
    redistribute:
      - protocol: "static"

There is no change. I have to add metric: 1 for it to take effect.

When doing this:

as_number: 64512
address_family:
  - afi: "ipv4"
    networks:
    - prefix: 152.110.3.0/24

There is no change. To trigger a change I have to specify something like backdoor: true, when the base config is perfectly valid.
It's like args aren't known to be optional.
The same thing happens with gathered, if stock config is there, it isn't recognised at all.

COMPONENT NAME
vyos_bgp_address_family

ANSIBLE VERSION

config file = /home/user/ansible-env/ansible.cfg
configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/user/.virtualenvs/ansible-new/lib/python3.9/site-packages/ansible
ansible collection location = /home/user/.ansible/collections:/usr/share/ansible/collections
executable location = /home/user/.virtualenvs/ansible-new/bin/ansible
python version = 3.9.6 (default, May 27 2022, 16:26:22) [GCC 6.3.0 20170516]
jinja version = 3.0.3
libyaml = True

COLLECTION VERSION

# /home/user/.virtualenvs/ansible-new/lib/python3.9/site-packages/ansible_collections
Collection Version
---------- -------
vyos.vyos  2.6.0

# /home/user/.ansible/collections/ansible_collections
Collection Version
---------- -------
vyos.vyos  4.0.0

CONFIGURATION

DEFAULT_GATHERING(/home/user/ansible-env/ansible.cfg) = smart
DEFAULT_HOST_LIST(/home/user/ansible-env/ansible.cfg) = ['/home/user/ansible-env/inventory']
DEFAULT_STDOUT_CALLBACK(/home/user/ansible-env/ansible.cfg) = yaml

OS / ENVIRONMENT
Controller: Debian stretch
VyOS: 1.3

STEPS TO REPRODUCE
As above.

EXPECTED RESULTS
I expect changes to occur with standard defaults.

ACTUAL RESULTS
As above, no changes.

Details

Version
4.0.0
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

syncer triaged this task as Normal priority.
syncer added a project: Bugs.

I did some investigation - apparently the plugin cannot match the full command pattern (including optional attributes) and silently refuses to generate a resultant set of commands - I will be looking into this - most likely the issue is related to rm_templates regex patterns for getval

It appears that path-limit GBP network options is deprecated

The PR# is re-submitted for review and testing