genieparser icon indicating copy to clipboard operation
genieparser copied to clipboard

Updated show vrf <vrf> detail xr parser

Open aterkuci opened this issue 3 years ago • 1 comments

  • Description

Modified the regex in order to parse a VRF containing ":" in the name.

Motivation and Context

when launching on asr9k "show vrf V99:ADMIN detail" the parser couldn't find the vrf key. KeyError: 'V99:ADMIN'

Impact (If any)

Change regex on parser to support colon in the name

Screenshots:

with normal regex: p1 = re.compile(r'^VRF +(?P<vrf>[\w\-]+); +' output: KeyError: 'V99:ADMIN'

with this regex: p1 = re.compile(r'^VRF +(?P<vrf>[\w\-\:]+); +' output: {'V99:ADMIN': {'vrf_mode': 'regular', 'description': 'VRF ADMIN', 'interfaces': [], 'address_family': {'ipv4 unicast': {}, 'ipv6 unicast': {}}}}

python3 folder_parsing_job.py -o iosxr -c ShowVrfAllDetail
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: |                   Starting testcase SuperFileBasedTesting                    |
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: |                            Starting section setup                            |
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: The result of section setup is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: The result of testcase SuperFileBasedTesting is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: |                           Starting testcase iosxr                            |
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: |                            Starting section setup                            |
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: The result of section setup is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: |                      Starting section ShowVrfAllDetail                       |
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: :                  Starting STEP 1: iosxr -> ShowVrfAllDetail                  :
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: :         Starting STEP 1.1: Test Golden -> iosxr -> ShowVrfAllDetail          :
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: :    Starting STEP 1.1.1: Gold -> iosxr -> ShowVrfAllDetail -> golden_outpu    :
2022-09-02T13:47:52: %AETEST-INFO: :                                     t_1                                      :
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: The result of STEP 1.1.1: Gold -> iosxr -> ShowVrfAllDetail -> golden_output_1 is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: :    Starting STEP 1.1.2: Gold -> iosxr -> ShowVrfAllDetail -> golden_outpu    :
2022-09-02T13:47:52: %AETEST-INFO: :                                     t_2                                      :
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: The result of STEP 1.1.2: Gold -> iosxr -> ShowVrfAllDetail -> golden_output_2 is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: The result of STEP 1.1: Test Golden -> iosxr -> ShowVrfAllDetail is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: :          Starting STEP 1.2: Test Empty -> iosxr -> ShowVrfAllDetail          :
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: :    Starting STEP 1.2.1: Empty -> iosxr -> ShowVrfAllDetail -> empty_outpu    :
2022-09-02T13:47:52: %AETEST-INFO: :                                      t                                       :
2022-09-02T13:47:52: %AETEST-INFO: +..............................................................................+
2022-09-02T13:47:52: %AETEST-INFO: The result of STEP 1.2.1: Empty -> iosxr -> ShowVrfAllDetail -> empty_output is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: The result of STEP 1.2: Test Empty -> iosxr -> ShowVrfAllDetail is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: The result of STEP 1: iosxr -> ShowVrfAllDetail is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: +..........................................................+
2022-09-02T13:47:52: %AETEST-INFO: :                       STEPS Report                       :
2022-09-02T13:47:52: %AETEST-INFO: +..........................................................+
2022-09-02T13:47:52: %AETEST-INFO: STEP 1 - iosxr -> ShowVrfAllDetail                    Passed
2022-09-02T13:47:52: %AETEST-INFO: STEP 1.1 - Test Golden -> iosxr -> ShowVrfAllDetail    Passed
2022-09-02T13:47:52: %AETEST-INFO: STEP 1.1.1 - Gold -> iosxr -> ShowVrfAllDetail -> golden_output_1    Passed
2022-09-02T13:47:52: %AETEST-INFO: STEP 1.1.2 - Gold -> iosxr -> ShowVrfAllDetail -> golden_output_2    Passed
2022-09-02T13:47:52: %AETEST-INFO: STEP 1.2 - Test Empty -> iosxr -> ShowVrfAllDetail    Passed
2022-09-02T13:47:52: %AETEST-INFO: STEP 1.2.1 - Empty -> iosxr -> ShowVrfAllDetail -> empty_output    Passed
2022-09-02T13:47:52: %AETEST-INFO: ............................................................
2022-09-02T13:47:52: %AETEST-INFO: The result of section ShowVrfAllDetail is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: |                           Starting section cleanup                           |
2022-09-02T13:47:52: %AETEST-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %AETEST-INFO: The result of section cleanup is => PASSED
2022-09-02T13:47:52: %AETEST-INFO: The result of testcase iosxr is => PASSED
2022-09-02T13:47:52: %GENIE-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %GENIE-INFO: |                               Unittest results                               |
2022-09-02T13:47:52: %GENIE-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %GENIE-INFO:  SECTIONS/TESTCASES                                                      RESULT
2022-09-02T13:47:52: %GENIE-INFO: --------------------------------------------------------------------------------
2022-09-02T13:47:52: %GENIE-INFO: .
2022-09-02T13:47:52: %GENIE-INFO: |-- SuperFileBasedTesting                                                 PASSED
2022-09-02T13:47:52: %GENIE-INFO: |   `-- setup                                                             PASSED
2022-09-02T13:47:52: %GENIE-INFO: `-- iosxr                                                                 PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |-- setup                                                             PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |-- ShowVrfAllDetail                                                  PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |   |-- Step 1: iosxr -> ShowVrfAllDetail                             PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |   |-- Step 1.1: Test Golden -> iosxr -> ShowVrfAllDetail            PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |   |-- Step 1.1.1: Gold -> iosxr -> ShowVrfAllDetail -> golden...    PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |   |-- Step 1.1.2: Gold -> iosxr -> ShowVrfAllDetail -> golden...    PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |   |-- Step 1.2: Test Empty -> iosxr -> ShowVrfAllDetail             PASSED
2022-09-02T13:47:52: %GENIE-INFO:     |   `-- Step 1.2.1: Empty -> iosxr -> ShowVrfAllDetail -> empty...    PASSED
2022-09-02T13:47:52: %GENIE-INFO:     `-- cleanup                                                           PASSED
2022-09-02T13:47:52: %GENIE-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %GENIE-INFO: |                                   Summary                                    |
2022-09-02T13:47:52: %GENIE-INFO: +------------------------------------------------------------------------------+
2022-09-02T13:47:52: %GENIE-INFO:  Number of ABORTED                                                            0
2022-09-02T13:47:52: %GENIE-INFO:  Number of BLOCKED                                                            0
2022-09-02T13:47:52: %GENIE-INFO:  Number of ERRORED                                                            0
2022-09-02T13:47:52: %GENIE-INFO:  Number of FAILED                                                             0
2022-09-02T13:47:52: %GENIE-INFO:  Number of PASSED                                                             2
2022-09-02T13:47:52: %GENIE-INFO:  Number of PASSX                                                              0
2022-09-02T13:47:52: %GENIE-INFO:  Number of SKIPPED                                                            0
2022-09-02T13:47:52: %GENIE-INFO:  Total Number                                                                 2
2022-09-02T13:47:52: %GENIE-INFO:  Success Rate                                                            100.0%
2022-09-02T13:47:52: %GENIE-INFO: --------------------------------------------------------------------------------
2022-09-02T13:47:52: %GENIE-INFO:  Total Passing Unittests                                                      3
2022-09-02T13:47:52: %GENIE-INFO:  Total Failed Unittests                                                       0
2022-09-02T13:47:52: %GENIE-INFO:  Total Errored Unittests                                                      0
2022-09-02T13:47:52: %GENIE-INFO:  Total Unittests                                                              3
2022-09-02T13:47:52: %GENIE-INFO: --------------------------------------------------------------------------------


Checklist:

  • [x] I have updated the changelog.
  • [ ] I have updated the documentation (If applicable).
  • [x] I have added tests to cover my changes (If applicable).
  • [x] All new and existing tests passed.
  • [ ] All new code passed compilation.

aterkuci avatar Sep 01 '22 15:09 aterkuci

Thanks for your contribution! Unfortunately there are a couple things that need to be addressed before it can be included

GerriorL avatar Sep 01 '22 17:09 GerriorL