Contenido

Introducción

Cómo se genera una falla y cómo evitar selectivamente que se generen errores

Mecanismo de alto nivel

Ejemplo 1: falla en un arrendatario

Ejemplo 2: falla física

Introducción

Este documento explica el proceso de alto nivel de generación de fallos de la infraestructura centrada en aplicaciones (ACI) y cómo evitar que se genere una falla específica. El documento lo demuestra con dos ejemplos.

Cómo se genera una falla y cómo evitar selectivamente que se generen errores

Mecanismo de alto nivel

1. Cada error es un objeto administrado (MO) de clase failureInst (o failDelegate). Este MO de falla es generado por otro MO, normalmente su padre, porque algunas reglas son violadas.

2. Cada MO en el árbol que puede generar fallas tiene un atributo monPolDn que apunta a otro MO que es un objeto de política de monitoreo. Este objeto permite modificar la propiedad y generar fallos. Hay varias clases del objeto de directiva de supervisión, como:

- monInfraPol: se ocupa de la política de infrarrojos (administrador de VM, política de puertos de acceso, puertos físicos, etc.). Se encuentra en Fabric > Políticas de acceso > Políticas de supervisión

- monFabricPol: se ocupa de la supervisión de fabric. Se encuentra en Fabric > Fabric Policies > Monitoring Policies (Políticas de fabric > Supervisión).

- monEPGPol - se ocupa de la supervisión de arrendatarios > ubicada en Arrendatario > menú Política de supervisión

3. Normalmente será el objeto de supervisión predeterminado. Sin embargo, al ir al área específica del modelo de objetos, puede crear una política de supervisión definida por el usuario específica para cualquiera de esas clases de directivas de supervisión.

4. Puede modificar muchas propiedades de esas directivas de supervisión. En el ejemplo se mostrará cómo evitar que se genere un error determinado para todos los objetos a los que se aplica la directiva de supervisión. Sin embargo, también puede modificar los temporizadores del ciclo de vida de los fallos (tiempo de retención, tiempo de consumo, etc.).

5. Para modificar la gravedad de la falla o evitar que se genere una falla, debe seleccionar el objeto de supervisión que corresponde a la clase del MO que generó este objeto (por ejemplo, el padre del error).

6. A continuación, en esta clase, elija el código de error que desea modificar y elija una gravedad inicial del valor "squelched".

Esto evita que el MO que se asigna a esta política de supervisión específica genere errores con ese código.

Ejemplo 1: falla en un arrendatario

Cada error se asocia a un objeto.

admin@apic:~> moquery -d "uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]/fault-F0879"

Total Objects shown: 1

# fault.Inst

code             : F0879

ack              : no

cause            : resolution-failed

changeSet        :

childAction      :

created          : 2015-01-22T00:05:00.286+01:00

descr            : Failed to form relation to MO uni/tn-RD/ap-App_RD1/epg-EPG_RD11 of class fvAEPg

dn               : uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]/fault-F0879

domain           : infra

highestSeverity  : warning

lastTransition   : 2015-01-22T00:05:00.286+01:00

lc               : raised

modTs            : never

occur            : 1

origSeverity     : warning

prevSeverity     : warning

rn               : fault-F0879

rule             : dbgac-rs-to-epg-resolve-fail

El error anterior es un MO de falla de clase.Inst y con código F0879.

El error se asocia a un objeto de grupo de terminales (EPG) como se muestra a continuación.

Este objeto es el nombre distinguido (DN) del padre del error. Este objeto primario es de la clase dbg.RsToEpg.

admin@apic:~> moquery -d uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]

Total Objects shown: 1

# dbgac.RsToEpg

tDn          : uni/tn-RD/ap-App_RD1/epg-EPG_RD11

childAction  :

dn           : uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]

forceResolve : no

lcOwn        : local

modTs        : 2014-12-05T12:56:29.340+01:00

monPolDn     : uni/tn-RD/monepg-RD_Monitoring

rType        : mo

rn           : rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]

state        : missing-target

stateQual    : none

status       :

tCl          : fvAEPg

tType        : mo

uid          : 15374

Puede ver que este objeto EPG está asociado a un objeto monPolDn. La mayoría de los objetos del árbol son supervisados por un objeto de supervisión.

Aquí hay un objeto de monitoreo definido por el usuario de la clase monEPGPol con dn.

uni/tn-RD/monepg-RD_Monitoring

Este es el objeto completo utilizado para la supervisión.

admin@apic:~> moquery -d uni/tn-RD/monepg-RD_Monitoring

Total Objects shown: 1

# mon.EPGPol

name         : RD_Monitoring

childAction  :

descr        :

dn           : uni/tn-RD/monepg-RD_Monitoring

lcOwn        : local

modTs        : 2014-11-13T15:41:45.326+01:00

monPolDn     : uni/tn-RD/monepg-RD_Monitoring

ownerKey     :

ownerTag     :

rn           : monepg-RD_Monitoring

status       :

uid          : 10673

El objeto monEPGPol se configura en la directiva de supervisión de arrendatarios, donde puede crear una nueva política o modificar la predeterminada. Aquí hay un ejemplo del nombre de monEPGPol RD_Monitoring.

Puede elegir las políticas de asignación de gravedad de error y hacer clic en el lápiz (junto al objeto Monitoring).

A continuación, si elige en la lista de objetos de supervisión de esa política de supervisión, la clase para la que se creó el error (aquí dbgac.RsToEpg).

Puede ver todos los fallos asociados a esa clase específica (el único que se muestra aquí es F0789).

El error F0789 es el código de la presentación de fallas al principio del ejemplo.

Puede elegir este error y si establece una Gravedad inicial en squelched (puede dejar que la Gravedad de Destino se herede), evita que dicha falla se genere en el futuro con la presunción de que son generadas por un objeto que tiene un enlace a la política de supervisión que acaba de modificar.

Sin embargo, no eliminará los fallos existentes, sino sólo los nuevos.

Ejemplo 2: falla física

En este ejemplo, se genera el error porque el puerto 1/25 en la hoja está administrando pero sin SFP en ella.

admin@apic:~> moquery -c faultInst -f 'fault.Inst.code == "F1678"'

Total Objects shown: 2

# fault.Inst

code             : F1678

ack              : no

cause            : port-failure

changeSet        : usage (New: epg)

childAction      :

created          : 2015-01-19T14:26:13.862+01:00

descr            : TEST FAULT -- Port is down, reason:sfpAbsent(connected), used by:EPG,

lastLinkStChg:1970-01-01T01:00:00.000+01:00, operSt:down

dn               : topology/pod-1/node-101/sys/phys-[eth1/25]/phys/fault-F1678

domain           : access

highestSeverity  : critical

lastTransition   : 2015-01-19T14:28:41.668+01:00

lc               : raised

modTs            : never

occur            : 1

origSeverity     : critical

prevSeverity     : critical

rn               : fault-F1678

rule             : ethpm-if-port-down-infra-epg-test

severity         : critical

status           :

subject          : port-down

type             : communications

uid              :

Esto se asocia a un puerto físico. Este es el MO primario que generó ese error.

admin@apic:~> moquery -d topology/pod-1/node-101/sys/phys-[eth1/25]/phys

Total Objects shown: 1

# ethpm.PhysIf

accessVlan         : vlan-1

allowedVlans       :

backplaneMac       : 50:87:89:A2:2A:C1

bundleBupId        : 1

bundleIndex        : unspecified

cfgAccessVlan      : vlan-1

cfgNativeVlan      : vlan-1

childAction        :

currErrIndex       : 4294967295

diags              : none

dn                 : topology/pod-1/node-101/sys/phys-[eth1/25]/phys

encap              : 3

errDisTimerRunning : no

errVlanStatusHt    : 0

errVlans           :

hwBdId             : 0

intfT              : phy

iod                : 29

lastErrors         : 0

lastLinkStChg      : 1970-01-01T01:00:00.000+01:00

media              : 2

modTs              : never

monPolDn           : uni/infra/moninfra-default

nativeVlan         : vlan-1

Esto se asocia al objeto monInfraPol configurado como se muestra aquí.

admin@apic:~> moquery -c monInfraPol

Total Objects shown: 4

# mon.InfraPol

name         : default

childAction  :

descr        :

dn           : uni/infra/moninfra-default

lcOwn        : local

modTs        : 2014-08-06T07:58:19.494+01:00

monPolDn     : uni/infra/moninfra-default

ownerKey     :

ownerTag     :

rn           : moninfra-default

status       :

uid          : 0

En la directiva Asignación de gravedad de fallo, haga clic en el lápiz del panel de trabajo, junto a la lista desplegable Objeto de supervisión. Agregue una clase en la que modifique las propiedades de supervisión. A continuación, elija la clase del objeto que generó la falla, es decir, ethmPhysIf.

Elija esta clase y haga clic en el icono + para ver cada falla generada para ese objeto.

En este ejemplo, puede ver el error F1678 y sus propiedades se pueden modificar. Al elegir la gravedad inicial vaciada y la gravedad de destino inherit, se evita que se generen nuevos errores de ese código desde el objeto que aplica esta política de supervisión.

Después de realizar el cambio, si habilita el puerto 1/25 sin SFP en él, no generará ningún error.

Nota: En versiones anteriores a la versión 2.2 del software: Los fallos existentes (incluso en el modo de retención de borrado) no se borrarán.

Nota: En la versión de software 2.2 y posteriores: Incluso los fallos existentes se verán afectados por la nueva política.