Static routing table does not match across cluster members-checkpoint-all

Static routing table does not match across cluster members-checkpoint-all
0

Static routing table does not match across cluster members-checkpoint-all

Vendor: checkpoint

OS: all

Description:
Indeni will identify when two devices are part of a cluster and alert if their static routing tables are different.

Remediation Steps:
Ensure the static routing table matches across devices in a cluster.

chkp-asg-route-novsx

name: chkp-asg-route-novsx
description: Retrieve routing data
type: monitoring
monitoring_interval: 5 minute
requires:
    vendor: checkpoint
    asg: true
    vsx:
        neq: true
comments:
    static-routing-table:
        skip-documentation: true
    connected-networks-table:
        skip-documentation: true
    routes-missing-kernel:
        skip-documentation: true
steps:
-   run:
        type: SSH
        command: ${nice-path} -n 15 asg_route && ${nice-path} -n 15 asg_route --compare-os-db
    parse:
        type: AWK
        file: asg-route-novsx.parser.1.awk

static_routing_table_comparison_vsx

// Deprecation warning : Scala template-based rules are deprecated. Please use YAML format rules instead.

package com.indeni.server.rules.library.templatebased.crossvendor

import com.indeni.server.common.data.conditions.{Equals => DataEquals}
import com.indeni.server.rules.RuleContext
import com.indeni.server.rules.library.templates.SnapshotComparisonTemplateRule
import com.indeni.server.rules.RemediationStepCondition

/**
  *
  */
case class static_routing_table_comparison_vsx() extends SnapshotComparisonTemplateRule(
  ruleName = "static_routing_table_comparison_vsx",
  ruleFriendlyName = "Clustered Devices (VS): Static routing table does not match across cluster members",
  ruleDescription = "Indeni will identify when two devices are part of a cluster and alert if their static routing tables are different.",
  metricName = "static-routing-table",
  isArray = true,
  descriptionMetricTag = "vs.name",
  metaCondition = DataEquals("vsx", "true"),
  alertDescription = "Devices that are part of a cluster must have the same static routing tables. Review the differences below.\n\nThis alert was added per the request of <a target=\"_blank\" href=\"http://il.linkedin.com/pub/itzik-assaraf/2/870/1b5\">Itzik Assaraf</a> (Leumi Card).",
  baseRemediationText = "Ensure the static routing table matches across devices in a cluster.")(
  RemediationStepCondition.VENDOR_CP -> "Use the \"show configuration\" command in clish to compare the calls to \"set static-route\".",
  RemediationStepCondition.VENDOR_CISCO ->
    """|
       |1. Execute the "show ip route static" command to display the current contents of the  static routes installed to the routing table.
       |2. Compare the static route config between the peer switches with the show run | i "ip route" command
       |NOTE: The static routes configured between the peer switches may be different in case of orphan devices without need of redundancy between the vPC peer switches
       |3. For more information please review the next Cisco configuration guide:
       |https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/5_x/nx-os/unicast/configuration/guide/l3_cli_nxos/l3_route.html
    """.stripMargin
)
{override def deviceCondition(context: RuleContext) = generateDevicePassiveAndPassiveLinkStateCondition(context.tsDao)}