• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • rhel-10.0
    • rhel-10.0
    • frr
    • None
    •  frr-10.1-10.el10
    • No
    • Important
    • rhel-sst-cs-net-perf-services
    • ssg_core_services
    • 26
    • 2
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None

      When running frr and trying to reload configuration, frr-reload.py will not work correctly and it will emit a lot of python SyntaxWarnings:

       

      1. /usr/libexec/frr/frr-reload.py --debug --reload frr.conf.gr 
        /usr/libexec/frr/frr-reload.py:206: SyntaxWarning: invalid escape sequence '\S'
          obj = re.match(sub_str + " (?P<esi>\S*)", line)
        /usr/libexec/frr/frr-reload.py:231: SyntaxWarning: invalid escape sequence '\S'
          intf_vrf = re.search("interface (\S+) vrf (\S+)", line)
        /usr/libexec/frr/frr-reload.py:816: SyntaxWarning: invalid escape sequence '\S'
          re_pg = re.match("neighbor (\S+) peer-group$", line)
        /usr/libexec/frr/frr-reload.py:839: SyntaxWarning: invalid escape sequence '\S'
          pg_rmtas = "neighbor %s remote-as (\S+)" % pg_key
        /usr/libexec/frr/frr-reload.py:845: SyntaxWarning: invalid escape sequence '\S'
          nb_pg = "neighbor (\S+) peer-group %s$" % pg_key
        /usr/libexec/frr/frr-reload.py:863: SyntaxWarning: invalid escape sequence '\S'
          nbr_rmtas = "neighbor (\S+) remote-as.*"
        /usr/libexec/frr/frr-reload.py:892: SyntaxWarning: invalid escape sequence '\S'
          re_nbr_pg = re.search("neighbor (\S+) .*peer-group (\S+)", line)
        /usr/libexec/frr/frr-reload.py:991: SyntaxWarning: invalid escape sequence '\S'
          nb_remoteas = "neighbor (\S+) .*remote-as (\S+)"
        /usr/libexec/frr/frr-reload.py:999: SyntaxWarning: invalid escape sequence '\S'
          re_nbr_pg = re.search("neighbor (\S+) .*peer-group (\S+)", line)
        /usr/libexec/frr/frr-reload.py:1011: SyntaxWarning: invalid escape sequence '\S'
          re_pg = re.match("neighbor (\S+) peer-group$", line)
        /usr/libexec/frr/frr-reload.py:1038: SyntaxWarning: invalid escape sequence '\S'
          nb_pg = "neighbor (\S+) .*peer-group %s$" % pg_key
        /usr/libexec/frr/frr-reload.py:1096: SyntaxWarning: invalid escape sequence '\S'
          pim_msdp_peer = re.search("ip msdp peer (\S+) source (\S+)", line)
        /usr/libexec/frr/frr-reload.py:1189: SyntaxWarning: invalid escape sequence '\S'
          "neighbor (\S+) interface peer-group (\S+)", line
        /usr/libexec/frr/frr-reload.py:1192: SyntaxWarning: invalid escape sequence '\S'
          "neighbor (\S+) interface v6only peer-group (\S+)", line
        /usr/libexec/frr/frr-reload.py:1333: SyntaxWarning: invalid escape sequence '\S'
          "neighbor (\S+) interface remote-as (\S+)", line
        /usr/libexec/frr/frr-reload.py:1336: SyntaxWarning: invalid escape sequence '\S'
          "neighbor (\S+) interface v6only remote-as (\S+)", line
        /usr/libexec/frr/frr-reload.py:1376: SyntaxWarning: invalid escape sequence '\s'
          "^bgp\s+bestpath\s+as-path\s+multipath-relax$", line
        /usr/libexec/frr/frr-reload.py:1401: SyntaxWarning: invalid escape sequence '\s'
          re_importtbl = re.search("^ip\s+import-table\s+(\d+)$", ctx_keys[0])
        /usr/libexec/frr/frr-reload.py:1422: SyntaxWarning: invalid escape sequence '\s'
          "^(ip |ipv6 |)(prefix-list|access-list)(\s+\S+\s+)(seq \d+\s+)(permit|deny)(.*)$",
        /usr/libexec/frr/frr-reload.py:1455: SyntaxWarning: invalid escape sequence '\s'
          "^(bgp )(community-list|large-community-list|extcommunity-list)(\s+\S+\s+)(\S+\s+)(seq \d+\s+)(permit|deny)(.*)$",
        /usr/libexec/frr/frr-reload.py:1484: SyntaxWarning: invalid escape sequence '\S'
          "^(bgp )(as-path )(access-list )(\S+\s+)(seq \d+\s+)(permit|deny)(.*)$",
        /usr/libexec/frr/frr-reload.py:1651: SyntaxWarning: invalid escape sequence '\S'
          area_stub_no_sum = "area (\S+) stub no-summary"

       

      This is because of missing 'r' before regex strings in re.match and re.search functions. I think this is valid since python-3.12. The reload will not end with an error but some of these affected options will not apply.

              mruprich@redhat.com Michal Ruprich
              mruprich@redhat.com Michal Ruprich
              Michal Ruprich Michal Ruprich
              Frantisek Hrdina Frantisek Hrdina
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: