CiscoTestAutomation / genieparser

sub-component of Genie that parse the device output into structured datastructure
Apache License 2.0
249 stars 387 forks source link

[IOS-XR] Parser for "show platform" does not work with certain statuses #869

Closed agandl046 closed 3 months ago

agandl046 commented 3 months ago

After reloading a linecard and running show platform, I observed two statuses that are not currently captured in the parser. SW_INACTIVE and IN-RESET. The parser excludes the linecard from the results when that status is reported.

CLI Output and Genie parser outputs

Example 1 - SW_INACTIVE

0/3 has SW_INACTIVE status and is missing from the Genie output

Thu Jun 27 13:14:00.563 UTC
Node              Type                       State             Config state
--------------------------------------------------------------------------------
0/RSP0/CPU0       A9K-RSP5-SE(Active)        IOS XR RUN        NSHUT
0/RSP1/CPU0       A9K-RSP5-SE(Standby)       IOS XR RUN        NSHUT
0/FT0             ASR-9910-FAN               OPERATIONAL       NSHUT
0/FT1             ASR-9910-FAN               OPERATIONAL       NSHUT
0/1/CPU0          A9K-MOD400-TR              IOS XR RUN        NSHUT
0/1/0             A9K-MPA-20X10GE            OK
0/1/1             A9K-MPA-20X10GE            OK
0/3               A99-32X100GE-CM            SW_INACTIVE       NSHUT 
0/5/CPU0          A9K-MOD400-TR              IOS XR RUN        NSHUT
0/5/0             A9K-MPA-20X10GE            OK
0/5/1             A9K-MPA-20X10GE            OK
0/6/CPU0          A99-32X100GE-TR            IOS XR RUN        NSHUT
0/FC0             A99-SFC3-S                 OPERATIONAL       NSHUT
0/FC1             A99-SFC3-S                 OPERATIONAL       NSHUT
0/FC2             A99-SFC3-S                 OPERATIONAL       NSHUT
0/FC3             A99-SFC3-S                 OPERATIONAL       NSHUT
0/FC4             A99-SFC3-S                 OPERATIONAL       NSHUT
0/PT0             A9K-DC-PEM-V3              OPERATIONAL       NSHUT
0/PT1             A9K-DC-PEM-V3              OPERATIONAL       NSHUT
{
    "slot": {
        "rp": {
            "0/RSP0": {
                "name": "A9K-RSP5-SE",
                "full_slot": "0/RSP0/CPU0",
                "state": "IOS XR RUN",
                "config_state": "NSHUT",
                "redundancy_state": "Active"
            },
            "0/RSP1": {
                "name": "A9K-RSP5-SE",
                "full_slot": "0/RSP1/CPU0",
                "state": "IOS XR RUN",
                "config_state": "NSHUT",
                "redundancy_state": "Standby"
            }
        },
        "oc": {
            "0/FT0": {
                "name": "ASR-9910-FAN",
                "full_slot": "0/FT0",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/FT1": {
                "name": "ASR-9910-FAN",
                "full_slot": "0/FT1",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/FC0": {
                "name": "A99-SFC3-S",
                "full_slot": "0/FC0",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/FC1": {
                "name": "A99-SFC3-S",
                "full_slot": "0/FC1",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/FC2": {
                "name": "A99-SFC3-S",
                "full_slot": "0/FC2",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/FC3": {
                "name": "A99-SFC3-S",
                "full_slot": "0/FC3",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/FC4": {
                "name": "A99-SFC3-S",
                "full_slot": "0/FC4",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/PT0": {
                "name": "A9K-DC-PEM-V3",
                "full_slot": "0/PT0",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            },
            "0/PT1": {
                "name": "A9K-DC-PEM-V3",
                "full_slot": "0/PT1",
                "state": "OPERATIONAL",
                "config_state": "NSHUT"
            }
        },
        "lc": {
            "0/1": {
                "name": "A9K-MOD400-TR",
                "full_slot": "0/1/CPU0",
                "state": "IOS XR RUN",
                "config_state": "NSHUT"
            },
            "0/5": {
                "name": "A9K-MOD400-TR",
                "full_slot": "0/5/CPU0",
                "state": "IOS XR RUN",
                "config_state": "NSHUT"
            },
            "0/6": {
                "name": "A99-32X100GE-TR",
                "full_slot": "0/6/CPU0",
                "state": "IOS XR RUN",
                "config_state": "NSHUT"
            }
        }
    }
}

Example 2 - IN-RESET

0/1/CPU0 has IN-RESET and is missing from the Genie output

Tue Jul  2 15:22:55.819 EST
Node            Type                      State            Config State
-----------------------------------------------------------------------------
0/RSP0/CPU0     A9K-RSP440-SE(Active)     IOS XR RUN       PWR,NSHUT,MON
0/RSP1/CPU0     A9K-RSP440-SE(Standby)    IOS XR RUN       PWR,NSHUT,MON
0/0/CPU0        A9K-24x10GE-TR            IOS XR RUN       PWR,NSHUT,MON
0/1/CPU0        A9K-2T20GE-L              IN-RESET         PWR,NSHUT,MON
0/2/CPU0        A9K-24x10GE-TR            IOS XR RUN       PWR,NSHUT,MON
0/3/CPU0        A9K-2x100GE-TR            IOS XR RUN       PWR,NSHUT,MON
{
    "slot": {
        "rp": {
            "0/RSP0": {
                "name": "A9K-RSP440-SE",
                "full_slot": "0/RSP0/CPU0",
                "state": "IOS XR RUN",
                "config_state": "PWR,NSHUT,MON",
                "redundancy_state": "Active"
            },
            "0/RSP1": {
                "name": "A9K-RSP440-SE",
                "full_slot": "0/RSP1/CPU0",
                "state": "IOS XR RUN",
                "config_state": "PWR,NSHUT,MON",
                "redundancy_state": "Standby"
            }
        },
        "lc": {
            "0/0": {
                "name": "A9K-24x10GE-TR",
                "full_slot": "0/0/CPU0",
                "state": "IOS XR RUN",
                "config_state": "PWR,NSHUT,MON"
            },
            "0/2": {
                "name": "A9K-24x10GE-TR",
                "full_slot": "0/2/CPU0",
                "state": "IOS XR RUN",
                "config_state": "PWR,NSHUT,MON"
            },
            "0/3": {
                "name": "A9K-2x100GE-TR",
                "full_slot": "0/3/CPU0",
                "state": "IOS XR RUN",
                "config_state": "PWR,NSHUT,MON"
            }
        }
    }
}
agandl046 commented 3 months ago

I have opened https://github.com/CiscoTestAutomation/genieparser/pull/867 that needs review

Harishv01 commented 3 months ago

Hi, Kindly allow me some time to check with the team. Thank you.

agandl046 commented 3 months ago

@Harishv01 No problem. FYI, I have a PR open that does fix this issue: https://github.com/CiscoTestAutomation/genieparser/pull/867

Harishv01 commented 3 months ago

Hi, https://github.com/CiscoTestAutomation/genieparser/pull/867 this got merged. Hence, I am closing the ticket. Thank you.