View ocum.clusternodehighavailabilitystateview Generated by
SchemaSpy
Legend: SourceForge.net
Primary key columns
Columns with indexes
Implied relationships
Excluded column relationships
< n > number of related tables
 
Column Type Size Nulls Auto Default Children Parents Comments
node_id bigint 19 Locally unique object identifier. ZAPIs: system-node-get-iter.node-details-info, system-get-node-info-iter.system-info
isSfoPairInterconnectUp int 10  √  null
haState varchar 14
haStateErrorReason text 65535  √  null
haStatus varchar 21

Analyzed at Tue Apr 23 05:29 EDT 2019

View Definition:
select `node`.`objid` AS `node_id`,coalesce(`node`.`isInterconnectUp`,coalesce(`partner`.`isInterconnectUp`,FALSE)) AS `isSfoPairInterconnectUp`,(case when `ocum`.`cluster`.`hasSingleNode` then 'not_applicable' when (`node`.`isNodeHealthy` and `partner`.`isNodeHealthy`) then (case when (`node`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'error' when (`partner`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'error' when (`node`.`isTakeOverPossible` and `partner`.`isTakeOverPossible`) then 'normal' else 'error' end) when `node`.`isNodeHealthy` then (case when (`node`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting','takeover_failed')) then 'error' when (`node`.`failoverState` = 'takeover') then 'warning' else 'error' end) when `partner`.`isNodeHealthy` then (case when (`partner`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting','takeover_failed')) then 'error' when (`partner`.`failoverState` = 'takeover') then 'warning' else 'error' end) when ((not(`node`.`isNodeHealthy`)) and (not(`partner`.`isNodeHealthy`))) then 'error' else 'normal' end) AS `haState`,(case when `ocum`.`cluster`.`hasSingleNode` then 'Not Applicable' when (`node`.`isNodeHealthy` and `partner`.`isNodeHealthy`) then (case when (`node`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'Partial giveback state, some storage not returned to its owner' when (`partner`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'Partial giveback state, some storage not returned to its owner' when (`node`.`isTakeOverPossible` and `partner`.`isTakeOverPossible`) then 'Storage failover possible' else concat('Storage failover not possible: ',coalesce(`node`.`takeoverOfPartnerNotPossibleReason`,`partner`.`takeoverOfPartnerNotPossibleReason`,'unknown')) end) when `node`.`isNodeHealthy` then (case when (`node`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'Partial giveback state, some storage not returned to its owner' when (`node`.`failoverState` = 'takeover') then concat('Node ',`partner`.`name`,' is down, takeover successful') when (`node`.`failoverState` = 'takeover_failed') then concat('Node ',`partner`.`name`,' is down, takeover failed') else concat('Storage failover not possible: ',coalesce(`node`.`takeoverOfPartnerNotPossibleReason`,'unknown')) end) when `partner`.`isNodeHealthy` then (case when (`partner`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'Partial giveback state, some storage not returned to its owner' when (`partner`.`failoverState` = 'takeover') then concat('Node ',`node`.`name`,' is down, takeover successful') when (`partner`.`failoverState` = 'takeover_failed') then concat('Node ',`node`.`name`,' is down, takeover failed') else concat('Storage failover not possible: ',coalesce(`partner`.`takeoverOfPartnerNotPossibleReason`,'unknown')) end) when ((not(`node`.`isNodeHealthy`)) and (not(`partner`.`isNodeHealthy`))) then 'Nodes in the HA pair are down' else '' end) AS `haStateErrorReason`,(case when `ocum`.`cluster`.`hasSingleNode` then 'not_applicable' when (`node`.`isNodeHealthy` and `partner`.`isNodeHealthy`) then (case when (`node`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'partial_giveback' when (`partner`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'partial_giveback' when (`node`.`isTakeOverPossible` and `partner`.`isTakeOverPossible`) then 'normal' else 'takeover_not_possible' end) when `node`.`isNodeHealthy` then (case when (`node`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'partial_giveback' when (`node`.`failoverState` = 'takeover') then 'takeover' when (`node`.`failoverState` = 'takeover_failed') then 'takeover_failed' when isnull(`node`.`partnerNodeId`) then 'not_configured' else 'takeover_not_possible' end) when `partner`.`isNodeHealthy` then (case when (`partner`.`failoverState` in ('giveback_partial_connected','giveback_partial_waiting')) then 'partial_giveback' when (`partner`.`failoverState` = 'takeover') then 'takeover' when (`partner`.`failoverState` = 'takeover_failed') then 'takeover_failed' else 'takeover_not_possible' end) when ((not(`node`.`isNodeHealthy`)) and (not(`partner`.`isNodeHealthy`))) then 'down' else '' end) AS `haStatus` from ((`netapp_model_view`.`node` left join `netapp_model_view`.`node` `partner` on((`partner`.`objid` = `node`.`partnerNodeId`))) straight_join `ocum`.`cluster` on((`ocum`.`cluster`.`id` = `node`.`clusterId`))) group by `node`.`objid`
 
Possibly Referenced Tables/Views: