genieparser
genieparser copied to clipboard
Updated show vrf <vrf> detail xr parser
-
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.
Thanks for your contribution! Unfortunately there are a couple things that need to be addressed before it can be included