module ietf-fault {
namespace "urn:ietf:params:xml:ns:yang:ietf-fault";
prefix flt;
import ietf-inet-types { prefix "inet"; }
import ietf-yang-types { prefix "yang"; }
import ietf-fault-types { prefix "flt-types"; }
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web:
WG List:
Editor: Anurag Sharma
Editor: Rajan Rao
Editor: Xian Zhang
";
description
"Fault YANG Data Model for Network Topology and Services.";
revision 2016-06-22 {
description
"Initial revision.";
reference
"TBD";
}
grouping fault-entity {
description
"Reference to the entity for which the fault is reported.";
choice entity-type {
description
"Entity reference type.";
case id {
leaf entity-id {
type inet:uri;
mandatory true;
description
"An identifier for the entity on which the fault
is raised. This entity can be in the device,
domain controllers, element management systems,
or northbound orchestrators. ";
}
}
case name {
leaf entity-name {
type string;
mandatory true;
description
"Name for the entity on which the fault is
raised. This entity can be in the device,
domain controllers, element management systems,
or northbound orchestrators. ";
}
}
}
}
grouping fault-info-attributes {
description
"Fault Info attributes.";
leaf fault-id {
type inet:uri;
mandatory true;
description
"An identifier for the fault. This identifier should be
chosen such that same fault will always be identified
using the same identifier.";
}
uses fault-entity;
leaf fault-type {
type identityref {
base flt-types:fault-type;
}
mandatory true;
description
"This parameter categorizes the fault.";
}
leaf probable-cause {
type identityref {
base flt-types:probable-cause-type;
}
mandatory true;
description
"This parameter defines further qualification as to the
probable cause of the alarm.";
}
leaf fault-time {
type yang:date-and-time;
mandatory true;
description
"Time that the fault was raised / reported.";
}
leaf fault-severity {
type enumeration {
enum Critical {
description
"The Critical severity level indicates that a
service affecting condition has occurred and an
immediate corrective action is required.";
}
enum Major {
description
"The Major severity level indicates that a
service affecting condition has developed and
an urgent corrective action is required.";
}
enum Minor {
description
"The Minor severity level indicates the
existence of a non-service affecting fault
condition and that corrective action should
be taken in order to prevent a more serious
(for example, service affecting) fault.";
}
enum Warning {
description
"The Warning severity level indicates the
detection of a potential or impending service
affecting fault, before any significant
effects have been felt.";
}
enum Cleared {
description
"The Cleared severity level indicates the
clearing of one or more previously reported
alarms.";
}
enum Indeterminate {
description
"The Indeterminate severity level indicates
that the severity level cannot be
determined.";
}
}
mandatory true;
description
"This parameter indicates the perceived severity level of
the fault.";
}
leaf service-affecting {
type boolean;
description
"This parameter indicates if the fault impacts an active
service. If the fault is service affecting then the value
is true. If the fault does not affect the service then
the value is false.";
}
leaf additional-text {
type string;
description
"This parameter, when present, allows a free form text
description to be reported.";
}
}
container faults {
description
"Serves as top-level container for list of faults.";
config "false";
list fault {
key "fault-id";
uses fault-info-attributes;
description
"Describes a fault.";
reference
"ITU Recommendation X.733";
}
}
notification fault-event {
description
"Fault Notification.";
uses fault-info-attributes;
}
}