controller_card_redundancy_test - bstoll/featureprofiles GitHub Wiki
- collect inventory data for each controller card
 - Verify last restart time is updated
 
- 
collect following attributes for each component of CONTROLLER_CARD type and verify corectness (mostly non-empty string)
- 
/components/component/state/empty
 - 
/components/component/state/location
 - 
/components/component/state/oper-status
 - 
/components/component/state/switchover-ready
 - 
/components/component/state/redundant-role
 - 
/components/component/state/last-switchover-time
 - 
/components/component/state/last-switchover-reason/trigger
 - 
/components/component/state/last-switchover-reason/details
 - 
/components/component/state/last-reboot-time
 - 
/components/component/state/last-reboot-reason
 - 
/components/component/state/description
 - 
/components/component/state/hardware-version
 - 
/components/component/state/id
 - 
/components/component/state/mfg-name
 - 
/components/component/state/name
 - 
/components/component/state/parent
 - 
/components/component/state/part-no
 - 
/components/component/state/serial-no
 - 
/components/component/state/type
 
 - 
 - 
store list of present components of CONTROLLER_CARD type
 
- Verify that all controller_cards have 
switchover-ready=TRUE - Collect and store 
redundant-rolefor each controller_card as "previous-role" - Initiate controller-card switchover
 - Try periodicaly (60 sec interval) untill sucesfull but no longer then 20 min: Collect 
redundant-rolefor each controller_card. Compare it with "previous-role"- for controller_card of current "PRIMARY" role, previous role must be "SECONDARY"
 - for controller_card of current "SECONDARY" role, previous role must be "PRIMARY"
 
 - try until (
switchover-ready=TRUEon all controller_cards ORlast-switchover-timeis moret then 20min ago)- Wait(5min)
 - Verify that all controller_cards has 
switchover-ready=TRUE; if so test PASSED 
 
- Verify that all controller_cards has 
switchover-ready=TRUE - Select component with 
redundant-role=PRIMARY, store name as "previous_primary" - Perfom Controller_Card switchover and then power down "previous_primary" component. Wait 5s.
 - Collect 
redundant-roleandoper-statusfrom all components of CONTROLLER_CARD type as collected in test 1;- verify that "previous_primary" controller 
oper-statusis notACTIVE - verify that at exectly one controller_card has 
redundant-role=PRIMARYandoper-status=ACTIVE - if gNMI client can get this information, it is asumed controller card redundancy works. More torough tests of failover are part of forwarding tests.
 
 - verify that "previous_primary" controller 
 - Power up "previous_primary" controller card
 - Wait untill all controller_cards has 
switchover-ready=TRUE(cleanup) 
- Select component with 
redundant-role=SECONDARY - store last-reboot-time for this component as "previous-reboot-time"
 - Power down this component, wait 60 sec.
 - Power up this component
 - Wait
 - get last-reboot-time and compare with "previous-reboot-time"
- "previous-reboot-time" must be smaller (earlier) then recently collected last-reboot-time
 
 
- /components/component/controller_card/config/power-admin-state
 
- /components/component/controller-card/state/power-admin-state
 - /components/component/state/empty
 - /components/component/state/location
 - /components/component/state/oper-status
 - /components/component/state/switchover-ready
 - /components/component/state/redundant-role
 - /components/component/state/last-switchover-time
 - /components/component/state/last-switchover-reason/trigger
 - /components/component/state/last-switchover-reason/details
 - /components/component/state/last-reboot-time
 - /components/component/state/last-reboot-reason
 - /components/component/state/description
 - /components/component/state/hardware-version
 - /components/component/state/id
 - /components/component/state/mfg-name
 - /components/component/state/name
 - /components/component/state/parent
 - /components/component/state/part-no
 - /components/component/state/serial-no
 - /components/component/state/type
 
- MFF