| module ciena-waveserver-chassis { |
| namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-chassis"; |
| prefix chassis; |
| |
| import ciena-waveserver-typedefs { |
| prefix cienawstypes; |
| } |
| |
| organization |
| "Ciena Corporation"; |
| contact |
| "Web URL: http://www.ciena.com/ |
| Postal: 7035 Ridge Road |
| Hanover, Maryland 21076 |
| U.S.A. |
| Phone: +1 800-921-1144 |
| Fax: +1 410-694-5750"; |
| description |
| "This module defines Chassis data for the Waveserver Platform."; |
| |
| revision 2017-12-20 { |
| description |
| "Added management-port 'mode', 'speed', and 'duplex' for wayside channel configuration. |
| Added return code for waveserver-wcs-restart and waveserver-wcs-restart-cold."; |
| reference "Waveserver Ai user's guide."; |
| } |
| revision 2017-09-05 { |
| description |
| "Waveserver Platform Data Model |
| Migrated from Waveserver Classic R1.4 YANG model. |
| Updated namespace to 'ciena-waveserver'. |
| Added 'waveserver ai chassis' type. |
| Updated several UI and description strings. |
| Added access-panel container, wcs container, and inventory view of components. |
| Added slot power management and wcs-restart RPCs. |
| Removed 10-second delay from restart RPCs and remove restart-cancel RPCs. |
| Added access-panel capabilities. |
| Moved several device-id attributes into common grouping used by all components. |
| Removed 'number-of-fans', 'number-of-temperature-sensors' and 'status' list from 'cooling-fan-units/properties' container."; |
| reference "Waveserver Ai user's guide."; |
| } |
| |
| typedef mac-block-size { |
| type uint32; |
| description |
| "MAC address block size."; |
| } |
| |
| typedef chassis-operation-state { |
| type enumeration { |
| enum "uninstalled" { |
| description |
| "Device is not present."; |
| } |
| enum "normal" { |
| description |
| "Device is up/operational."; |
| } |
| enum "faulted" { |
| description |
| "Device is in a failed/faulted state."; |
| } |
| } |
| description |
| "Chassis operational state. Applies to PSU, CFU, AP, WCS components in the chassis."; |
| } |
| |
| grouping device-id-group { |
| description |
| "Common group of device identification attributes for components in the chassis."; |
| leaf model { |
| type cienawstypes:string-maxl-50; |
| config false; |
| description |
| "Device model information."; |
| } |
| leaf description { |
| type cienawstypes:string-maxl-254; |
| config false; |
| description |
| "Device description."; |
| } |
| leaf serial-number { |
| type cienawstypes:string-maxl-50; |
| config false; |
| description |
| "Device serial number information."; |
| } |
| leaf part-number { |
| type cienawstypes:string-maxl-50; |
| config false; |
| description |
| "Device part number information."; |
| } |
| leaf revision { |
| type cienawstypes:string-maxl-50; |
| config false; |
| description |
| "Device revision information."; |
| } |
| leaf manufacture-date { |
| type cienawstypes:string-maxl-50; |
| config false; |
| description |
| "Device Manufacture Date, in string format."; |
| } |
| } |
| |
| container waveserver-chassis { |
| description |
| "Waveserver chassis configuration data and operational data."; |
| container identification { |
| config false; |
| description |
| "Waveserver chassis identification attributes."; |
| leaf type { |
| type enumeration { |
| enum "unknown chassis" { |
| description |
| "Chassis type is unknown."; |
| } |
| enum "waveserver chassis" { |
| description |
| "Waveserver WL3e Chassis."; |
| } |
| enum "waveserver ai chassis" { |
| description |
| "Waveserver Ai Chassis."; |
| } |
| } |
| config false; |
| description |
| "Type enum value of the Chassis."; |
| } |
| uses device-id-group; |
| } |
| container capabilities { |
| config false; |
| description |
| "Waveserver chassis capabilities attributes."; |
| container control { |
| description |
| "Control module capabilities for this chassis."; |
| leaf count { |
| type uint8; |
| config false; |
| description |
| "Number of control modules available to the Waveserver chassis."; |
| } |
| leaf type { |
| type cienawstypes:module-type-bits; |
| config false; |
| description |
| "Chassis control module type. Can be integrated or field-replaceable."; |
| } |
| } |
| container access-panel { |
| description |
| "Access Panel capabilities for this chassis."; |
| leaf count { |
| type uint8; |
| config false; |
| description |
| "Number of access panel modules available to the Waveserver chassis."; |
| } |
| leaf type { |
| type cienawstypes:module-type-bits; |
| config false; |
| description |
| "Chassis access panel module type. Can be integrated or field-replaceable."; |
| } |
| } |
| container switch { |
| description |
| "Switch module capabilities for this chassis."; |
| leaf count { |
| type uint8; |
| config false; |
| description |
| "Number of switch modules available to the Waveserver chassis."; |
| } |
| leaf type { |
| type cienawstypes:module-type-bits; |
| config false; |
| description |
| "Chassis switch module type. Can be integrated or field-replaceable."; |
| } |
| } |
| container modules { |
| description |
| "Service module capabilities for this chassis."; |
| leaf count { |
| type uint8; |
| config false; |
| description |
| "Total number of service modules available to a fully-equipped Waveserver chassis."; |
| } |
| leaf type { |
| type cienawstypes:module-type-bits; |
| config false; |
| description |
| "Chassis service module type. Can be integrated or field-replaceable."; |
| } |
| } |
| container fan { |
| description |
| "Fan unit capabilities for this chassis."; |
| leaf count { |
| type uint8; |
| config false; |
| description |
| "Number of fan units available to the Waveserver chassis."; |
| } |
| leaf type { |
| type cienawstypes:module-type-bits; |
| config false; |
| description |
| "Chassis fan unit type. Can be integrated or field-replaceable."; |
| } |
| } |
| container air-filter { |
| description |
| "Air filter capabilities for this chassis."; |
| leaf supported { |
| type cienawstypes:yes-no-enum; |
| config false; |
| description |
| "Is the air filter supported on the Waveserver chassis."; |
| } |
| leaf type { |
| type cienawstypes:module-type-bits; |
| config false; |
| description |
| "Chassis air filter type. Can be integrated or field-replaceable."; |
| } |
| leaf active { |
| type cienawstypes:yes-no-enum; |
| config false; |
| description |
| "Is the air filter active on the Waveserver chassis."; |
| } |
| } |
| container power { |
| description |
| "Power supply capabilities for this chassis."; |
| leaf count { |
| type uint8; |
| config false; |
| description |
| "Number of power supply units available to the Waveserver chassis."; |
| } |
| leaf type { |
| type cienawstypes:module-type-bits; |
| config false; |
| description |
| "Power supply unit type. Can be integrated or field-replaceable."; |
| } |
| leaf redundant { |
| type cienawstypes:yes-no-enum; |
| config false; |
| description |
| "Is redundant power present for the Waveserver chassis."; |
| } |
| leaf dc-support { |
| type cienawstypes:yes-no-enum; |
| config false; |
| description |
| "Whether or not DC power is supported."; |
| } |
| } |
| } |
| container mac-addresses { |
| config false; |
| description |
| "MAC Addresses used by this chassis."; |
| container chassis { |
| description |
| "Chassis MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "The Chassis Base MAC address. All MACs used in shelf offset from this."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "Number of MACs allocated by manufacturing."; |
| } |
| } |
| container local-management { |
| description |
| "Local management MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "Local Management MAC address."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "Local Management MAC Block Size."; |
| } |
| } |
| container remote-management { |
| description |
| "Remote management MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "Remote Management MAC address."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "Remote Management MAC address Block Size."; |
| } |
| } |
| container dcn { |
| description |
| "Data Communications Network (DCN) port MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "DCN MAC address."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "DCN MAC address Block Size."; |
| } |
| } |
| container ilan-1 { |
| description |
| "Internal Local Area Network 1 (ILAN-1) port MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "ILAN-1 MAC address."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "ILAN-1 MAC address Block Size."; |
| } |
| } |
| container ilan-2 { |
| description |
| "Internal Local Area Network 2 (ILAN-2) port MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "ILAN-2 MAC address."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "ILAN-2 MAC address Block Size."; |
| } |
| } |
| container ports { |
| description |
| "Port MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "Port Base MAC address."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "Port Base MAC address Block Size."; |
| } |
| } |
| container reserved { |
| description |
| "Reserved MAC address information."; |
| leaf base { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "Reserved MAC address."; |
| } |
| leaf block-size { |
| type mac-block-size; |
| config false; |
| description |
| "Reserved MAC address Block Size."; |
| } |
| } |
| } |
| list power-supply-units { |
| key "psu-number"; |
| description |
| "Power Supply Unit Status."; |
| leaf psu-number { |
| type uint8; |
| description |
| "Unique index number for the Power Supply Unit list entry."; |
| } |
| leaf name { |
| type cienawstypes:string-maxl-16; |
| config false; |
| description |
| "Name of the power supply unit. In the format of PSU-<slot #>. Contains the slot number of the power supply unit."; |
| } |
| container state { |
| description |
| "Power Supply Unit state information."; |
| leaf admin-state { |
| type cienawstypes:enabled-disabled-enum; |
| description |
| "Whether admin state of the Power Supply Unit is enabled or disabled. Disabled state masks the alarms only."; |
| } |
| leaf operational-state { |
| type chassis-operation-state; |
| config false; |
| description |
| "Operational state of the Power Supply Unit."; |
| } |
| } |
| container properties { |
| config false; |
| description |
| "All the operational data fields of this Power Supply Unit."; |
| leaf type { |
| type enumeration { |
| enum "AC" { |
| description |
| "Power supply unit uses AC power."; |
| } |
| enum "DC" { |
| description |
| "Power supply unit uses DC power."; |
| } |
| enum "unequipped" { |
| description |
| "Power supply unit is unequipped."; |
| } |
| } |
| config false; |
| description |
| "The Power Supply Unit type."; |
| } |
| } |
| container device-id { |
| config false; |
| description |
| "Device identification information of this Power Supply Unit."; |
| uses device-id-group; |
| } |
| } |
| list cooling-fan-units { |
| key "cfu-number"; |
| description |
| "Cooling Fan Unit Status."; |
| leaf cfu-number { |
| type uint8; |
| description |
| "Unique index number for the Cooling Fan Unit list entry."; |
| } |
| leaf name { |
| type cienawstypes:string-maxl-16; |
| config false; |
| description |
| "Name of the cooling fan unit. In the format of CFU-<slot #>. Contains the slot number of the cooling fan unit."; |
| } |
| container state { |
| description |
| "Cooling Fan Unit state information."; |
| leaf admin-state { |
| type cienawstypes:enabled-disabled-enum; |
| description |
| "Whether Admin State of the cooling fan unit is enabled or disabled. Disabled state masks the alarms only."; |
| } |
| leaf operational-state { |
| type chassis-operation-state; |
| config false; |
| description |
| "Operational state of the Cooling Fan unit."; |
| } |
| } |
| container properties { |
| config false; |
| description |
| "All the operational data fields of this Cooling Fan Unit."; |
| leaf automatic-control { |
| type cienawstypes:enabled-disabled-enum; |
| config false; |
| description |
| "Whether Automatic Control of the cooling fan unit is enabled or disabled."; |
| } |
| } |
| container device-id { |
| config false; |
| description |
| "Device Identification information of this Cooling Fan Unit."; |
| uses device-id-group; |
| } |
| } |
| list management-port { |
| key "index"; |
| description |
| "A list to manage chassis ports."; |
| leaf index { |
| type uint16; |
| description |
| "Index value of the management port."; |
| } |
| container id { |
| config false; |
| description |
| "Identification information of this management port."; |
| leaf name { |
| type cienawstypes:string-maxl-16; |
| config false; |
| description |
| "Name of the Port. The names are predefined."; |
| } |
| } |
| container state { |
| description |
| "Management port state information."; |
| leaf admin-state { |
| type cienawstypes:enabled-disabled-enum; |
| description |
| "Whether Admin State is enabled or disabled for this management port."; |
| } |
| leaf operational-state { |
| type cienawstypes:up-down-enum; |
| config false; |
| description |
| "Operational state of this management port."; |
| } |
| } |
| container properties { |
| description |
| "All the operational data of this management port."; |
| leaf type { |
| type enumeration { |
| enum "ethernet" { |
| description |
| "Ethernet management port."; |
| } |
| enum "serial" { |
| description |
| "Serial management port."; |
| } |
| } |
| config false; |
| description |
| "Management port type. If the port is DCN, ilan-1, or ilan-2, the port type will be Ethernet. If the port is Console, the port type will be Serial."; |
| } |
| leaf mode { |
| type enumeration { |
| enum "management" { |
| description |
| "Management port is configured as a local management interface. This is the default mode."; |
| } |
| enum "wayside-channel" { |
| description |
| "Management port is configured as a wayside communications channel."; |
| } |
| } |
| description |
| "Management port mode. Specifies whether the port is configured as a local management interface or wayside communications channel (carry through)."; |
| } |
| leaf speed { |
| type enumeration { |
| enum "Unknown" { |
| description |
| "Unknown port speed."; |
| } |
| enum "10M" { |
| description |
| "10 Mbps Ethernet."; |
| } |
| enum "100M" { |
| description |
| "100 Mbps Ethernet."; |
| } |
| enum "1G" { |
| description |
| "1 Gbps Ethernet."; |
| } |
| enum "10G" { |
| description |
| "10 Gbps Ethernet."; |
| } |
| } |
| config false; |
| description |
| "Management port speed."; |
| } |
| leaf duplex { |
| type enumeration { |
| enum "Unknown" { |
| description |
| "Unknown port duplex."; |
| } |
| enum "full" { |
| description |
| "Port is full-duplex."; |
| } |
| enum "half" { |
| description |
| "Port is half-duplex."; |
| } |
| } |
| config false; |
| description |
| "Management port duplex."; |
| } |
| leaf mac-address { |
| type cienawstypes:mac-string; |
| config false; |
| description |
| "MAC Address of the management port."; |
| } |
| leaf max-frame-size { |
| type uint32; |
| config false; |
| description |
| "Max Frame Size of the management port."; |
| } |
| } |
| } |
| container access-panel { |
| description |
| "Access Panel"; |
| container state { |
| description |
| "Access Panel state information."; |
| leaf admin-state { |
| type cienawstypes:enabled-disabled-enum; |
| description |
| "Whether admin state of the Access Panel is enabled or disabled."; |
| } |
| leaf operational-state { |
| type chassis-operation-state; |
| config false; |
| description |
| "Operational state of the Access Panel."; |
| } |
| } |
| container properties { |
| config false; |
| description |
| "All the operational data fields of the Access Panel."; |
| leaf type { |
| type enumeration { |
| enum "type-1" { |
| description |
| "Access Panel Type 1."; |
| } |
| enum "unequipped" { |
| description |
| "Access Panel is unequipped."; |
| } |
| } |
| config false; |
| description |
| "The Access Panel type."; |
| } |
| } |
| container device-id { |
| config false; |
| description |
| "Device identification information of the Access Panel."; |
| uses device-id-group; |
| } |
| } |
| container wcs { |
| description |
| "Waveserver Control Subsystem. This is the control module for the Waveserver Ai chassis."; |
| container state { |
| description |
| "WCS control module state information."; |
| leaf admin-state { |
| type cienawstypes:enabled-disabled-enum; |
| description |
| "Whether admin state of the WCS is enabled or disabled."; |
| } |
| leaf operational-state { |
| type chassis-operation-state; |
| config false; |
| description |
| "Operational state of the WCS."; |
| } |
| } |
| container properties { |
| config false; |
| description |
| "All the operational data fields of the WCS."; |
| leaf type { |
| type enumeration { |
| enum "type-1" { |
| description |
| "WCS Type 1."; |
| } |
| enum "unequipped" { |
| description |
| "WCS is unequipped."; |
| } |
| } |
| config false; |
| description |
| "The WCS module type."; |
| } |
| } |
| container device-id { |
| config false; |
| description |
| "Device identification information of the WCS."; |
| uses device-id-group; |
| } |
| } |
| container inventory { |
| config false; |
| description |
| "The inventory view of all of the components in the chassis."; |
| list component { |
| key "index"; |
| config false; |
| description |
| "Inventory component details."; |
| leaf index { |
| type uint16; |
| description |
| "Index value of the inventory component."; |
| } |
| leaf name { |
| type cienawstypes:string-maxl-16; |
| config false; |
| description |
| "Name of the inventory component (e.g., Chassis, DCN, WCS, AP, PSU-<n>, CFU-<n>, etc.)."; |
| } |
| uses device-id-group; |
| } |
| } |
| list slot { |
| key "slot-id"; |
| description |
| "Chassis slot power management."; |
| leaf slot-id { |
| type uint8 { |
| range "1..3"; |
| } |
| mandatory true; |
| description |
| "Chassis slot number, Key value for the chassis slot list."; |
| } |
| leaf power-state { |
| type cienawstypes:power-state; |
| config false; |
| description |
| "Slot power state."; |
| } |
| leaf actual-power-state { |
| type cienawstypes:on-off-enum; |
| config false; |
| description |
| "The actual power state (on or off) of the specified slot."; |
| } |
| } |
| } |
| rpc waveserver-chassis-restart { |
| description |
| "Initiates a chassis warm restart. This restarts the WCS and all modules."; |
| } |
| rpc waveserver-chassis-restart-cold { |
| description |
| "Initiates a chassis cold restart. This restarts the WCS and all modules."; |
| } |
| rpc waveserver-wcs-restart { |
| description |
| "Initiates a WCS warm restart."; |
| output { |
| leaf return-code { |
| type uint32; |
| description |
| "return code: 0 is success; non-zero is failure"; |
| } |
| leaf return-string { |
| type cienawstypes:string-maxl-254; |
| description |
| "Return code description"; |
| } |
| } |
| } |
| rpc waveserver-wcs-restart-cold { |
| description |
| "Initiates a WCS cold restart."; |
| output { |
| leaf return-code { |
| type uint32; |
| description |
| "return code: 0 is success; non-zero is failure"; |
| } |
| leaf return-string { |
| type cienawstypes:string-maxl-254; |
| description |
| "Return code description"; |
| } |
| } |
| } |
| } |