blob: 3155d9d65a4ce661ee04c40ee5124a0e066e463f [file] [log] [blame]
Jeff Groom34c28ce2018-04-26 19:42:18 -06001module ciena-waveserver-chassis {
2 namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-chassis";
3 prefix chassis;
4
5 import ciena-waveserver-typedefs {
6 prefix cienawstypes;
7 }
8
9 organization
10 "Ciena Corporation";
11 contact
12 "Web URL: http://www.ciena.com/
13 Postal: 7035 Ridge Road
14 Hanover, Maryland 21076
15 U.S.A.
16 Phone: +1 800-921-1144
17 Fax: +1 410-694-5750";
18 description
19 "This module defines Chassis data for the Waveserver Platform.";
20
21 revision 2017-12-20 {
22 description
23 "Added management-port 'mode', 'speed', and 'duplex' for wayside channel configuration.
24 Added return code for waveserver-wcs-restart and waveserver-wcs-restart-cold.";
25 reference "Waveserver Ai user's guide.";
26 }
27 revision 2017-09-05 {
28 description
29 "Waveserver Platform Data Model
30 Migrated from Waveserver Classic R1.4 YANG model.
31 Updated namespace to 'ciena-waveserver'.
32 Added 'waveserver ai chassis' type.
33 Updated several UI and description strings.
34 Added access-panel container, wcs container, and inventory view of components.
35 Added slot power management and wcs-restart RPCs.
36 Removed 10-second delay from restart RPCs and remove restart-cancel RPCs.
37 Added access-panel capabilities.
38 Moved several device-id attributes into common grouping used by all components.
39 Removed 'number-of-fans', 'number-of-temperature-sensors' and 'status' list from 'cooling-fan-units/properties' container.";
40 reference "Waveserver Ai user's guide.";
41 }
42
43 typedef mac-block-size {
44 type uint32;
45 description
46 "MAC address block size.";
47 }
48
49 typedef chassis-operation-state {
50 type enumeration {
51 enum "uninstalled" {
52 description
53 "Device is not present.";
54 }
55 enum "normal" {
56 description
57 "Device is up/operational.";
58 }
59 enum "faulted" {
60 description
61 "Device is in a failed/faulted state.";
62 }
63 }
64 description
65 "Chassis operational state. Applies to PSU, CFU, AP, WCS components in the chassis.";
66 }
67
68 grouping device-id-group {
69 description
70 "Common group of device identification attributes for components in the chassis.";
71 leaf model {
72 type cienawstypes:string-maxl-50;
73 config false;
74 description
75 "Device model information.";
76 }
77 leaf description {
78 type cienawstypes:string-maxl-254;
79 config false;
80 description
81 "Device description.";
82 }
83 leaf serial-number {
84 type cienawstypes:string-maxl-50;
85 config false;
86 description
87 "Device serial number information.";
88 }
89 leaf part-number {
90 type cienawstypes:string-maxl-50;
91 config false;
92 description
93 "Device part number information.";
94 }
95 leaf revision {
96 type cienawstypes:string-maxl-50;
97 config false;
98 description
99 "Device revision information.";
100 }
101 leaf manufacture-date {
102 type cienawstypes:string-maxl-50;
103 config false;
104 description
105 "Device Manufacture Date, in string format.";
106 }
107 }
108
109 container waveserver-chassis {
110 description
111 "Waveserver chassis configuration data and operational data.";
112 container identification {
113 config false;
114 description
115 "Waveserver chassis identification attributes.";
116 leaf type {
117 type enumeration {
118 enum "unknown chassis" {
119 description
120 "Chassis type is unknown.";
121 }
122 enum "waveserver chassis" {
123 description
124 "Waveserver WL3e Chassis.";
125 }
126 enum "waveserver ai chassis" {
127 description
128 "Waveserver Ai Chassis.";
129 }
130 }
131 config false;
132 description
133 "Type enum value of the Chassis.";
134 }
135 uses device-id-group;
136 }
137 container capabilities {
138 config false;
139 description
140 "Waveserver chassis capabilities attributes.";
141 container control {
142 description
143 "Control module capabilities for this chassis.";
144 leaf count {
145 type uint8;
146 config false;
147 description
148 "Number of control modules available to the Waveserver chassis.";
149 }
150 leaf type {
151 type cienawstypes:module-type-bits;
152 config false;
153 description
154 "Chassis control module type. Can be integrated or field-replaceable.";
155 }
156 }
157 container access-panel {
158 description
159 "Access Panel capabilities for this chassis.";
160 leaf count {
161 type uint8;
162 config false;
163 description
164 "Number of access panel modules available to the Waveserver chassis.";
165 }
166 leaf type {
167 type cienawstypes:module-type-bits;
168 config false;
169 description
170 "Chassis access panel module type. Can be integrated or field-replaceable.";
171 }
172 }
173 container switch {
174 description
175 "Switch module capabilities for this chassis.";
176 leaf count {
177 type uint8;
178 config false;
179 description
180 "Number of switch modules available to the Waveserver chassis.";
181 }
182 leaf type {
183 type cienawstypes:module-type-bits;
184 config false;
185 description
186 "Chassis switch module type. Can be integrated or field-replaceable.";
187 }
188 }
189 container modules {
190 description
191 "Service module capabilities for this chassis.";
192 leaf count {
193 type uint8;
194 config false;
195 description
196 "Total number of service modules available to a fully-equipped Waveserver chassis.";
197 }
198 leaf type {
199 type cienawstypes:module-type-bits;
200 config false;
201 description
202 "Chassis service module type. Can be integrated or field-replaceable.";
203 }
204 }
205 container fan {
206 description
207 "Fan unit capabilities for this chassis.";
208 leaf count {
209 type uint8;
210 config false;
211 description
212 "Number of fan units available to the Waveserver chassis.";
213 }
214 leaf type {
215 type cienawstypes:module-type-bits;
216 config false;
217 description
218 "Chassis fan unit type. Can be integrated or field-replaceable.";
219 }
220 }
221 container air-filter {
222 description
223 "Air filter capabilities for this chassis.";
224 leaf supported {
225 type cienawstypes:yes-no-enum;
226 config false;
227 description
228 "Is the air filter supported on the Waveserver chassis.";
229 }
230 leaf type {
231 type cienawstypes:module-type-bits;
232 config false;
233 description
234 "Chassis air filter type. Can be integrated or field-replaceable.";
235 }
236 leaf active {
237 type cienawstypes:yes-no-enum;
238 config false;
239 description
240 "Is the air filter active on the Waveserver chassis.";
241 }
242 }
243 container power {
244 description
245 "Power supply capabilities for this chassis.";
246 leaf count {
247 type uint8;
248 config false;
249 description
250 "Number of power supply units available to the Waveserver chassis.";
251 }
252 leaf type {
253 type cienawstypes:module-type-bits;
254 config false;
255 description
256 "Power supply unit type. Can be integrated or field-replaceable.";
257 }
258 leaf redundant {
259 type cienawstypes:yes-no-enum;
260 config false;
261 description
262 "Is redundant power present for the Waveserver chassis.";
263 }
264 leaf dc-support {
265 type cienawstypes:yes-no-enum;
266 config false;
267 description
268 "Whether or not DC power is supported.";
269 }
270 }
271 }
272 container mac-addresses {
273 config false;
274 description
275 "MAC Addresses used by this chassis.";
276 container chassis {
277 description
278 "Chassis MAC address information.";
279 leaf base {
280 type cienawstypes:mac-string;
281 config false;
282 description
283 "The Chassis Base MAC address. All MACs used in shelf offset from this.";
284 }
285 leaf block-size {
286 type mac-block-size;
287 config false;
288 description
289 "Number of MACs allocated by manufacturing.";
290 }
291 }
292 container local-management {
293 description
294 "Local management MAC address information.";
295 leaf base {
296 type cienawstypes:mac-string;
297 config false;
298 description
299 "Local Management MAC address.";
300 }
301 leaf block-size {
302 type mac-block-size;
303 config false;
304 description
305 "Local Management MAC Block Size.";
306 }
307 }
308 container remote-management {
309 description
310 "Remote management MAC address information.";
311 leaf base {
312 type cienawstypes:mac-string;
313 config false;
314 description
315 "Remote Management MAC address.";
316 }
317 leaf block-size {
318 type mac-block-size;
319 config false;
320 description
321 "Remote Management MAC address Block Size.";
322 }
323 }
324 container dcn {
325 description
326 "Data Communications Network (DCN) port MAC address information.";
327 leaf base {
328 type cienawstypes:mac-string;
329 config false;
330 description
331 "DCN MAC address.";
332 }
333 leaf block-size {
334 type mac-block-size;
335 config false;
336 description
337 "DCN MAC address Block Size.";
338 }
339 }
340 container ilan-1 {
341 description
342 "Internal Local Area Network 1 (ILAN-1) port MAC address information.";
343 leaf base {
344 type cienawstypes:mac-string;
345 config false;
346 description
347 "ILAN-1 MAC address.";
348 }
349 leaf block-size {
350 type mac-block-size;
351 config false;
352 description
353 "ILAN-1 MAC address Block Size.";
354 }
355 }
356 container ilan-2 {
357 description
358 "Internal Local Area Network 2 (ILAN-2) port MAC address information.";
359 leaf base {
360 type cienawstypes:mac-string;
361 config false;
362 description
363 "ILAN-2 MAC address.";
364 }
365 leaf block-size {
366 type mac-block-size;
367 config false;
368 description
369 "ILAN-2 MAC address Block Size.";
370 }
371 }
372 container ports {
373 description
374 "Port MAC address information.";
375 leaf base {
376 type cienawstypes:mac-string;
377 config false;
378 description
379 "Port Base MAC address.";
380 }
381 leaf block-size {
382 type mac-block-size;
383 config false;
384 description
385 "Port Base MAC address Block Size.";
386 }
387 }
388 container reserved {
389 description
390 "Reserved MAC address information.";
391 leaf base {
392 type cienawstypes:mac-string;
393 config false;
394 description
395 "Reserved MAC address.";
396 }
397 leaf block-size {
398 type mac-block-size;
399 config false;
400 description
401 "Reserved MAC address Block Size.";
402 }
403 }
404 }
405 list power-supply-units {
406 key "psu-number";
407 description
408 "Power Supply Unit Status.";
409 leaf psu-number {
410 type uint8;
411 description
412 "Unique index number for the Power Supply Unit list entry.";
413 }
414 leaf name {
415 type cienawstypes:string-maxl-16;
416 config false;
417 description
418 "Name of the power supply unit. In the format of PSU-<slot #>. Contains the slot number of the power supply unit.";
419 }
420 container state {
421 description
422 "Power Supply Unit state information.";
423 leaf admin-state {
424 type cienawstypes:enabled-disabled-enum;
425 description
426 "Whether admin state of the Power Supply Unit is enabled or disabled. Disabled state masks the alarms only.";
427 }
428 leaf operational-state {
429 type chassis-operation-state;
430 config false;
431 description
432 "Operational state of the Power Supply Unit.";
433 }
434 }
435 container properties {
436 config false;
437 description
438 "All the operational data fields of this Power Supply Unit.";
439 leaf type {
440 type enumeration {
441 enum "AC" {
442 description
443 "Power supply unit uses AC power.";
444 }
445 enum "DC" {
446 description
447 "Power supply unit uses DC power.";
448 }
449 enum "unequipped" {
450 description
451 "Power supply unit is unequipped.";
452 }
453 }
454 config false;
455 description
456 "The Power Supply Unit type.";
457 }
458 }
459 container device-id {
460 config false;
461 description
462 "Device identification information of this Power Supply Unit.";
463 uses device-id-group;
464 }
465 }
466 list cooling-fan-units {
467 key "cfu-number";
468 description
469 "Cooling Fan Unit Status.";
470 leaf cfu-number {
471 type uint8;
472 description
473 "Unique index number for the Cooling Fan Unit list entry.";
474 }
475 leaf name {
476 type cienawstypes:string-maxl-16;
477 config false;
478 description
479 "Name of the cooling fan unit. In the format of CFU-<slot #>. Contains the slot number of the cooling fan unit.";
480 }
481 container state {
482 description
483 "Cooling Fan Unit state information.";
484 leaf admin-state {
485 type cienawstypes:enabled-disabled-enum;
486 description
487 "Whether Admin State of the cooling fan unit is enabled or disabled. Disabled state masks the alarms only.";
488 }
489 leaf operational-state {
490 type chassis-operation-state;
491 config false;
492 description
493 "Operational state of the Cooling Fan unit.";
494 }
495 }
496 container properties {
497 config false;
498 description
499 "All the operational data fields of this Cooling Fan Unit.";
500 leaf automatic-control {
501 type cienawstypes:enabled-disabled-enum;
502 config false;
503 description
504 "Whether Automatic Control of the cooling fan unit is enabled or disabled.";
505 }
506 }
507 container device-id {
508 config false;
509 description
510 "Device Identification information of this Cooling Fan Unit.";
511 uses device-id-group;
512 }
513 }
514 list management-port {
515 key "index";
516 description
517 "A list to manage chassis ports.";
518 leaf index {
519 type uint16;
520 description
521 "Index value of the management port.";
522 }
523 container id {
524 config false;
525 description
526 "Identification information of this management port.";
527 leaf name {
528 type cienawstypes:string-maxl-16;
529 config false;
530 description
531 "Name of the Port. The names are predefined.";
532 }
533 }
534 container state {
535 description
536 "Management port state information.";
537 leaf admin-state {
538 type cienawstypes:enabled-disabled-enum;
539 description
540 "Whether Admin State is enabled or disabled for this management port.";
541 }
542 leaf operational-state {
543 type cienawstypes:up-down-enum;
544 config false;
545 description
546 "Operational state of this management port.";
547 }
548 }
549 container properties {
550 description
551 "All the operational data of this management port.";
552 leaf type {
553 type enumeration {
554 enum "ethernet" {
555 description
556 "Ethernet management port.";
557 }
558 enum "serial" {
559 description
560 "Serial management port.";
561 }
562 }
563 config false;
564 description
565 "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.";
566 }
567 leaf mode {
568 type enumeration {
569 enum "management" {
570 description
571 "Management port is configured as a local management interface. This is the default mode.";
572 }
573 enum "wayside-channel" {
574 description
575 "Management port is configured as a wayside communications channel.";
576 }
577 }
578 description
579 "Management port mode. Specifies whether the port is configured as a local management interface or wayside communications channel (carry through).";
580 }
581 leaf speed {
582 type enumeration {
583 enum "Unknown" {
584 description
585 "Unknown port speed.";
586 }
587 enum "10M" {
588 description
589 "10 Mbps Ethernet.";
590 }
591 enum "100M" {
592 description
593 "100 Mbps Ethernet.";
594 }
595 enum "1G" {
596 description
597 "1 Gbps Ethernet.";
598 }
599 enum "10G" {
600 description
601 "10 Gbps Ethernet.";
602 }
603 }
604 config false;
605 description
606 "Management port speed.";
607 }
608 leaf duplex {
609 type enumeration {
610 enum "Unknown" {
611 description
612 "Unknown port duplex.";
613 }
614 enum "full" {
615 description
616 "Port is full-duplex.";
617 }
618 enum "half" {
619 description
620 "Port is half-duplex.";
621 }
622 }
623 config false;
624 description
625 "Management port duplex.";
626 }
627 leaf mac-address {
628 type cienawstypes:mac-string;
629 config false;
630 description
631 "MAC Address of the management port.";
632 }
633 leaf max-frame-size {
634 type uint32;
635 config false;
636 description
637 "Max Frame Size of the management port.";
638 }
639 }
640 }
641 container access-panel {
642 description
643 "Access Panel";
644 container state {
645 description
646 "Access Panel state information.";
647 leaf admin-state {
648 type cienawstypes:enabled-disabled-enum;
649 description
650 "Whether admin state of the Access Panel is enabled or disabled.";
651 }
652 leaf operational-state {
653 type chassis-operation-state;
654 config false;
655 description
656 "Operational state of the Access Panel.";
657 }
658 }
659 container properties {
660 config false;
661 description
662 "All the operational data fields of the Access Panel.";
663 leaf type {
664 type enumeration {
665 enum "type-1" {
666 description
667 "Access Panel Type 1.";
668 }
669 enum "unequipped" {
670 description
671 "Access Panel is unequipped.";
672 }
673 }
674 config false;
675 description
676 "The Access Panel type.";
677 }
678 }
679 container device-id {
680 config false;
681 description
682 "Device identification information of the Access Panel.";
683 uses device-id-group;
684 }
685 }
686 container wcs {
687 description
688 "Waveserver Control Subsystem. This is the control module for the Waveserver Ai chassis.";
689 container state {
690 description
691 "WCS control module state information.";
692 leaf admin-state {
693 type cienawstypes:enabled-disabled-enum;
694 description
695 "Whether admin state of the WCS is enabled or disabled.";
696 }
697 leaf operational-state {
698 type chassis-operation-state;
699 config false;
700 description
701 "Operational state of the WCS.";
702 }
703 }
704 container properties {
705 config false;
706 description
707 "All the operational data fields of the WCS.";
708 leaf type {
709 type enumeration {
710 enum "type-1" {
711 description
712 "WCS Type 1.";
713 }
714 enum "unequipped" {
715 description
716 "WCS is unequipped.";
717 }
718 }
719 config false;
720 description
721 "The WCS module type.";
722 }
723 }
724 container device-id {
725 config false;
726 description
727 "Device identification information of the WCS.";
728 uses device-id-group;
729 }
730 }
731 container inventory {
732 config false;
733 description
734 "The inventory view of all of the components in the chassis.";
735 list component {
736 key "index";
737 config false;
738 description
739 "Inventory component details.";
740 leaf index {
741 type uint16;
742 description
743 "Index value of the inventory component.";
744 }
745 leaf name {
746 type cienawstypes:string-maxl-16;
747 config false;
748 description
749 "Name of the inventory component (e.g., Chassis, DCN, WCS, AP, PSU-<n>, CFU-<n>, etc.).";
750 }
751 uses device-id-group;
752 }
753 }
754 list slot {
755 key "slot-id";
756 description
757 "Chassis slot power management.";
758 leaf slot-id {
759 type uint8 {
760 range "1..3";
761 }
762 mandatory true;
763 description
764 "Chassis slot number, Key value for the chassis slot list.";
765 }
766 leaf power-state {
767 type cienawstypes:power-state;
768 config false;
769 description
770 "Slot power state.";
771 }
772 leaf actual-power-state {
773 type cienawstypes:on-off-enum;
774 config false;
775 description
776 "The actual power state (on or off) of the specified slot.";
777 }
778 }
779 }
780 rpc waveserver-chassis-restart {
781 description
782 "Initiates a chassis warm restart. This restarts the WCS and all modules.";
783 }
784 rpc waveserver-chassis-restart-cold {
785 description
786 "Initiates a chassis cold restart. This restarts the WCS and all modules.";
787 }
788 rpc waveserver-wcs-restart {
789 description
790 "Initiates a WCS warm restart.";
791 output {
792 leaf return-code {
793 type uint32;
794 description
795 "return code: 0 is success; non-zero is failure";
796 }
797 leaf return-string {
798 type cienawstypes:string-maxl-254;
799 description
800 "Return code description";
801 }
802 }
803 }
804 rpc waveserver-wcs-restart-cold {
805 description
806 "Initiates a WCS cold restart.";
807 output {
808 leaf return-code {
809 type uint32;
810 description
811 "return code: 0 is success; non-zero is failure";
812 }
813 leaf return-string {
814 type cienawstypes:string-maxl-254;
815 description
816 "Return code description";
817 }
818 }
819 }
820}