Upgrade honeynode 2.2.1 emulator for OTN 54/85754/6
authorGilles Thouenon <gilles.thouenon@orange.com>
Wed, 13 Nov 2019 11:09:46 +0000 (12:09 +0100)
committerGilles Thouenon <gilles.thouenon@orange.com>
Wed, 27 Nov 2019 10:49:18 +0000 (10:49 +0000)
- complement device and common 2.2.1 yang models to support
configuration with, among other things, otn functionalities.
- adapt XSLT transforms to start emulator with initial configuration
containing interfaces (ethernet, och, otu, odu)
- clean org-openroadm yang files (trailing spaces)

JIRA: TRNSPRTPCE-137
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I137446b6ff3f8f64db0db2c96b99eee82fb978fd

43 files changed:
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-alarm@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-common-types@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-equipment-states-types@2017-12-15.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-layerRate@2017-12-15.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-maintenance@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-manifest-file@2017-12-15.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-otn-common-types@2017-12-15.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-pm@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-port-types@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-probable-cause@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-resource-types@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-resource@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-switching-pool-types@2017-12-15.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-tca@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-user-mgmt@2017-12-15.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-database@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-de-operations@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-device@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-ethernet-interfaces@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-file-transfer@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-fwdl@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-interfaces@2017-06-26.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-lldp@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-maintenance-loopback@2017-12-15.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-maintenance-testsignal@2017-12-15.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-media-channel-interfaces@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-network-media-channel-interfaces@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-optical-channel-interfaces@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-optical-transport-interfaces@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-otn-common@2017-06-26.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-otn-odu-interfaces@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-otn-otu-interfaces@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-physical-types@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-pluggable-optics-holder-capability@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-port-capability@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-prot-otn-linear-aps@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-rstp@2018-10-19.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-swdl@2018-10-19.yang [changed mode: 0755->0644]
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-syslog@2017-12-15.yang
tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-wavelength-map@2017-12-15.yang [new file with mode: 0644]
tests/honeynode/2.2.1/honeynode-plugin-impl/src/main/java/io/fd/honeycomb/transportpce/device/configuration/DeviceConfiguration.java
tests/honeynode/2.2.1/honeynode-plugin-impl/src/main/resources/honeycomb-minimal-resources/config/device/OperToConfig.xsl
tests/honeynode/2.2.1/honeynode-plugin-impl/src/main/resources/honeycomb-minimal-resources/config/device/config.xsl

diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-alarm@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-alarm@2018-10-19.yang
new file mode 100644 (file)
index 0000000..6168ed3
--- /dev/null
@@ -0,0 +1,136 @@
+module org-openroadm-alarm {
+  namespace "http://org/openroadm/alarm";
+  prefix org-openroadm-alarm;
+
+  import ietf-yang-types {
+    prefix yang;
+    revision-date 2013-07-15;
+  }
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-resource {
+    prefix org-openroadm-resource;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-probable-cause {
+    prefix org-openroadm-probable-cause;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of an alarm.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  grouping alarm {
+    leaf id {
+      type string;
+      mandatory true;
+      description
+        "Uniquely id for this alarm, within the given management domain";
+    }
+    container resource {
+      description
+        "Resource under alarm";
+      uses org-openroadm-resource:resource;
+    }
+    container probableCause {
+      description
+        "Probable cause of alarm";
+      uses org-openroadm-probable-cause:probable-cause;
+    }
+    leaf raiseTime {
+      type yang:date-and-time;
+      mandatory true;
+      description
+        "Time alarm was raised";
+    }
+    leaf severity {
+      type org-openroadm-common-types:severity;
+      mandatory true;
+      description
+        "Severity of alarm. Based on X.733 perceived severity.";
+    }
+    leaf circuit-id {
+      type string;
+      description
+        "Circuit-id for alarm correlation.";
+    }
+    leaf additional-detail {
+      type string;
+      description
+        "Provide additional descriptive text about the probable cause.";
+    }
+    leaf corrective-action {
+      type string;
+      description
+        "Provide recommended corrective actions for this probable cause, i.e. replace or restart a circuit pack, check wiring for the reported source, or secondary failure to be correlated ";
+    }
+  }
+
+  notification alarm-notification {
+    description
+      "Notification sent on initial alarm creation, as well as any time the alarm changes state, including clear";
+    uses alarm;
+  }
+  container active-alarm-list {
+    config false;
+    description
+      "List of currently active alarms. An alarm is removed from this table when the state transitions to clear.";
+    list activeAlarms {
+      key "id";
+      uses alarm;
+    }
+  }
+}
old mode 100755 (executable)
new mode 100644 (file)
index c83e074..6f2d9fe
@@ -8,31 +8,31 @@ module org-openroadm-common-types {
     "OpenROADM.org";
   description
     "YANG definitions of common types.
-       
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
       AT&T Intellectual Property.  All other rights reserved.
-      
-      Redistribution and use in source and binary forms, with or without modification, 
+
+      Redistribution and use in source and binary forms, with or without modification,
       are permitted provided that the following conditions are met:
-      
-      * Redistributions of source code must retain the above copyright notice, this 
+
+      * Redistributions of source code must retain the above copyright notice, this
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice, 
-        this list of conditions and the following disclaimer in the documentation and/or 
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-        contributors may be used to endorse or promote products derived from this software 
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
         without specific prior written permission.
-      
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2018-10-19 {
@@ -236,9 +236,9 @@ module org-openroadm-common-types {
       }
     }
     description
-      "Operational mode for the amplifier:  
+      "Operational mode for the amplifier:
        this parameter allows modeling different operational modes (gain ranges) ,notably for switched-gain amplifiers.
-       It indicates which performance model shall be used by the path feasibility engine. 
+       It indicates which performance model shall be used by the path feasibility engine.
        For standard amplifier, or when performance evaluation is based on incremental noise, use gain-range-1.
        When performance evaluation is based on advanced parameters, specify used gain-range (1 to 4).
        Up to release 2.1, only gain-range-1 is to be used (default value) ";
@@ -279,7 +279,7 @@ module org-openroadm-common-types {
       enum "commit" {
         value 2;
         description
-          "commit the software or database. 
+          "commit the software or database.
            For software activate, this event can happen in the following scenarios:
              1) immediately when user issue db-activate command without rollBackTimer
                 or if the rollBackTimer is specified as 00-00-00;
@@ -295,7 +295,7 @@ module org-openroadm-common-types {
           "cancel the database or software activation operation.
            For software activate, this event can happen in the following cases:
              1) when the rollBackTimer expires;
-             2) when the user issues cancel-rollback-timer with accept=false.  
+             2) when the user issues cancel-rollback-timer with accept=false.
            For database activate, this event can happen in the following cases:
              1) when the rollBackTimer expires;
              2) when the user issues cancel-rollback-timer with accept=false.";
index 72ec70e04264820890231917ea4df73ffa93f829..0c951aee2f10bbd76b4778c6460396c2fab88e70 100644 (file)
@@ -8,31 +8,31 @@ module org-openroadm-equipment-states-types {
     "OpenROADM.org";
   description
     "YANG definitions for types of states of equipment (slot/subslot).
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-12-15 {
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-layerRate@2017-12-15.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-layerRate@2017-12-15.yang
new file mode 100644 (file)
index 0000000..f922156
--- /dev/null
@@ -0,0 +1,94 @@
+module org-openroadm-layerRate {
+  namespace "http://org/openroadm/layerRate";
+  prefix org-openroadm-layerRate;
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of layer rates.
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+      AT&T Intellectual Property.  All other rights reserved.
+
+      Redistribution and use in source and binary forms, with or without modification,
+      are permitted provided that the following conditions are met:
+
+      * Redistributions of source code must retain the above copyright notice, this
+        list of conditions and the following disclaimer.
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
+        other materials provided with the distribution.
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
+        without specific prior written permission.
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      POSSIBILITY OF SUCH DAMAGE";
+
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  typedef layer-rate-enum {
+    type enumeration {
+      enum "vendorExtension" {
+        value 1;
+        description
+          "vendor extension";
+      }
+      enum "layer2" {
+        value 2;
+        description
+          "2";
+      }
+      enum "layer3" {
+        value 3;
+        description
+          "3";
+      }
+      enum "layer4" {
+        value 4;
+        description
+          "4";
+      }
+      enum "layer5" {
+        value 5;
+        description
+          "5";
+      }
+      enum "layer6" {
+        value 6;
+        description
+          "6";
+      }
+    }
+  }
+
+  grouping layer-rate {
+    description
+      "Set list of layer rates, plus the ability to report layer rates not yet in set list.";
+    leaf type {
+      type layer-rate-enum;
+      mandatory true;
+    }
+    leaf extension {
+      type string;
+      mandatory false;
+    }
+  }
+}
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-maintenance@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-maintenance@2018-10-19.yang
new file mode 100644 (file)
index 0000000..748055f
--- /dev/null
@@ -0,0 +1,105 @@
+module org-openroadm-maintenance {
+  namespace "http://org/openroadm/maintenance";
+  prefix org-openroadm-mainteance;
+
+  import org-openroadm-resource {
+    prefix org-openroadm-resource;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of maintenace operations.
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+      AT&T Intellectual Property.  All other rights reserved.
+
+      Redistribution and use in source and binary forms, with or without modification,
+      are permitted provided that the following conditions are met:
+
+      * Redistributions of source code must retain the above copyright notice, this
+        list of conditions and the following disclaimer.
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
+        other materials provided with the distribution.
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
+        without specific prior written permission.
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      POSSIBILITY OF SUCH DAMAGE";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  typedef maintenance-operation {
+    type enumeration {
+      enum "terminalLoopback" {
+        value 1;
+      }
+      enum "facilityLoopback" {
+        value 2;
+      }
+      enum "testSignal" {
+        value 3;
+      }
+    }
+    description
+      "Maintenance Operation.";
+  }
+
+  grouping maintenance {
+    leaf id {
+      type string;
+      mandatory true;
+      description
+        "Uniquely identify maintenance activity";
+    }
+    container resource {
+      description
+        "Resource under maintenance";
+      uses org-openroadm-resource:resource;
+    }
+    leaf operation {
+      type maintenance-operation;
+    }
+  }
+
+  container maintenance-list {
+    description
+      "A list of active maintenance operations. Adding an entry to this list creates an active maintenance operation.  Removing an entry from this terminates a maintenance activity";
+    list maintenance {
+      key "id";
+      uses maintenance;
+    }
+  }
+}
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-manifest-file@2017-12-15.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-manifest-file@2017-12-15.yang
new file mode 100644 (file)
index 0000000..6f74fcd
--- /dev/null
@@ -0,0 +1,933 @@
+module org-openroadm-manifest-file {
+  namespace "http://org/openroadm/manifest-file";
+  prefix org-openroadm-manifest-file;
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of sw-manifest-file
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.
+
+     Also contains code components extracted from IETF netconf.  These code components
+     are copyrighted and licensed as follows:
+
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
+     extracted from this document must include Simplified BSD License text as described in
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
+     described in the Simplified BSD License.";
+
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+    reference "This module serves as the manifest file reference.";
+  }
+
+  identity manifest-commands {
+    description
+      "base identity for defining manifest-commands.";
+  }
+
+  identity download-file {
+    base manifest-commands;
+    description
+      "download-file (transfer from OWB-C to Device)";
+  }
+
+  identity upload-file {
+    base manifest-commands;
+    description
+      "upload-file (transfer from Device to OWB-C)";
+  }
+
+  identity delete-file {
+    base manifest-commands;
+    description
+      "delete-file from device";
+  }
+
+  identity sw-manifest-commands {
+    base manifest-commands;
+    description
+      "base identity for defining manifest-commands specific to sw-manifest.";
+  }
+
+  identity sw-stage {
+    base sw-manifest-commands;
+    description
+      "sw-stage sw-manifest-command";
+  }
+
+  identity sw-activate {
+    base sw-manifest-commands;
+    description
+      "sw-activate sw-manifest-command";
+  }
+
+  identity db-backup-manifest-commands {
+    base manifest-commands;
+    description
+      "base identity for defining manifest-commands specific to db-backup-manifest.";
+  }
+
+  identity db-backup {
+    base db-backup-manifest-commands;
+    description
+      "db-backup db-backup-manifest-command";
+  }
+
+  identity db-restore-manifest-commands {
+    base manifest-commands;
+    description
+      "base identity for defining manifest-commands specific to db-restore-manifest.";
+  }
+
+  identity db-restore {
+    base db-restore-manifest-commands;
+    description
+      "db-restore db-restore-manifest-command";
+  }
+
+  identity db-activate {
+    base db-restore-manifest-commands;
+    description
+      "db-activate db-restore-manifest-command";
+  }
+
+  grouping base-manifest {
+    description
+      "base set of variables in all manifest files";
+    leaf vendor {
+      type string;
+      mandatory true;
+      description
+        "This field should match the /org-openroadm-device/info/vendor.
+         It is assumed that the vendor value does not change during the
+         processing of the manifest file.
+
+         The controller agent would use the vendor and model to find the
+         manifest for an Open ROADM NE. The controller agent would also
+         use the vendor and model to validate that this is a valid manifest
+         for the Open ROADM NE.
+        ";
+    }
+    leaf model {
+      type string;
+      mandatory true;
+      description
+        "This field should match the /org-openroadm-device/info/model.
+         It is assumed that the model value does not change during the
+         processing of the manifest file.
+
+         The controller agent would use the vendor and model to find the
+         manifest for an Open ROADM NE. The controller agent would also
+         use the vendor and model to validate that this is a valid manifest
+         for the Open ROADM NE.
+        ";
+    }
+    leaf sw-version {
+      type string;
+      description
+        "This field should match the
+             /org-openroadm-device/info/softwareVersion.
+         This is the value in the info tree AFTER an upgrade.
+        ";
+    }
+    leaf global-async-timeout {
+      type uint16;
+      default "900";
+      description
+        "global-async-timeout - time in seconds to wait for command processing to
+         complete.
+
+         Upon timeout, the controller may either:
+           - assume success;
+           - assume failure;
+           - poll the device to determine success/failure of the operation
+
+         This global-async-timeout applies to any asynchronous command.
+        ";
+    }
+    leaf global-sync-timeout {
+      type uint16;
+      description
+        "global-sync-timeout - time in seconds to wait for the rpc response for
+         synchronous commands.
+
+         This global-sync-timeout applies to any synchronous command.
+
+         Upon timeout, the controller may either:
+           - assume success;
+           - assume failure;
+           - poll the device to determine success/failure of the operation
+
+         No default is modeled; if not provided, defaults to the global
+         timeout supported by the controller for rpc responses.
+        ";
+    }
+  }
+
+  grouping timeout-command {
+    description
+      "timeout-command is to be used by any manifest command supporting a timeout";
+    leaf timeout {
+      type uint16;
+      description
+        "See command for additional details.
+         if command is async,
+           - overrides the global-async-timeout;
+           - defaults to the global-async-timeout if not provided.
+         if command is sync,
+           - overrides the global-sync-timeout;
+           - defaults to the global-sync-timeout if not provided.
+        ";
+    }
+  }
+
+  grouping is-async-command {
+    description
+      "is-async-command is to be supported by all manifest commands even if only
+       supported as sync or async. In such cases, a must statement should be
+       included to limit support to either sync or async.";
+    leaf is-async {
+      type boolean;
+      default "true";
+      description
+        "command can be supported as either an async or sync command by a vendor.
+         When supported as a sync command, the OWB-C will determine the success/failure
+         of the command based on the RPC response instead of waiting for transient
+         notifications from the device.";
+    }
+  }
+
+  grouping transfer-command {
+    description
+      "transfer-command defines the common set of variables used by download-file
+       and upload-file";
+    leaf remote-filename {
+      type string;
+      mandatory true;
+      description
+        "See command for detailed description.";
+    }
+    leaf local-file-path {
+      type string;
+      mandatory true;
+      description
+        "See command for detailed description.";
+    }
+    uses timeout-command;
+    uses is-async-command;
+  }
+
+  grouping file-command {
+    description
+      "file-command is used by all manifest files needing a filename";
+    leaf filename {
+      type string;
+      description
+        "filename is mandatory for delete-file; optional otherwise.
+         See command for detailed description.";
+    }
+  }
+
+  grouping command-reboot {
+    description
+      "command-reboot is used by manifest commands which result in a
+       device restart.";
+    leaf auto-reboot {
+      type uint16;
+      mandatory true;
+      description
+        "See command for detailed description.";
+    }
+  }
+
+  grouping download-file-command {
+    description
+      "down-file-command";
+    container download-file {
+      when "../command = 'download-file'";
+      description
+        "Transfer a file from the SFTP server to the device.
+         format: download-file remote-filename local-file-path [timeout]
+         where
+           remote-filename is the filename of the file to transfer on the SFTP
+           server. The filename can include a relative path that represents the
+           subdirectory structure of the vendor's software directory. This file
+           (and optional path) must exist in the software release directory on
+           the SFTP server.
+
+           local-file-path is the local path and filename to transfer the file on
+           the device.
+
+           timeout - see timeout-command grouping for basic details;
+                     if command is async,
+                       - Receipt of an in-progress (version 2)
+                         transfer-notification resets the timeout.
+
+         Maps to the transfer rpc with
+            action = download
+            local-file-path = local-file-path
+            remote-file-path =
+               sftp://user:password@host[:port]/path/remote-filename
+
+            The remote-file-path attribute on the transfer command would be
+            constructed by the software download agent by appending the sftp URL
+            (which includes username, password, host, port, and path to the
+            software release directory) with the remote_filename.
+
+         In the context of the transfer, remote is the SFTP server (e.g., located
+         on the software download agent) and local is on the Open ROADM device.
+
+         Expected notifications: transfer-notification
+        ";
+      uses transfer-command;
+    }
+  }
+
+  grouping upload-file-command {
+    description
+      "upload-file-command";
+    container upload-file {
+      when "../command = 'upload-file'";
+      description
+        "Transfer a file from the device to the SFTP server.
+         format: upload-file remote-filename local-file-path [timeout]
+         where
+           remote-filename is the filename of the file to receive the upload
+           on the SFTP server. The filename can include a relative path that
+           represents the subdirectory structure of the vendor's software
+           directory.
+
+           local-file-path is the local path and filename of the file on
+           the device to be uploaded to the SFTP server. This file must exist on
+           the device.
+
+           timeout - see timeout-command grouping for basic details;
+                     if command is async,
+                       - Receipt of an in-progress (version 2)
+                         transfer-notification resets the timeout.
+
+         Maps to the transfer rpc with
+            action = upload
+            local-file-path = local-file-path
+            remote-file-path =
+               sftp://user:password@host[:port]/path/remote-filename
+
+            The remote-file-path attribute on the transfer command would be
+            constructed by the software download agent by appending the sftp URL
+            (which includes username, password, host, port, and path to the
+            software release directory) with the remote_filename.
+
+         In the context of the transfer, remote is the SFTP server (e.g., located
+         on the software download agent) and local is on the Open ROADM device.
+
+         Expected notifications: transfer-notification
+        ";
+      uses transfer-command;
+    }
+  }
+
+  grouping delete-file-command {
+    description
+      "delete-file-command";
+    container delete-file {
+      when "../command = 'delete-file'";
+      must "is-async != 'false'" {
+        error-message "delete-file is only supported as sync command";
+      }
+      description
+        "Delete a file from the device's file system.
+         format: delete-file filename [timeout]
+         where
+           filename is the filename to be deleted from the device. The filename
+           may include path information.
+
+           timeout - overrides the global-sync-timeout; defaults to the
+                     global-sync-timeout if not provided.
+
+         Maps to the delete-file rpc:
+            delete-file filename
+        ";
+      uses file-command {
+        refine "filename" {
+          mandatory true;
+        }
+      }
+      uses timeout-command;
+      uses is-async-command;
+    }
+  }
+
+  grouping sw-stage-command {
+    description
+      "sw-stage-command";
+    container sw-stage {
+      when "../command = 'sw-stage'";
+      description
+        "Stage a file in the device.  The details of what a device does during
+         the staging operation is vendor specific.  However, the vendor may
+         initiate additional file transfers from the SFTP server during the
+         staging operation.  It is expected that the files will only be
+         transferred from the software release directory.
+
+         format: sw-stage [filename] [timeout]
+         where
+           filename is the filename of the file to stage. If filename is not
+           provided, the software download application will send the sw-stage
+           command without a filename.
+
+           timeout - overrides the global-async-timeout; defaults to the
+                     global-async-timeout if not provided.
+
+
+         Maps to the sw-stage rpc:
+            sw-stage [filename]
+
+         Expected notifications: sw-stage-notification
+        ";
+      uses file-command;
+      uses timeout-command;
+      uses is-async-command;
+    }
+  }
+
+  grouping sw-activate-command {
+    description
+      "sw-activate-command";
+    container sw-activate {
+      when "../command = 'sw-activate'";
+      must "is-async != 'true'" {
+        error-message "sw-activate is only supported as async command";
+      }
+      description
+        "Activate a software load in a device.  The details of what a device does
+         during the activation phase is vendor specific.  The device initiates
+         an automatic reboot as part of the activation.
+
+         format:  sw-activate version [validation-timer] [timeout] auto-reboot
+         where:
+           version: The version of software that is being activated. (The current
+           YANG model indicates that version is optional; however, version should
+           be a mandatory attribute of the sw-activate command in the manifest
+           file).
+
+           validation-timer: Validation timer setting for the software activation.
+           Format is expected to be in the form HH-MM-SS per the YANG model. The
+           software download application expects this format in order to treat
+           00-00-00 and no validation timer as the same use case.
+
+           timeout - overrides the global-async-timeout; defaults to the
+           global-async-timeout if not provided. This timer begins as soon as the
+           sw-activate processing begins. timeout must be greater than the
+           auto-reboot time.
+
+           auto-reboot: time (in seconds) to wait to for the device to reboot.
+           This is the device restart time (e.g. the length of time from device
+           comm loss until the device is ready for login). This timer begins when
+           the controller detects the comm-loss from the device. If login is not
+           successful when this timer expires, the sw-activate is failed.
+
+           NOTE: if controller swdl application is not doing the login directly,
+           the controller may need to augment the auto-reboot timer to account for
+           the login time.
+
+         Maps to the sw-activate rpc:
+           sw-activate version [validationTimer]
+
+         Expected notifications: sw-activate-notification
+           When no validation timer (or validation-timer = 00-00-00), two
+           notifications will be expected: one for activate, the other for
+           commit. Otherwise, only the activate notification is expected.
+
+           NOTE: the sw-activate-notifications (for activate) may be received
+           before or after the reboot; it is assumed the sw-activate-notification
+           (for commit) always occurs after the reboot. Any polling due to missed
+           sw-activate-notifications (activate and/or commit) should not be done
+           until after the reboot login; processing of sw-activate does not
+           complete until after receipt of the notifications and the reboot login.
+        ";
+      leaf version {
+        type string;
+        mandatory true;
+        description
+          "Although version is optional in the sw-activate rpc, it is
+           mandatory in the manifest file command.";
+      }
+      leaf validation-timer {
+        type string;
+        description
+          "hh-mm-ss";
+      }
+      uses timeout-command;
+      uses command-reboot;
+      uses is-async-command;
+    }
+  }
+
+  grouping db-backup-command {
+    description
+      "db-backup-command";
+    container db-backup {
+      when "../command = 'db-backup'";
+      description
+        "Perform a database backup on the device.
+
+         format: db-backup [filename] [timeout]
+         where
+           filename is the filename of the backup file to be generated on the
+           device. If filename is not provided, the database backup application
+           will send the db-backup command without a filename. It's possible the
+           filename will not be statically provided in the manifest file, but
+           provided by the database backup application.
+
+           timeout - see timeout-command grouping for basic details;
+
+         Maps to the db-backup rpc:
+           db-backup [filename]
+
+         Expected notifications: db-backup-notification
+        ";
+      uses file-command;
+      uses timeout-command;
+      uses is-async-command;
+    }
+  }
+
+  grouping db-restore-command {
+    description
+      "db-restore-command";
+    container db-restore {
+      when "../command = 'db-restore'";
+      description
+        "Perform a database restore on the device.
+
+         format: db-restore [filename] [node-id-check] [timeout]
+         where
+           filename is the filename of the file to be restored on the
+           device. If filename is not provided, the database restore application
+           will send the db-restore command without a filename. It's possible the
+           filename will not be statically provided in the manifest file, but
+           provided by the database restore application.
+
+           node-id-check is a boolean indicating whether sysNameCheck is required.
+
+           timeout - see timeout-command grouping for basic details;
+
+         Maps to the db-restore rpc:
+           db-restore [filename] [nodeIDCheck]
+
+         Expected notifications: db-restore-notification
+        ";
+      uses file-command;
+      leaf node-id-check {
+        type string;
+        default "true";
+        description
+          "Defined as an string here so that manifest file can parameterize
+           the value for user input. __NODE-ID-CHECK is used for that purpose. Other valid
+           values are true or false. Maps to a boolean value in the rpc invocation.";
+      }
+      uses timeout-command;
+      uses is-async-command;
+    }
+  }
+
+  grouping db-activate-command {
+    description
+      "db-activate-command";
+    container db-activate {
+      when "../command = 'db-activate'";
+      must "is-async != 'true'" {
+        error-message "db-activate is only supported as async command";
+      }
+      description
+        "Activate a database on a device.  The details of what a device does
+         during the activation phase is vendor specific.  The device initiates
+         an automatic reboot as part of the activation.
+
+         format:  db-activate [rollback-timer] [timeout] auto-reboot
+         where:
+           rollback-timer: Rollback timer setting for the database activation.
+           Format is expected to be in the form HH-MM-SS per the YANG model. The
+           database activation application expects this format in order to treat
+           00-00-00 and no validation timer as the same use case.
+
+           timeout - overrides the global-async-timeout; defaults to the
+           global-async-timeout if not provided. This timer begins as soon as the
+           db-activate processing begins. timeout must be greater than the
+           auto-reboot time.
+
+           auto-reboot: time (in seconds) to wait to for the device to reboot.
+           This is the device restart time (e.g. the length of time from device
+           comm loss until the device is ready for login). This timer begins when
+           the controller detects the comm-loss from the device. If login is not
+           successful when this timer expires, the db-activate is failed.
+
+           NOTE: if controller database application is not doing the login
+           directly, the controller may need to augment the auto-reboot timer to
+           account for the login time.
+
+         Maps to the db-activate rpc:
+           db-activate [rollBackTimer]
+
+         Expected notifications: db-activate-notification
+           When no rollback timer (or rollback-timer = 00-00-00), two
+           notifications will be expected: one for activate, the other for
+           commit. Otherwise, only the activate notification is expected.
+
+           NOTE: the db-activate-notifications (for activate) may be received
+           before or after the reboot; it is assumed the db-activate-notification
+           (for commit) always occurs after the reboot. Any polling due to missed
+           db-activate-notifications (activate and/or commit) should not be done
+           until after the reboot login; processing of db-activate does not
+           complete until after receipt of the notifications and the reboot login.
+        ";
+      leaf rollback-timer {
+        type string;
+        description
+          "hh-mm-ss";
+      }
+      uses timeout-command;
+      uses command-reboot;
+      uses is-async-command;
+    }
+  }
+
+  container sw-manifest {
+    presence "The sw-manifest instructions for swdl operations have been defined.";
+    description
+      "The manifest file provides instructions to a software download
+       application to download and install a new software load into a vendor’s
+       equipment.
+
+       Software download files
+           All vendor files for a software release should be stored in a
+       separate directory. A unique directory would be used for each vendor,
+       model and software release combination. This directory and all files in
+       that directory will be accessible by the SFTP server.
+           The software directory can be flat or hierarchical with
+       subdirectories. The manifest file should be in the root directory of the
+       software directory.
+           A software directory must contain files for one and only one
+       software release.
+
+       Manifest file name
+           Each software release directory shall contain a manifest file for
+       that release. The filename for the manifest file shall be sw-manifest.json.
+      ";
+    uses base-manifest {
+      refine "sw-version" {
+        mandatory true;
+      }
+    }
+    list instruction-set {
+      key "index";
+      description
+        "The instruction set for a list of sw-versions that can be upgraded to
+         the sw-version specified at the top of the manifest file.";
+      leaf index {
+        type uint8;
+        description
+          "The index for this instruction set.";
+      }
+      leaf-list from-sw-version {
+        type string;
+        description
+          "The optional list of sw-versions that can be upgraded to the
+           sw-version specified at the top of the sw-manifest file.
+
+           If not specified, this instruction set is used to upgrade from
+           any sw-version to the sw-version specified at the top of the
+           sw-manifest file.
+
+           If multiple instruction sets are provided, from-sw-version
+           should always be defined.";
+      }
+      leaf is-commit-sw-activate-async {
+        type boolean;
+        default "true";
+        description
+          "Is cancel-validation-timer (accept = true) supported as an
+           async or sync command on the device? If supported as sync, the rpc response
+           is used to determine success/failure instead of waiting for transient notifications
+           of the result.
+           NOTE: cancel-validation-timer (accept = false) requires a reboot so is
+           always considered async";
+      }
+      leaf cancel-validation-timer-async-timeout {
+        type uint16;
+        description
+          "timeout value to use for cancel-validation-timer when supported as
+           an async command. If not specified, the global-async-timeout is used.";
+      }
+      leaf cancel-validation-timer-sync-timeout {
+        type uint16;
+        description
+          "timeout value to use for cancel-validation-timer (accept = true) when
+           supported as a sync command. If not specified, the global-sync-timeout
+           is used.";
+      }
+      container sw-manifest-commands {
+        description
+          "The ordered list of commands to be processed. Since some yang
+           implementations do not support ordered-by user, the list is also
+           indexed by command-order. The commands should be processed
+           in the order of command-order.
+
+           Processing moves to the next command when:
+           1. command is synchronous and rpc returns a successful result.
+           2. command is asynchronous, the rpc returns a successful result,
+           and
+           2.1 expected successful notification(s) have been received; or
+           2.2 timeout occurs.
+           \t\t
+           Processing of the manifest file is aborted when:
+           1. command is synchronous and rpc returns a failed result.
+           2. command is asynchronous, and:
+           2.1 the rpc returns a failed result; or
+           2.2 a failed notification is received; or
+           2.3 timeout occurs.
+           \t\t
+           NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
+           controller implementation per command. It may be considered either:
+           - as a successful result
+           - as a failed result
+           - as a success or failure based on polling the device
+          ";
+        list sw-manifest-command {
+          key "command-order";
+          ordered-by user;
+          description
+            "The list of commands to be processed.";
+          leaf command-order {
+            type uint8;
+            description
+              "The order in which commands should be processed.";
+          }
+          leaf command {
+            type identityref {
+              base sw-manifest-commands;
+            }
+            mandatory true;
+            description
+              "The command to be processed.";
+          }
+          uses download-file-command;
+          uses delete-file-command;
+          uses sw-stage-command;
+          uses sw-activate-command;
+        }
+      }
+    }
+  }
+  container db-backup-manifest {
+    presence "The db-backup-manifest template for db-backup operations has been defined.";
+    description
+      "The manifest file provides instructions to a database operations
+       application to backup the database on a device.
+
+       Since the files used for these operations are likely user selected,
+       these manifest files are more likely used by the controller as a
+       template to control the overall flow of a backup operation and provide
+       a means of providing customized timeout values.
+
+       The following strings will be recognized as parameters to be replaced
+       by the user selected values: __LOCAL-FILE-PATH, __REMOTE-FILENAME.
+
+       Manifest file name
+           Each vendor/model combination can have a separate manifest file
+       defined for backup. These shall be named db-backup-manifest.json.
+      ";
+    uses base-manifest;
+    container db-backup-manifest-commands {
+      description
+        "The ordered list of commands to be processed. Since some yang
+         implementations do not support ordered-by user, the list is also
+         indexed by command-order. The commands should be processed
+         in the order of command-order.
+
+         Processing moves to the next command when:
+            1. command is synchronous and rpc returns a successful result.
+            2. command is asynchronous, the rpc returns a successful result,
+               and
+               2.1 expected successful notification(s) have been received; or
+               2.2 timeout occurs.
+
+         Processing of the manifest file is aborted when:
+            1. command is synchronous and rpc returns a failed result.
+            2. command is asynchronous, and:
+               2.1 the rpc returns a failed result; or
+               2.2 a failed notification is received; or
+               2.3 timeout occurs.
+
+         NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
+         controller implementation per command. It may be considered either:
+             - as a successful result
+             - as a failed result
+             - as a success or failure based on polling the device
+        ";
+      list db-backup-manifest-command {
+        key "command-order";
+        ordered-by user;
+        description
+          "The list of commands to be processed.";
+        leaf command-order {
+          type uint8;
+          description
+            "The order in which commands should be processed.";
+        }
+        leaf command {
+          type identityref {
+            base db-backup-manifest-commands;
+          }
+          mandatory true;
+          description
+            "The command to be processed.";
+        }
+        uses upload-file-command;
+        uses delete-file-command;
+        uses db-backup-command;
+      }
+    }
+  }
+  container db-restore-manifest {
+    presence "The db-restore-manifest template for db-restore operations has been defined.";
+    description
+      "The manifest file provides instructions to a database operations
+       application to restore the database on a device.
+
+       Since the files used for these operations are likely user selected,
+       these manifest files are more likely used by the controller as a
+       template to control the overall flow of a restore operation and provide
+       a means of providing customized timeout and auto-reboot values.
+
+       The following strings will be recognized as parameters to be replaced
+       by the user selected values: __LOCAL-FILE-PATH, __REMOTE-FILENAME,
+       __NODE-ID-CHECK.
+
+       Manifest file name
+           Each vendor/model combination can have a separate manifest file
+       defined for restore. These shall be named db-restore-manifest.json.
+      ";
+    uses base-manifest;
+    leaf is-commit-db-activate-async {
+      type boolean;
+      default "true";
+      description
+        "Is cancel-rollback-timer (accept = true) supported as an
+         async or sync command on the device? If supported as sync, the rpc response
+         is used to determine success/failure instead of waiting for transient notifications
+         of the result.
+         NOTE: cancel-rollback-timer (accept = false) requires a reboot so is
+         always considered async";
+    }
+    leaf cancel-rollback-timer-async-timeout {
+      type uint16;
+      description
+        "timeout value to use for cancel-rollback-timer when supported as
+         an async command. If not specified, the global-async-timeout is used.";
+    }
+    leaf cancel-rollback-timer-sync-timeout {
+      type uint16;
+      description
+        "timeout value to use for cancel-rollback-timer (accept = true) when
+         supported as a sync command. If not specified, the global-sync-timeout
+         is used.";
+    }
+    leaf database-init-sync-timeout {
+      type uint16;
+      description
+        "timeout value to use for database-init command. If not specified,
+         the global-sync-timeout is used.";
+    }
+    container db-restore-manifest-commands {
+      description
+        "The ordered list of commands to be processed. Since some yang
+         implementations do not support ordered-by user, the list is also
+         indexed by command-order. The commands should be processed
+         in the order of command-order.
+
+         Processing moves to the next command when:
+            1. command is synchronous and rpc returns a successful result.
+            2. command is asynchronous, the rpc returns a successful result,
+               and
+               2.1 expected successful notification(s) have been received; or
+               2.2 timeout occurs.
+
+         Processing of the manifest file is aborted when:
+            1. command is synchronous and rpc returns a failed result.
+            2. command is asynchronous, and:
+               2.1 the rpc returns a failed result; or
+               2.2 a failed notification is received; or
+               2.3 timeout occurs.
+
+         NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
+         controller implementation per command. It may be considered either:
+             - as a successful result
+             - as a failed result
+             - as a success or failure based on polling the device
+        ";
+      list db-restore-manifest-command {
+        key "command-order";
+        ordered-by user;
+        description
+          "The list of commands to be processed.";
+        leaf command-order {
+          type uint8;
+          description
+            "The order in which commands should be processed.";
+        }
+        leaf command {
+          type identityref {
+            base db-restore-manifest-commands;
+          }
+          mandatory true;
+          description
+            "The command to be processed.";
+        }
+        uses download-file-command;
+        uses delete-file-command;
+        uses db-restore-command;
+        uses db-activate-command;
+      }
+    }
+  }
+}
index 62f2b93ca6eede697569874559ec9ffececbceb3..41f4cdf282ae041860f2b55535999ac058ab1317 100644 (file)
@@ -8,39 +8,39 @@ module org-openroadm-otn-common-types {
     "OpenROADM.org";
   description
     "YANG definitions for common otn related type definitions.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
old mode 100755 (executable)
new mode 100644 (file)
index c1985c9..6254d9a
@@ -29,31 +29,31 @@ module org-openroadm-pm {
     "OpenROADM.org";
   description
     "YANG definitions of performance management.
-       
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
       AT&T Intellectual Property.  All other rights reserved.
-      
-      Redistribution and use in source and binary forms, with or without modification, 
+
+      Redistribution and use in source and binary forms, with or without modification,
       are permitted provided that the following conditions are met:
-      
-      * Redistributions of source code must retain the above copyright notice, this 
+
+      * Redistributions of source code must retain the above copyright notice, this
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice, 
-        this list of conditions and the following disclaimer in the documentation and/or 
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-        contributors may be used to endorse or promote products derived from this software 
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
         without specific prior written permission.
-      
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2018-10-19 {
@@ -192,7 +192,7 @@ module org-openroadm-pm {
         config false;
         mandatory true;
         description
-          "The time at the end of the period; For example if bin starts at 
+          "The time at the end of the period; For example if bin starts at
            01:15:00 and ends at 01:29:59, the completion-time is 01:29:59";
       }
     }
@@ -204,12 +204,12 @@ module org-openroadm-pm {
         length "10..255";
       }
       description
-        "The file name to write the historical PM data. 
+        "The file name to write the historical PM data.
          The controller should be able to use this name to retrieve the file via ftp/sftp.
-         The file name should be unique for each RPC request since a new RPC request 
+         The file name should be unique for each RPC request since a new RPC request
          could be initiated while the file transfer of the previous file is still in progress.
-         
-         The file content should be written in xml format based on the historical-pm-list 
+
+         The file content should be written in xml format based on the historical-pm-list
          yang definition and the file should be gzip compressed.";
     }
     uses org-openroadm-common-types:rpc-response-status;
@@ -243,7 +243,7 @@ module org-openroadm-pm {
   rpc collect-historical-pm-file {
     description
       "Command to query historical PM data.
-       The device should be able to process an rpc request for 15min data 
+       The device should be able to process an rpc request for 15min data
        and a separate request for 24hour data in parallel.";
     input {
       leaf from-bin-number {
old mode 100755 (executable)
new mode 100644 (file)
index 8db93cc..2319877
@@ -13,31 +13,31 @@ module org-openroadm-port-types {
     "OpenROADM.org";
   description
     "YANG definitions for port types.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2018-10-19 {
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-probable-cause@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-probable-cause@2018-10-19.yang
new file mode 100644 (file)
index 0000000..030c93c
--- /dev/null
@@ -0,0 +1,767 @@
+module org-openroadm-probable-cause {
+  namespace "http://org/openroadm/probableCause";
+  prefix org-openroadm-probable-cause;
+
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of Probable Causes.
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+      AT&T Intellectual Property.  All other rights reserved.
+
+      Redistribution and use in source and binary forms, with or without modification,
+      are permitted provided that the following conditions are met:
+
+      * Redistributions of source code must retain the above copyright notice, this
+        list of conditions and the following disclaimer.
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
+        other materials provided with the distribution.
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
+        without specific prior written permission.
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      POSSIBILITY OF SUCH DAMAGE";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  typedef probable-cause-enum {
+    type enumeration {
+      enum "vendorExtension" {
+        value 1;
+        description
+          "vendorExtension";
+      }
+      enum "openConnectionIndication" {
+        value 2;
+        description
+          "Open connection indication (OCI)";
+        reference "G.798";
+      }
+      enum "alarmIndicationSignal" {
+        value 3;
+        description
+          "Alarm indication signal";
+        reference "G.798";
+      }
+      enum "lossOfSignal" {
+        value 4;
+        description
+          "Loss of Signal";
+      }
+      enum "opticalLineFail" {
+        value 5;
+        description
+          "Optical Line Fail";
+      }
+      enum "opticalPowerDegraded" {
+        value 6;
+        description
+          "Optical Line Fail";
+      }
+      enum "automaticLaserShutdown" {
+        value 7;
+        description
+          "Optical Line Fail";
+      }
+      enum "serverSignalFail" {
+        value 8;
+        description
+          "Server Signal Fail (SSF)";
+        reference "G.798";
+      }
+      enum "lockedDefect" {
+        value 10;
+        description
+          "Locked defect (LCK)";
+        reference "G.798";
+      }
+      enum "trailTraceIdentifierMismatch" {
+        value 11;
+        description
+          "Trail trace Identifier Mismatch (TIM)";
+        reference "G.798";
+      }
+      enum "degradedDefect" {
+        value 12;
+        description
+          "Degraded defect (DEG)";
+        reference "G.798";
+      }
+      enum "backwardsDefectIndication" {
+        value 13;
+        description
+          "Backward Defect Indication (BDI)";
+        reference "G.798";
+      }
+      enum "otsSpanlossPowerOutOfSpecificationHigh" {
+        value 14;
+      }
+      enum "automaticShutoffDisabled" {
+        value 15;
+      }
+      enum "portLossOfLight" {
+        value 17;
+      }
+      enum "reflectionTooHigh" {
+        value 18;
+      }
+      enum "payloadMissingIndication" {
+        value 22;
+        description
+          "Will be applicable to ROADM when OSC signaling supported in future (G.709 2016-06 Figure 15-1A, 1B)";
+      }
+      enum "forwardDefectIndication" {
+        value 23;
+        description
+          "Will be applicable to ROADM when OSC signaling supported in future (G.709 2016-06 Figure 15-1A, 1B)";
+      }
+      enum "oscPowerOutOfSpecificationHigh" {
+        value 24;
+      }
+      enum "oscPowerOutOfSpecificationLow" {
+        value 25;
+      }
+      enum "powerOutOfSpecificationHigh" {
+        value 26;
+      }
+      enum "lossOfSynchronization" {
+        value 27;
+      }
+      enum "linkDown" {
+        value 28;
+      }
+      enum "equipmentFault" {
+        value 29;
+      }
+      enum "equipmentRemoved" {
+        value 30;
+      }
+      enum "equipmentMismatch" {
+        value 31;
+      }
+      enum "equipmentWarmup" {
+        value 32;
+      }
+      enum "equipmentLedOn" {
+        value 33;
+      }
+      enum "equipmentInterConnectFailure" {
+        value 34;
+      }
+      enum "equipmentMiscabledConnection" {
+        value 35;
+      }
+      enum "softwareVersionMismatch" {
+        value 36;
+      }
+      enum "softwareStageInProgress" {
+        value 37;
+      }
+      enum "databaseCorruption" {
+        value 38;
+      }
+      enum "databaseVersionMismatch" {
+        value 44;
+      }
+      enum "firmwareVersionMismatch" {
+        value 46;
+      }
+      enum "incompatibleFirmware" {
+        value 49;
+      }
+      enum "firmwareDownloadOrActivationFailure" {
+        value 50;
+      }
+      enum "firmwareInitInProgress" {
+        value 51;
+      }
+      enum "softwareReset" {
+        value 52;
+      }
+      enum "fanCoolingFail" {
+        value 53;
+      }
+      enum "administrativeDown" {
+        value 54;
+      }
+      enum "lampTest" {
+        value 55;
+      }
+      enum "powerProblemA" {
+        value 56;
+      }
+      enum "powerProblemB" {
+        value 57;
+      }
+      enum "shelfProvisioningMode" {
+        value 58;
+      }
+      enum "sysNameChanged" {
+        value 59;
+      }
+      enum "sysNtpNotSynchronized" {
+        value 60;
+      }
+      enum "lossOfFrame" {
+        value 63;
+      }
+      enum "lossOfMultiframe" {
+        value 64;
+      }
+      enum "backwardIncomingAlignmentError" {
+        value 65;
+      }
+      enum "incomingAlignmentError" {
+        value 66;
+      }
+      enum "payloadMismatch" {
+        value 67;
+      }
+      enum "clientSignalFailDefect" {
+        value 68;
+      }
+      enum "highBER" {
+        value 123;
+      }
+      enum "localFault" {
+        value 124;
+      }
+      enum "remoteFault" {
+        value 125;
+      }
+      enum "lossOfAlignment" {
+        value 126;
+      }
+      enum "lossOfFECAlignment" {
+        value 127;
+      }
+      enum "facilityLoopbackActive" {
+        value 128;
+      }
+      enum "facilityLoopback2Active" {
+        value 129;
+      }
+      enum "terminalLoopbackActive" {
+        value 130;
+      }
+      enum "facilityTestsignalActive" {
+        value 131;
+      }
+      enum "terminalTestsignalActive" {
+        value 132;
+      }
+      enum "certificateNotInstalled" {
+        value 134;
+      }
+      enum "lockoutOfProtection" {
+        value 135;
+      }
+      enum "forcedSwitchAwayFromWorking" {
+        value 136;
+      }
+      enum "forcedSwitchAwayFromProtect" {
+        value 137;
+      }
+      enum "automaticSwitchAwayFromWorkingDueToSF" {
+        value 138;
+      }
+      enum "automaticSwitchAwayFromProtectDueToSF" {
+        value 139;
+      }
+      enum "automaticSwitchDueToWTR" {
+        value 140;
+      }
+      enum "manualSwitchAwayFromWork" {
+        value 141;
+      }
+      enum "manualSwitchAwayFromProtect" {
+        value 142;
+      }
+      enum "automaticPowerReduction" {
+        value 143;
+      }
+      enum "lossOfSignalOSC" {
+        value 144;
+      }
+      enum "softwareValidateInProgress" {
+        value 145;
+      }
+      enum "databaseRollbackTimerInProgress" {
+        value 146;
+      }
+      enum "otdrScanInProgress" {
+        value 147;
+      }
+      enum "lldpFail" {
+        value 148;
+      }
+      enum "omsPowerOutOfSpecificationHigh" {
+        value 149;
+      }
+      enum "omsPowerOutOfSpecificationLow" {
+        value 150;
+      }
+      enum "automaticSwitchAwayFromWorkingDueToSD" {
+        value 151;
+      }
+      enum "automaticSwitchAwayFromProtectDueToSD" {
+        value 152;
+      }
+      enum "backwardIncomingAlignmentErrorTCM1-up" {
+        value 153;
+      }
+      enum "backwardIncomingAlignmentErrorTCM2-up" {
+        value 154;
+      }
+      enum "backwardIncomingAlignmentErrorTCM3-up" {
+        value 155;
+      }
+      enum "backwardIncomingAlignmentErrorTCM4-up" {
+        value 156;
+      }
+      enum "backwardIncomingAlignmentErrorTCM5-up" {
+        value 157;
+      }
+      enum "backwardIncomingAlignmentErrorTCM6-up" {
+        value 158;
+      }
+      enum "incomingAlignmentErrorTCM1-up" {
+        value 159;
+      }
+      enum "incomingAlignmentErrorTCM2-up" {
+        value 160;
+      }
+      enum "incomingAlignmentErrorTCM3-up" {
+        value 161;
+      }
+      enum "incomingAlignmentErrorTCM4-up" {
+        value 162;
+      }
+      enum "incomingAlignmentErrorTCM5-up" {
+        value 163;
+      }
+      enum "incomingAlignmentErrorTCM6-up" {
+        value 164;
+      }
+      enum "backwardsDefectIndicationTCM1-up" {
+        value 165;
+      }
+      enum "backwardsDefectIndicationTCM2-up" {
+        value 166;
+      }
+      enum "backwardsDefectIndicationTCM3-up" {
+        value 167;
+      }
+      enum "backwardsDefectIndicationTCM4-up" {
+        value 168;
+      }
+      enum "backwardsDefectIndicationTCM5-up" {
+        value 169;
+      }
+      enum "backwardsDefectIndicationTCM6-up" {
+        value 170;
+      }
+      enum "degradedDefectTCM1-up" {
+        value 171;
+      }
+      enum "degradedDefectTCM2-up" {
+        value 172;
+      }
+      enum "degradedDefectTCM3-up" {
+        value 173;
+      }
+      enum "degradedDefectTCM4-up" {
+        value 174;
+      }
+      enum "degradedDefectTCM5-up" {
+        value 175;
+      }
+      enum "degradedDefectTCM6-up" {
+        value 176;
+      }
+      enum "trailTraceIdentifierMisMatchTCM1-up" {
+        value 177;
+      }
+      enum "trailTraceIdentifierMisMatchTCM2-up" {
+        value 178;
+      }
+      enum "trailTraceIdentifierMisMatchTCM3-up" {
+        value 179;
+      }
+      enum "trailTraceIdentifierMisMatchTCM4-up" {
+        value 180;
+      }
+      enum "trailTraceIdentifierMisMatchTCM5-up" {
+        value 181;
+      }
+      enum "trailTraceIdentifierMisMatchTCM6-up" {
+        value 182;
+      }
+      enum "alarmIndicationSignalTCM1-up" {
+        value 183;
+      }
+      enum "alarmIndicationSignalTCM2-up" {
+        value 184;
+      }
+      enum "alarmIndicationSignalTCM3-up" {
+        value 185;
+      }
+      enum "alarmIndicationSignalTCM4-up" {
+        value 186;
+      }
+      enum "alarmIndicationSignalTCM5-up" {
+        value 187;
+      }
+      enum "alarmIndicationSignalTCM6-up" {
+        value 188;
+      }
+      enum "openConnectionIndicationTCM1-up" {
+        value 189;
+      }
+      enum "openConnectionIndicationTCM2-up" {
+        value 190;
+      }
+      enum "openConnectionIndicationTCM3-up" {
+        value 191;
+      }
+      enum "openConnectionIndicationTCM4-up" {
+        value 192;
+      }
+      enum "openConnectionIndicationTCM5-up" {
+        value 193;
+      }
+      enum "openConnectionIndicationTCM6-up" {
+        value 194;
+      }
+      enum "lockedDefectTCM1-up" {
+        value 195;
+      }
+      enum "lockedDefectTCM2-up" {
+        value 196;
+      }
+      enum "lockedDefectTCM3-up" {
+        value 197;
+      }
+      enum "lockedDefectTCM4-up" {
+        value 198;
+      }
+      enum "lockedDefectTCM5-up" {
+        value 199;
+      }
+      enum "lockedDefectTCM6-up" {
+        value 200;
+      }
+      enum "lossofTandemConnectionTCM1-up" {
+        value 201;
+      }
+      enum "lossofTandemConnectionTCM2-up" {
+        value 202;
+      }
+      enum "lossofTandemConnectionTCM3-up" {
+        value 203;
+      }
+      enum "lossofTandemConnectionTCM4-up" {
+        value 204;
+      }
+      enum "lossofTandemConnectionTCM5-up" {
+        value 205;
+      }
+      enum "lossofTandemConnectionTCM6-up" {
+        value 206;
+      }
+      enum "backwardIncomingAlignmentErrorTCM1-down" {
+        value 207;
+      }
+      enum "backwardIncomingAlignmentErrorTCM2-down" {
+        value 208;
+      }
+      enum "backwardIncomingAlignmentErrorTCM3-down" {
+        value 209;
+      }
+      enum "backwardIncomingAlignmentErrorTCM4-down" {
+        value 210;
+      }
+      enum "backwardIncomingAlignmentErrorTCM5-down" {
+        value 211;
+      }
+      enum "backwardIncomingAlignmentErrorTCM6-down" {
+        value 212;
+      }
+      enum "incomingAlignmentErrorTCM1-down" {
+        value 213;
+      }
+      enum "incomingAlignmentErrorTCM2-down" {
+        value 214;
+      }
+      enum "incomingAlignmentErrorTCM3-down" {
+        value 215;
+      }
+      enum "incomingAlignmentErrorTCM4-down" {
+        value 216;
+      }
+      enum "incomingAlignmentErrorTCM5-down" {
+        value 217;
+      }
+      enum "incomingAlignmentErrorTCM6-down" {
+        value 218;
+      }
+      enum "backwardsDefectIndicationTCM1-down" {
+        value 219;
+      }
+      enum "backwardsDefectIndicationTCM2-down" {
+        value 220;
+      }
+      enum "backwardsDefectIndicationTCM3-down" {
+        value 221;
+      }
+      enum "backwardsDefectIndicationTCM4-down" {
+        value 222;
+      }
+      enum "backwardsDefectIndicationTCM5-down" {
+        value 223;
+      }
+      enum "backwardsDefectIndicationTCM6-down" {
+        value 224;
+      }
+      enum "degradedDefectTCM1-down" {
+        value 225;
+      }
+      enum "degradedDefectTCM2-down" {
+        value 226;
+      }
+      enum "degradedDefectTCM3-down" {
+        value 227;
+      }
+      enum "degradedDefectTCM4-down" {
+        value 228;
+      }
+      enum "degradedDefectTCM5-down" {
+        value 229;
+      }
+      enum "degradedDefectTCM6-down" {
+        value 230;
+      }
+      enum "trailTraceIdentifierMisMatchTCM1-down" {
+        value 231;
+      }
+      enum "trailTraceIdentifierMisMatchTCM2-down" {
+        value 232;
+      }
+      enum "trailTraceIdentifierMisMatchTCM3-down" {
+        value 233;
+      }
+      enum "trailTraceIdentifierMisMatchTCM4-down" {
+        value 234;
+      }
+      enum "trailTraceIdentifierMisMatchTCM5-down" {
+        value 235;
+      }
+      enum "trailTraceIdentifierMisMatchTCM6-down" {
+        value 236;
+      }
+      enum "alarmIndicationSignalTCM1-down" {
+        value 237;
+      }
+      enum "alarmIndicationSignalTCM2-down" {
+        value 238;
+      }
+      enum "alarmIndicationSignalTCM3-down" {
+        value 239;
+      }
+      enum "alarmIndicationSignalTCM4-down" {
+        value 240;
+      }
+      enum "alarmIndicationSignalTCM5-down" {
+        value 241;
+      }
+      enum "alarmIndicationSignalTCM6-down" {
+        value 242;
+      }
+      enum "openConnectionIndicationTCM1-down" {
+        value 243;
+      }
+      enum "openConnectionIndicationTCM2-down" {
+        value 244;
+      }
+      enum "openConnectionIndicationTCM3-down" {
+        value 245;
+      }
+      enum "openConnectionIndicationTCM4-down" {
+        value 246;
+      }
+      enum "openConnectionIndicationTCM5-down" {
+        value 247;
+      }
+      enum "openConnectionIndicationTCM6-down" {
+        value 248;
+      }
+      enum "lockedDefectTCM1-down" {
+        value 249;
+      }
+      enum "lockedDefectTCM2-down" {
+        value 250;
+      }
+      enum "lockedDefectTCM3-down" {
+        value 251;
+      }
+      enum "lockedDefectTCM4-down" {
+        value 252;
+      }
+      enum "lockedDefectTCM5-down" {
+        value 253;
+      }
+      enum "lockedDefectTCM6-down" {
+        value 254;
+      }
+      enum "lossofTandemConnectionTCM1-down" {
+        value 255;
+      }
+      enum "lossofTandemConnectionTCM2-down" {
+        value 256;
+      }
+      enum "lossofTandemConnectionTCM3-down" {
+        value 257;
+      }
+      enum "lossofTandemConnectionTCM4-down" {
+        value 258;
+      }
+      enum "lossofTandemConnectionTCM5-down" {
+        value 259;
+      }
+      enum "lossofTandemConnectionTCM6-down" {
+        value 260;
+      }
+      enum "multiplexStructureIdentifierMismatch" {
+        value 261;
+        description
+          "G798 : 6.2.9 (dMSIM)";
+      }
+      enum "lossOfOmfIndication" {
+        value 262;
+        description
+          "G798 : 14.3.10.2 Figure 14-73 (dLOOMFI)";
+      }
+      enum "lossOfFrameAndLossOfMultiframe" {
+        value 263;
+        description
+          "G798 : 6.2.5.3 (dLOFLOM)";
+      }
+      enum "lossOfDatabaseRedundancy" {
+        value 264;
+        description
+          "loss of database redundancy";
+      }
+      enum "databaseLocked" {
+        value 265;
+        description
+          "Database locked";
+      }
+      enum "createTechInfoInProgress" {
+        value 266;
+        description
+          "create-tech-info in progress";
+      }
+      enum "circuitPackActivateFailed" {
+        value 267;
+        description
+          "circuit-pack activation failed";
+      }
+      enum "softwareSubsystemFailed" {
+        value 268;
+        description
+          "Software subsystem failed";
+      }
+      enum "diskFull" {
+        value 269;
+        description
+          "Disk full";
+      }
+    }
+  }
+
+  grouping probable-cause {
+    leaf cause {
+      type probable-cause-enum;
+      mandatory true;
+    }
+    leaf extension {
+      type string;
+      mandatory false;
+    }
+    leaf direction {
+      type org-openroadm-common-types:direction;
+      mandatory true;
+      description
+        "Direction indication of the alarm.";
+    }
+    leaf location {
+      type org-openroadm-common-types:location;
+      mandatory true;
+      description
+        "location indication of the alarm.";
+    }
+    leaf type {
+      type enumeration {
+        enum "communication" {
+          value 1;
+        }
+        enum "qualityOfService" {
+          value 2;
+        }
+        enum "processingError" {
+          value 3;
+        }
+        enum "equipment" {
+          value 4;
+        }
+        enum "environmental" {
+          value 5;
+        }
+      }
+      mandatory false;
+      description
+        "Type of alarm. Based on X.733 event Type.";
+    }
+  }
+}
old mode 100755 (executable)
new mode 100644 (file)
index 374ff1d..765c380
@@ -13,31 +13,31 @@ module org-openroadm-resource-types {
     "OpenROADM.org";
   description
     "YANG definitions of common resource types.
-       
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
       AT&T Intellectual Property.  All other rights reserved.
-      
-      Redistribution and use in source and binary forms, with or without modification, 
+
+      Redistribution and use in source and binary forms, with or without modification,
       are permitted provided that the following conditions are met:
-      
-      * Redistributions of source code must retain the above copyright notice, this 
+
+      * Redistributions of source code must retain the above copyright notice, this
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice, 
-        this list of conditions and the following disclaimer in the documentation and/or 
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-        contributors may be used to endorse or promote products derived from this software 
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
         without specific prior written permission.
-      
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2018-10-19 {
@@ -197,7 +197,7 @@ module org-openroadm-resource-types {
     leaf node-id {
       type org-openroadm-common-types:node-id-type;
       description
-        "Node Id is a globally unique identifier for a device. 
+        "Node Id is a globally unique identifier for a device.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -217,7 +217,7 @@ module org-openroadm-resource-types {
     leaf port-name {
       type string;
       description
-        "Port identifier. Unique within the context of a circuit-pack. 
+        "Port identifier. Unique within the context of a circuit-pack.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -227,7 +227,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Physical Link identifier. Unique within the context of a device. 
+        "Physical Link identifier. Unique within the context of a device.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -237,7 +237,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Internal Link identifier. Unique within the context of a device. 
+        "Internal Link identifier. Unique within the context of a device.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -246,7 +246,7 @@ module org-openroadm-resource-types {
     leaf connection-name {
       type string;
       description
-        "Connection name. Unique within the context of a device. 
+        "Connection name. Unique within the context of a device.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -255,7 +255,7 @@ module org-openroadm-resource-types {
     leaf degree-number {
       type uint16;
       description
-        "Degree identifier. Unique within the context of a device. 
+        "Degree identifier. Unique within the context of a device.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -264,7 +264,7 @@ module org-openroadm-resource-types {
     leaf srg-number {
       type uint16;
       description
-        "Shared Risk Group identifier. Unique within the context of a device. 
+        "Shared Risk Group identifier. Unique within the context of a device.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -274,7 +274,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Shelf-id identifier. Unique within the context of a device.  
+        "Shelf-id identifier. Unique within the context of a device.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -284,7 +284,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Service identifier. Unique within the context of a network.  
+        "Service identifier. Unique within the context of a network.
          Same as leafref value in model, if applicable.";
     }
   }
@@ -294,7 +294,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Service identifier. Unique within the context of a network.  
+        "Service identifier. Unique within the context of a network.
          Same as leafref value in model, if applicable.";
     }
     leaf version-number {
@@ -310,7 +310,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Service identifier. Unique within the context of a network.  
+        "Service identifier. Unique within the context of a network.
          Same as leafref value in model, if applicable.";
     }
   }
old mode 100755 (executable)
new mode 100644 (file)
index c7afac4..7baff87
@@ -13,31 +13,31 @@ module org-openroadm-resource {
     "OpenROADM.org";
   description
     "YANG definitions of resources.
-       
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
       AT&T Intellectual Property.  All other rights reserved.
-      
-      Redistribution and use in source and binary forms, with or without modification, 
+
+      Redistribution and use in source and binary forms, with or without modification,
       are permitted provided that the following conditions are met:
-      
-      * Redistributions of source code must retain the above copyright notice, this 
+
+      * Redistributions of source code must retain the above copyright notice, this
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice, 
-        this list of conditions and the following disclaimer in the documentation and/or 
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-        contributors may be used to endorse or promote products derived from this software 
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
         without specific prior written permission.
-      
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2018-10-19 {
index fc6cd08e715e4874b23e4f10f0423b8a0ecd6d33..10cff01cf8c6f113e9584672eafba07578bf2a88 100644 (file)
@@ -8,29 +8,29 @@ module org-openroadm-switching-pool-types {
     "OpenROADM.org";
   description
     "YANG definitions of common types.
-       
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
       AT&T Intellectual Property.  All other rights reserved.
-      
-      Redistribution and use in source and binary forms, with or without modification, 
-      * Redistributions of source code must retain the above copyright notice, this 
+
+      Redistribution and use in source and binary forms, with or without modification,
+      * Redistributions of source code must retain the above copyright notice, this
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice, 
-        this list of conditions and the following disclaimer in the documentation and/or 
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-        contributors may be used to endorse or promote products derived from this software 
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
         without specific prior written permission.
-      
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2017-12-15 {
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-tca@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/common/org-openroadm-tca@2018-10-19.yang
new file mode 100644 (file)
index 0000000..969a666
--- /dev/null
@@ -0,0 +1,156 @@
+module org-openroadm-tca {
+  namespace "http://org/openroadm/tca";
+  prefix org-openroadm-tca;
+
+  import ietf-yang-types {
+    prefix yang;
+    revision-date 2013-07-15;
+  }
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-pm-types {
+    prefix org-openroadm-pm-types;
+    revision-date 2017-12-15;
+  }
+  import org-openroadm-resource {
+    prefix org-openroadm-resource;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of Threshold Crossing Alert types.
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+      AT&T Intellectual Property.  All other rights reserved.
+
+      Redistribution and use in source and binary forms, with or without modification,
+      are permitted provided that the following conditions are met:
+
+      * Redistributions of source code must retain the above copyright notice, this
+        list of conditions and the following disclaimer.
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
+        other materials provided with the distribution.
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
+        without specific prior written permission.
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      POSSIBILITY OF SUCH DAMAGE";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-08-28 {
+    description
+      "Version 2.0.2 - added back the missing pmParameterName container";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  grouping tca {
+    leaf id {
+      type string;
+      mandatory true;
+    }
+    container resource {
+      uses org-openroadm-resource:resource;
+    }
+    container pmParameterName {
+      uses org-openroadm-pm-types:pm-names;
+    }
+    leaf granularity {
+      type org-openroadm-pm-types:pm-granularity;
+      mandatory true;
+    }
+    leaf location {
+      type org-openroadm-common-types:location;
+      mandatory true;
+    }
+    leaf direction {
+      type org-openroadm-common-types:direction;
+      mandatory true;
+    }
+  }
+
+  grouping potential-tca {
+    uses tca;
+    leaf lowThresholdValue {
+      type org-openroadm-pm-types:pm-data-type;
+    }
+    leaf highThresholdValue {
+      type org-openroadm-pm-types:pm-data-type;
+    }
+  }
+
+  notification tca-notification {
+    uses tca;
+    leaf thresholdValue {
+      type org-openroadm-pm-types:pm-data-type;
+      mandatory true;
+    }
+    leaf thresholdType {
+      type enumeration {
+        enum "high" {
+          value 1;
+        }
+        enum "low" {
+          value 2;
+        }
+      }
+      mandatory true;
+      description
+        "Threshold Crossed";
+    }
+    leaf pmParameterValue {
+      type org-openroadm-pm-types:pm-data-type;
+      mandatory true;
+    }
+    leaf raiseTime {
+      type yang:date-and-time;
+      mandatory true;
+    }
+  }
+  container potential-tca-list {
+    description
+      "This is the set of threshold crossing alerts monitored on the device. Alerts are
+       enabled/disabled by adding/deleting the high/low threshold values from the list.";
+    list tca {
+      key "id";
+      uses potential-tca;
+    }
+  }
+}
index 7e3227d7b10be8c4ef56919439e4d4c5af3fcdfe..cf55c1b75f8d187cf47359d74f07ca4a2a51c750 100644 (file)
@@ -8,31 +8,31 @@ module org-openroadm-user-mgmt {
     "OpenROADM.org";
   description
     "YANG definitions of user managements.
-       
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
       AT&T Intellectual Property.  All other rights reserved.
-      
-      Redistribution and use in source and binary forms, with or without modification, 
+
+      Redistribution and use in source and binary forms, with or without modification,
       are permitted provided that the following conditions are met:
-      
-      * Redistributions of source code must retain the above copyright notice, this 
+
+      * Redistributions of source code must retain the above copyright notice, this
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice, 
-        this list of conditions and the following disclaimer in the documentation and/or 
+      * Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation and/or
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-        contributors may be used to endorse or promote products derived from this software 
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+        contributors may be used to endorse or promote products derived from this software
         without specific prior written permission.
-      
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2017-12-15 {
@@ -57,7 +57,7 @@ module org-openroadm-user-mgmt {
       length "3..32";
       pattern "[a-z][a-z0-9]{2,31}" {
         error-message
-          "A username must begin with a lowercase letter, The remainder 
+          "A username must begin with a lowercase letter, The remainder
            of the string may contain lowercase letters, or numbers 0 through 9.";
       }
     }
@@ -73,13 +73,13 @@ module org-openroadm-user-mgmt {
       }
     }
     description
-      "The password for this entry. This shouldn't be in clear text 
-       The Password must contain at least 2 characters from 
-       each of the following groups: 
-       a) Lower case alphabetic (a-z) 
-       b) Upper case alphabetic (A-Z) 
-       c) Numeric 0-9 
-       d) Special characters Allowed !$%^()[]_-~{}.+ 
+      "The password for this entry. This shouldn't be in clear text
+       The Password must contain at least 2 characters from
+       each of the following groups:
+       a) Lower case alphabetic (a-z)
+       b) Upper case alphabetic (A-Z)
+       c) Numeric 0-9
+       d) Special characters Allowed !$%^()[]_-~{}.+
        Password must not contain Username.";
   }
 
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-database@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-database@2018-10-19.yang
new file mode 100644 (file)
index 0000000..63a21ba
--- /dev/null
@@ -0,0 +1,159 @@
+module org-openroadm-database {
+  namespace "http://org/openroadm/database";
+  prefix org-openroadm-database;
+
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "This module contains definitions for System Management.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  rpc db-backup {
+    description
+      "copy  running DB to user provided file to a given path";
+    input {
+      leaf filename {
+        type string {
+          length "10..255";
+        }
+        description
+          "Path and file name is used with back-up.(xxx.DBS)";
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  rpc db-restore {
+    description
+      "Restore database ";
+    input {
+      leaf filename {
+        type string {
+          length "10..255";
+        }
+        description
+          "PATH/file name use file name.(xxx.DBS)";
+      }
+      leaf nodeIDCheck {
+        type boolean;
+        default "true";
+        description
+          "Flag to indicate if sysNameCheck is required";
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  rpc db-activate {
+    description
+      "activate the database";
+    input {
+      leaf rollBackTimer {
+        type string;
+        description
+          "rollbackTimer ";
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  rpc cancel-rollback-timer {
+    description
+      "Cancel roll back timer which user provisioned as part of activate command";
+    input {
+      leaf accept {
+        type boolean;
+        description
+          " TRUE means rollback timer is cancelled and new load is accepted";
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  rpc database-init {
+    description
+      "Initialize the database to default DB";
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  notification db-backup-notification {
+    description
+      "notification for db-backup operation events.";
+    uses org-openroadm-common-types:rpc-response-status;
+  }
+  notification db-restore-notification {
+    description
+      "notification for db-restore operation events.";
+    uses org-openroadm-common-types:rpc-response-status;
+  }
+  notification db-activate-notification {
+    description
+      "notification for database activation events.";
+    leaf db-active-notification-type {
+      type org-openroadm-common-types:activate-notification-type;
+    }
+    uses org-openroadm-common-types:rpc-response-status;
+  }
+}
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-de-operations@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-de-operations@2018-10-19.yang
new file mode 100644 (file)
index 0000000..e82f672
--- /dev/null
@@ -0,0 +1,99 @@
+module org-openroadm-de-operations {
+  namespace "http://org/openroadm/de/operations";
+  prefix org-openroadm-de-operations;
+
+  import org-openroadm-resource {
+    prefix org-openroadm-resource;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of operations.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  rpc restart {
+    description
+      "Restart a resource with warm/cold option. If no resource is provided or only the device name is provided, then the device itself will be restarted.
+       Note that resources on the device will not be restartable";
+    input {
+      uses org-openroadm-resource:resource;
+      leaf option {
+        type enumeration {
+          enum "warm" {
+            value 1;
+          }
+          enum "cold" {
+            value 2;
+          }
+        }
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  notification restart-notification {
+    description
+      "This Notification is sent when a resource on a device has completed a restart. This is sent as a result of restarts triggered via the
+       restart RPC and other means.  The resource identified is the from the RPC request or the equivalment if the restart was triggered another way.";
+    uses org-openroadm-resource:resource;
+  }
+}
old mode 100755 (executable)
new mode 100644 (file)
index 32700cc..c08187c
@@ -57,45 +57,45 @@ module org-openroadm-device {
     "OpenROADM.org";
   description
     "YANG definitions of ROADM device
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
-     Also contains code components extracted from IETF netconf.  These code components 
+
+     Also contains code components extracted from IETF netconf.  These code components
      are copyrighted and licensed as follows:
-     
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
-     All rights reserved. 
-     
-     This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating 
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
-     publication of this document. Please review these documents carefully, as they 
-     describe your rights and restrictions with respect to this document. Code Components 
+
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
      extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
   revision 2018-10-19 {
@@ -152,7 +152,7 @@ module org-openroadm-device {
     leaf node-number {
       type uint32;
       description
-        "Number assigned to a ROADM node at a 
+        "Number assigned to a ROADM node at a
          given office";
     }
     leaf node-type {
@@ -765,7 +765,7 @@ module org-openroadm-device {
       }
       config false;
       description
-        "amp-number of amp module that is functionally associated to the amplifier  
+        "amp-number of amp module that is functionally associated to the amplifier
          in the opposite direction";
     }
     leaf ila-direction-label {
@@ -778,7 +778,7 @@ module org-openroadm-device {
 
   grouping external-links {
     description
-      "YANG definitions for external links.. 
+      "YANG definitions for external links..
        - physical links between ROADMs and between the ROADMs and XPonders, which can be added and removed manually.";
     list external-link {
       key "external-link-name";
@@ -1293,7 +1293,7 @@ module org-openroadm-device {
             type string;
             config true;
             description
-              "Complements ports identification. Used notably in case of bidirectional ports, 
+              "Complements ports identification. Used notably in case of bidirectional ports,
                and/or in multi-degree amplifier nodes. Allows associating one of the directions
                specified in ila-direction-label. Shall be consistent with ila-direction-label";
           }
@@ -1301,7 +1301,7 @@ module org-openroadm-device {
             type string;
             config true;
             description
-              "Complements ports identification. Used notably in case of bidirectional ports, 
+              "Complements ports identification. Used notably in case of bidirectional ports,
                and/or in multi-degree amplifier nodes. Allows associating one of the directions
                specified in ila-direction-label. Shall be consistent with ila-direction-label";
           }
@@ -1323,7 +1323,7 @@ module org-openroadm-device {
             config true;
             mandatory true;
             description
-              "allows identifying ports associated with logical amp : 
+              "allows identifying ports associated with logical amp :
                TX for OSC circuit-pack IN RX for OSC circuit-pack OUT";
           }
           uses port-name {
@@ -1343,7 +1343,7 @@ module org-openroadm-device {
             type string;
             config true;
             description
-              "allows identifying associated logical amp port in which OTDR is launched: 
+              "allows identifying associated logical amp port in which OTDR is launched:
                corresponds to rx-instance-port-direction-label of corresponding amplifier line-port";
           }
           uses port-name {
@@ -1440,14 +1440,14 @@ module org-openroadm-device {
             type uint32;
             config false;
             description
-              "Switch fabric interconnect bandwidth unit rate in bits per second. 
+              "Switch fabric interconnect bandwidth unit rate in bits per second.
                Represents granularity of switch fabric";
           }
           leaf interconnect-bandwidth {
             type uint32;
             config false;
             description
-              "Total interconnect bandwidth for a non-blocking element expressed as 
+              "Total interconnect bandwidth for a non-blocking element expressed as
                number of inter-connect-bandwidth units";
           }
           list port-list {
@@ -1626,8 +1626,8 @@ module org-openroadm-device {
       "Collects all log data for debugging and place it in a location accessible via ftp/sftp.
        This model assumes ASYNC operation, i.e. the command will return after the device accepts the command,
        A create-tech-info-notification will be send out later for the result of the operation.
-       The log-file is cleared at the start of every create-tech-info operation in order to ensure 
-       the up-to-date logs are collected. If a vendor does not support concurrent log collection, the second 
+       The log-file is cleared at the start of every create-tech-info operation in order to ensure
+       the up-to-date logs are collected. If a vendor does not support concurrent log collection, the second
        create-tech-info command will be rejected.";
     input {
       leaf shelf-id {
@@ -1635,7 +1635,7 @@ module org-openroadm-device {
           path "/org-openroadm-device/shelves/shelf-name";
         }
         description
-          "This optional field is used to specify the shelf for log collection. 
+          "This optional field is used to specify the shelf for log collection.
            When this filed is not provided, it is expected to collect logs for the whole node.
            Vendor should reject the command if the whole node log collection is not supported.";
       }
@@ -1794,7 +1794,7 @@ module org-openroadm-device {
     description
       "The Notification that a resource has been added, modified or removed.
        This notification can be triggered by changes in configuration and operational data.
-       It shall contain the changed field pointed by the xpath. 
+       It shall contain the changed field pointed by the xpath.
        Typically it is not intended for frequently changing volatile data e.g. PM, power levels";
     leaf change-time {
       type ietf-yang-types:date-and-time;
old mode 100755 (executable)
new mode 100644 (file)
index 494f4ce..cea829a
@@ -17,45 +17,45 @@ module org-openroadm-ethernet-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility ethernet interfaces.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
-     Also contains code components extracted from IETF Interfaces.  These code components 
+
+     Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
-     All rights reserved. 
-     
-     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating 
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
-     publication of this document. Please review these documents carefully, as they 
-     describe your rights and restrictions with respect to this document. Code Components 
+
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
      extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
   revision 2018-10-19 {
@@ -83,7 +83,7 @@ module org-openroadm-ethernet-interfaces {
     leaf speed {
       type uint32;
       description
-        "Set speed of the interface, unit mbps. 
+        "Set speed of the interface, unit mbps.
          This is for ETH facility. ";
     }
     leaf fec {
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-file-transfer@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-file-transfer@2018-10-19.yang
new file mode 100644 (file)
index 0000000..a895214
--- /dev/null
@@ -0,0 +1,193 @@
+module org-openroadm-file-transfer {
+  namespace "http://org/openroadm/file-transfer";
+  prefix org-openroadm-file-txr;
+
+  import ietf-inet-types {
+    prefix inet;
+    revision-date 2013-07-15;
+  }
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions for file management related rpcs.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  rpc transfer {
+    description
+      "File transfer using FTP/SFTP";
+    input {
+      leaf action {
+        type enumeration {
+          enum "upload" {
+            description
+              "Specify the upload action. The NE (SFTP/FTP client) sends
+               the file identified by the local-file-path
+               to the remote-file-path.";
+          }
+          enum "download" {
+            description
+              "Specify the download action. The NE (SFTP/FTP client) retrieves
+               the file identified by the remote-file-path
+               to the local-file-path.";
+          }
+        }
+        mandatory true;
+        description
+          "Type of action - download/upload.";
+      }
+      leaf local-file-path {
+        type string;
+        mandatory true;
+        description
+          "Local file path.
+           Ex: /var/shared/example.txt";
+      }
+      leaf remote-file-path {
+        type inet:uri;
+        mandatory true;
+        description
+          "Remote file path.
+           A URI for the remote file path.
+
+           Format:sftp://user[:password]@host[:port]/path.
+           Ex: sftp://test:verify@[2001:db8:0:1::10]:22/home/user/sample";
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  rpc show-file {
+    description
+      "Show one or more files in the specified directory.";
+    input {
+      leaf filename {
+        type string {
+          length "1..255";
+        }
+        default "*";
+        description
+          "Specify file(s) to be listed (* is allowed as wild-card). ";
+      }
+    }
+    output {
+      leaf status {
+        type enumeration {
+          enum "Successful" {
+            value 1;
+          }
+          enum "Failed" {
+            value 2;
+          }
+        }
+        mandatory true;
+        description
+          "Successful or Failed";
+      }
+      leaf-list status-message {
+        type string;
+        description
+          "Gives a more detailed reason for success / failure";
+      }
+    }
+  }
+  rpc delete-file {
+    description
+      "Delete one or more files in the specified directory.";
+    input {
+      leaf filename {
+        type string {
+          length "1..255";
+        }
+        mandatory true;
+        description
+          "Specify file(s) to be deleted (* is allowed as wild-card).";
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  notification transfer-notification {
+    description
+      "notification for transfer operation events.";
+    leaf local-file-path {
+      type string;
+      description
+        "Local file path used in transfer RPC.";
+    }
+    uses org-openroadm-common-types:extended-rpc-response-status;
+    container progress {
+      when "current()/../status = 'In-progress'";
+      description
+        "progress status when response is in-progress";
+      leaf bytes-transferred {
+        type uint64;
+        description
+          "bytes transferred.";
+      }
+      leaf percentage-complete {
+        type uint8;
+        description
+          "percentage completed.";
+      }
+    }
+  }
+}
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-fwdl@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-fwdl@2018-10-19.yang
new file mode 100644 (file)
index 0000000..7fa5b8c
--- /dev/null
@@ -0,0 +1,78 @@
+module org-openroadm-fwdl {
+  namespace "http://org/openroadm/fwdl";
+  prefix org-openroadm-fwdl;
+
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "This module contains definitions for System Management.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  rpc fw-update {
+    description
+      "Fpga data update";
+    input {
+      leaf circuit-pack-name {
+        type string;
+        description
+          "Name of the circuit pack";
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+}
index 88001a617b8057ca06bde32515d7e21129c9177e..03f1da14bab39d6968facb9d0941d06343f09904 100644 (file)
@@ -7,47 +7,47 @@ module org-openroadm-interfaces {
   contact
     "OpenROADM.org";
   description
-    "YANG definitions for device facility interfaces. 
+    "YANG definitions for device facility interfaces.
      Reused ietf-interfaces and some interface-type defined in iana-if-type.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
-     Also contains code components extracted from IETF Interfaces.  These code components 
+
+     Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
-     All rights reserved. 
-     
-     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating 
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
-     publication of this document. Please review these documents carefully, as they 
-     describe your rights and restrictions with respect to this document. Code Components 
+
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
      extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
   revision 2017-06-26 {
old mode 100755 (executable)
new mode 100644 (file)
index 0b85ce1..7603002
@@ -29,31 +29,31 @@ module org-openroadm-lldp {
     "OpenROADM.org";
   description
     "YANG definitions for lldp protocol.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2018-10-19 {
index da8f5cddcb1d7427b317f28bd0d707d2420f26af..996fabd2121d419c3236a37815fdf06fbdfe9864 100644 (file)
@@ -8,31 +8,31 @@ module org-openroadm-maintenance-loopback {
     "OpenROADM.org";
   description
     "YANG definitions for maintenance loopback.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-12-15 {
index 9816505dc093406d795db3d13b01eca329f5b228..e658e7feab048e4f9bcc750e98579991eef7b533 100644 (file)
@@ -8,31 +8,31 @@ module org-openroadm-maintenance-testsignal {
     "OpenROADM.org";
   description
     "YANG definitions for maintenance testsignal.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-12-15 {
old mode 100755 (executable)
new mode 100644 (file)
index 4693a21..8409455
@@ -21,39 +21,39 @@ module org-openroadm-media-channel-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility och interfaces.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
old mode 100755 (executable)
new mode 100644 (file)
index 3eded06..51f8946
@@ -21,39 +21,39 @@ module org-openroadm-network-media-channel-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility och interfaces.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
old mode 100755 (executable)
new mode 100644 (file)
index 6020d8e..c944745
@@ -21,39 +21,39 @@ module org-openroadm-optical-channel-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility och interfaces.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
old mode 100755 (executable)
new mode 100644 (file)
index 1476de2..e1d39dc
@@ -22,39 +22,39 @@ module org-openroadm-optical-transport-interfaces {
   description
     "This module contains YANG definitions
      for the Optical Transport Interfaces.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
index 3270a5e4b58ec44bf19c2c96e26bbebe3c258489..1b2a9b8f405e520183fa3fb6b99f8c667859ce7f 100644 (file)
@@ -7,46 +7,46 @@ module org-openroadm-otn-common {
   contact
     "OpenROADM.org";
   description
-    "YANG definitions for common OTN interface atrtributes and types. 
-         
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+    "YANG definitions for common OTN interface atrtributes and types.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
-     Also contains code components extracted from IETF Interfaces.  These code components 
+
+     Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
-     All rights reserved. 
-     
-     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating 
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
-     publication of this document. Please review these documents carefully, as they 
-     describe your rights and restrictions with respect to this document. Code Components 
+
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
      extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
   revision 2017-06-26 {
old mode 100755 (executable)
new mode 100644 (file)
index a57e34f..57f1fd5
@@ -29,39 +29,39 @@ module org-openroadm-otn-odu-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility otnodu interfaces.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -270,7 +270,7 @@ module org-openroadm-otn-odu-interfaces {
         enum "not-terminated" {
           description
             "Not Terminated: no detection or generation.
-             Overhead is passed through the interface transparently in receive direction 
+             Overhead is passed through the interface transparently in receive direction
              unless extension is set for erase";
         }
         enum "terminated" {
@@ -282,7 +282,7 @@ module org-openroadm-otn-odu-interfaces {
         enum "monitored" {
           description
             "Monitored: detection enabled.
-             Overhead is passed through the interface transparently in receive direction 
+             Overhead is passed through the interface transparently in receive direction
              unless extension is set for erase";
         }
       }
old mode 100755 (executable)
new mode 100644 (file)
index 76f0833..423bcd2
@@ -29,39 +29,39 @@ module org-openroadm-otn-otu-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility otnotu interfaces.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
old mode 100755 (executable)
new mode 100644 (file)
index 1bf1903..8c6395d
@@ -17,31 +17,31 @@ module org-openroadm-physical-types {
     "OpenROADM.org";
   description
     "YANG definitions of physical types.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2018-10-19 {
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-pluggable-optics-holder-capability@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-pluggable-optics-holder-capability@2018-10-19.yang
new file mode 100644 (file)
index 0000000..b27f58e
--- /dev/null
@@ -0,0 +1,102 @@
+module org-openroadm-pluggable-optics-holder-capability {
+  namespace "http://org/openroadm/pluggable-optics-holder-capability";
+  prefix org-openroadm-pluggable-optics-holder-capability;
+
+  import org-openroadm-device {
+    prefix org-openroadm-device;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-port-capability {
+    prefix org-openroadm-port-capability;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions for pluggable optics holder capability.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.
+
+     Also contains code components extracted from IETF Interfaces.  These code components
+     are copyrighted and licensed as follows:
+
+     Copyright (c) 2017 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
+     extracted from this document must include Simplified BSD License text as described in
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
+     described in the Simplified BSD License.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+
+  grouping pluggable-optics-holder-capability {
+    description
+      "Pluggable optics holder capability parameters.";
+    container pluggable-optics-holder-capability {
+      config false;
+      list supported-circuit-pack-types {
+        key "supported-circuit-pack-type";
+        leaf supported-circuit-pack-type {
+          type string;
+          mandatory true;
+          description
+            "Type of pluggable circuit-pack supported";
+        }
+        list ports {
+          key "port-name";
+          description
+            "Port reference on supported pluggable circuit-pack";
+          leaf port-name {
+            type string;
+            description
+              "Port name";
+          }
+          uses org-openroadm-port-capability:port-capability-grp;
+        }
+      }
+    }
+  }
+
+  augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:cp-slots" {
+    when "org-openroadm-device:slot-type='pluggable-optics-holder'";
+    uses pluggable-optics-holder-capability;
+  }
+}
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-port-capability@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-port-capability@2018-10-19.yang
new file mode 100644 (file)
index 0000000..de1d307
--- /dev/null
@@ -0,0 +1,336 @@
+module org-openroadm-port-capability {
+  namespace "http://org/openroadm/port-capability";
+  prefix org-openroadm-port-capability;
+
+  import org-openroadm-device {
+    prefix org-openroadm-device;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-port-types {
+    prefix org-openroadm-port-types;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-prot-otn-linear-aps {
+    prefix org-openroadm-prot-otn-linear-aps;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-otn-common-types {
+    prefix org-openroadm-otn-common-types;
+    revision-date 2017-12-15;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions for device facility OTN linear APS protection groups.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.
+
+     Also contains code components extracted from IETF Interfaces.  These code components
+     are copyrighted and licensed as follows:
+
+     Copyright (c) 2017 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
+     extracted from this document must include Simplified BSD License text as described in
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
+     described in the Simplified BSD License.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+
+  typedef tcm-direction-capability-type {
+    type enumeration {
+      enum "up-tcm" {
+        description
+          "Port supports up TCM termination, e.g., direction facing the switch fabric";
+      }
+      enum "down-tcm" {
+        description
+          "Port supports down TCM termination, e.g., direction facing out of the equipment ";
+      }
+      enum "up-down-tcm" {
+        description
+          "Port supports both up and down TCM terminations";
+      }
+    }
+    description
+      "TCM direction capability for the port";
+  }
+
+  grouping port-id-grp {
+    leaf circuit-pack-name {
+      type leafref {
+        path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
+      }
+      description
+        "Circuit-Pack identifier. Unique within the context of a device.";
+    }
+    leaf port-name {
+      type leafref {
+        path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
+      }
+      description
+        "Port index identifier. Unique within the context of a circuit-pack.";
+    }
+  }
+
+  grouping slot-id-grp {
+    leaf circuit-pack-name {
+      type leafref {
+        path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
+      }
+      description
+        "Circuit-Pack identifier. Unique within the context of a device.";
+    }
+    leaf slot-name {
+      type leafref {
+        path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:cp-slots/org-openroadm-device:slot-name";
+      }
+      description
+        "cp-slot name. Unique within the context of a circuit-pack.";
+    }
+  }
+
+  grouping port-capability-grp {
+    description
+      "OpenROADM port capability parameters.";
+    container port-capabilities {
+      config false;
+      list supported-interface-capability {
+        key "if-cap-type";
+        description
+          "Supported interface capability on the port.";
+        leaf if-cap-type {
+          type identityref {
+            base org-openroadm-port-types:supported-if-capability;
+          }
+          description
+            "Interface type/hierarchy/rate supported on this port";
+        }
+        container otn-capability {
+          leaf-list if-protection-capability {
+            type identityref {
+              base org-openroadm-prot-otn-linear-aps:otn-protection-type;
+            }
+            description
+              "supported protection types if protection is supported on this port";
+          }
+          leaf proactive-DMp {
+            type boolean;
+            description
+              "ODU PM delay measurement (DMp) (G.709 06-2016 15.8.2.1.6)";
+          }
+          leaf tcm-capable {
+            type boolean;
+            description
+              "only when tcm-capable=true, the following two are applicable (ie, proactive-DMt, tcm-direction";
+          }
+          leaf proactive-DMt {
+            when "../tcm-capable= 'true'";
+            type boolean;
+            description
+              "ODU TCM delay measurement (DMt) (G.709 06-2016 15.8.2.2.8)";
+          }
+          leaf tcm-direction-capability {
+            when "../tcm-capable= 'true'";
+            type tcm-direction-capability-type;
+            description
+              "Supported tcm direction capability on the ODUk associated with the port.";
+          }
+          leaf-list opu-payload-type-mapping {
+            type org-openroadm-otn-common-types:payload-type-def;
+            description
+              "OPU payload-type mapping OPU.";
+          }
+          container mpdr-client-restriction {
+            description
+              "Restriction rules for how LO ODUs are multiplexed into HO ODU
+               and the relation with mapped client ports.";
+            leaf network-ho-odu-circuit-pack-name {
+              type string;
+              mandatory true;
+              description
+                "Circuit-Pack identifier. Unique within the context of a device.";
+            }
+            leaf network-ho-odu-port-name {
+              type string;
+              mandatory true;
+              description
+                "port identifier.";
+            }
+            leaf odtu-type {
+              type identityref {
+                base org-openroadm-otn-common-types:odtu-type-identity;
+              }
+              mandatory true;
+              description
+                "ODTU type, part of the MSI (Multiplex Structure Identifier)";
+            }
+            leaf network-ho-odu-trib-port-number {
+              type uint16 {
+                range "1 .. 80";
+              }
+              mandatory true;
+              description
+                "Tributary port number";
+            }
+            leaf-list network-ho-odu-trib-slots {
+              type uint16 {
+                range "1 .. 80";
+              }
+              min-elements 1;
+              max-elements "80";
+            }
+          }
+          container odu-mux-hierarchy {
+            presence "HO ODU supported hierarchy.";
+            list mux-capability {
+              key "stage-number ho-odu-type ho-odu-payload-type";
+              leaf stage-number {
+                type uint8 {
+                  range "1 .. 2";
+                }
+              }
+              leaf ho-odu-type {
+                type identityref {
+                  base org-openroadm-otn-common-types:odu-rate-identity;
+                }
+              }
+              leaf ho-odu-payload-type {
+                type org-openroadm-otn-common-types:payload-type-def;
+                description
+                  "high order ODU payload type";
+              }
+              leaf-list supported-lo-odu-type {
+                type identityref {
+                  base org-openroadm-otn-common-types:odu-rate-identity;
+                }
+              }
+              leaf lo-odu-proactive-DMp {
+                type boolean;
+                description
+                  "lo order ODU PM delay measurement (DMp) (G.709 06-2016 15.8.2.1.6)";
+              }
+              leaf lo-odu-tcm-capable {
+                type boolean;
+                description
+                  "only when lo-odu-tcm-capable=true, the following two are applicable (ie, lo-odu-proactive-DMt, lo-odu-tcm-direction";
+              }
+              leaf lo-odu-proactive-DMt {
+                when "../lo-odu-tcm-capable= 'true'";
+                type boolean;
+                description
+                  "lo order ODU TCM delay measurement (DMt) (G.709 06-2016 15.8.2.2.8)";
+              }
+              leaf lo-odu-tcm-direction-capability {
+                when "../lo-odu-tcm-capable= 'true'";
+                type tcm-direction-capability-type;
+                description
+                  "Supported tcm direction capability for low order ODU associated with the port.";
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+
+  grouping port-group-restriction-grp {
+    container port-group-restriction {
+      config false;
+      list port-bandwidth-sharing {
+        key "port-sharing-id";
+        leaf port-sharing-id {
+          type uint16;
+        }
+        list port-list {
+          key "circuit-pack-name port-name";
+          uses port-id-grp;
+        }
+        list pluggable-optics-holder-list {
+          key "circuit-pack-name slot-name";
+          uses slot-id-grp;
+        }
+        leaf shared-bandwidth {
+          type uint16;
+          units "Gbps";
+        }
+        list possible-port-config {
+          key "config-id";
+          leaf config-id {
+            type uint16;
+          }
+          list port-if-type-config {
+            key "circuit-pack-name port-name";
+            uses port-id-grp;
+            leaf-list port-if-type {
+              type identityref {
+                base org-openroadm-port-types:supported-if-capability;
+              }
+            }
+          }
+          list slot-if-type-config {
+            key "circuit-pack-name slot-name port-name";
+            uses slot-id-grp;
+            leaf port-name {
+              type string;
+            }
+            leaf-list port-if-type {
+              type identityref {
+                base org-openroadm-port-types:supported-if-capability;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+
+  augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports" {
+    uses port-capability-grp;
+  }
+  augment "/org-openroadm-device:org-openroadm-device" {
+    uses port-group-restriction-grp;
+  }
+}
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-prot-otn-linear-aps@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-prot-otn-linear-aps@2018-10-19.yang
new file mode 100644 (file)
index 0000000..f9add97
--- /dev/null
@@ -0,0 +1,345 @@
+module org-openroadm-prot-otn-linear-aps {
+  namespace "http://org/openroadm/prot/otn-linear-aps";
+  prefix org-openroadm-prot-otn-linear-aps;
+
+  import org-openroadm-device {
+    prefix org-openroadm-device;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions for device facility OTN linear APS protection groups.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.
+
+     Also contains code components extracted from IETF Interfaces.  These code components
+     are copyrighted and licensed as follows:
+
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
+     All rights reserved.
+
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
+     publication of this document. Please review these documents carefully, as they
+     describe your rights and restrictions with respect to this document. Code Components
+     extracted from this document must include Simplified BSD License text as described in
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as
+     described in the Simplified BSD License.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+
+  identity otn-protection-type {
+    description
+      "OTN base protection identity from which
+         specific protection types are derived.";
+  }
+
+  identity odu-one-plus-one {
+    base otn-protection-type;
+    description
+      "ODU Linear Protection 1+1 permanant bridge";
+  }
+
+  grouping odu-sncp-protection-grps {
+    list odu-sncp-pg {
+      key "name";
+      leaf name {
+        type string;
+        description
+          "The odu-sncp-protection-group name";
+      }
+      leaf level {
+        type enumeration {
+          enum "line" {
+            value 1;
+          }
+          enum "path" {
+            value 2;
+          }
+        }
+        mandatory true;
+        description
+          "Designates protection group as Line or Path";
+      }
+      leaf prot-type {
+        type identityref {
+          base otn-protection-type;
+        }
+        default "odu-one-plus-one";
+        description
+          "The type of the protection group.";
+      }
+      leaf switching-direction {
+        type enumeration {
+          enum "unidirectional-switching" {
+            value 1;
+          }
+          enum "bidirectional-switching" {
+            value 2;
+          }
+        }
+        default "unidirectional-switching";
+        description
+          "Bidirectional refers to APS signaling enabled (G.873.1 Table 7-1 Table 8-1).";
+      }
+      leaf revertive {
+        type boolean;
+        default "false";
+        description
+          "Sets reversion behavior.";
+      }
+      leaf mode {
+        type enumeration {
+          enum "SNC/Ne" {
+            value 1;
+            description
+              "applicable to line or path switching";
+          }
+          enum "SNC/Ns" {
+            value 2;
+            description
+              "applicable to line or path switching";
+          }
+          enum "SNC/S" {
+            value 3;
+            description
+              "applicable to line or path switching";
+          }
+          enum "SNC/I" {
+            value 4;
+            description
+              "applicable to line switching only";
+          }
+          enum "CL-SNCG/I" {
+            value 5;
+            description
+              "applicable to line switching only";
+          }
+        }
+        mandatory true;
+        description
+          "Sets the protection mode";
+      }
+      leaf protection-trigger-level {
+        type enumeration {
+          enum "OTUk/ODUkA-SSF-SSD" {
+            value 1;
+            description
+              "applicable to SNC/I";
+          }
+          enum "ODUkP/ODUjA-SSF-SSD" {
+            value 2;
+            description
+              "applicable to CL-SNCG/I";
+          }
+          enum "ODUP-SSF-SSD" {
+            value 3;
+            description
+              "applicable to SNC/Ne";
+          }
+          enum "ODUT1" {
+            value 4;
+            description
+              "applicable to SNC/Ns or SNC/S";
+          }
+          enum "ODUT2" {
+            value 5;
+            description
+              "applicable to SNC/Ns or SNC/S";
+          }
+          enum "ODUT3" {
+            value 6;
+            description
+              "applicable to SNC/Ns or SNC/S";
+          }
+          enum "ODUT4" {
+            value 7;
+            description
+              "applicable to SNC/Ns or SNC/S";
+          }
+          enum "ODUT5" {
+            value 8;
+            description
+              "applicable to SNC/Ns or SNC/S";
+          }
+          enum "ODUT6" {
+            value 9;
+            description
+              "applicable to SNC/Ns or SNC/S";
+          }
+        }
+        description
+          "Indicates switch trigger.";
+      }
+      leaf wait-to-restore {
+        when "../revertive = 'true'";
+        type uint8 {
+          range "1..12";
+        }
+        units "minutes";
+        default "5";
+        description
+          "Wait to restore time in minutes";
+      }
+      container holdoff-timer {
+        leaf holdoff {
+          type uint8 {
+            range "0 | 20 | 100";
+          }
+          units "milliseconds";
+          default "0";
+          description
+            "switch hold-off time in milliseconds";
+        }
+        leaf holdoff-multiplier {
+          when "../holdoff= 100";
+          type uint8 {
+            range "1 .. 100";
+          }
+          default "1";
+          description
+            "switch holdoff time multiplier x100 milliseconds";
+        }
+      }
+      leaf working-if {
+        type leafref {
+          path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
+        }
+        mandatory true;
+        description
+          "Designated work interface";
+      }
+      leaf-list pg-interfaces {
+        type leafref {
+          path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
+        }
+        min-elements 1;
+        description
+          "List of interfaces in the PG";
+      }
+      leaf active-if {
+        type leafref {
+          path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
+        }
+        config false;
+        description
+          "Active interface in the PG";
+      }
+    }
+  }
+
+  rpc odu-sncp-protection-switch {
+    description
+      "ODU SNCP Protection Switch RPC with synchronous implementation";
+    input {
+      leaf protection-group {
+        type leafref {
+          path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:protection-grps/org-openroadm-prot-otn-linear-aps:odu-sncp-pg/org-openroadm-prot-otn-linear-aps:name";
+        }
+        mandatory true;
+        description
+          "Target protection group";
+      }
+      leaf pg-interface {
+        type leafref {
+          path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
+        }
+        mandatory true;
+        description
+          "Target protection group interface";
+      }
+      leaf switch-command {
+        type enumeration {
+          enum "Lock-Out-Protect" {
+            value 1;
+          }
+          enum "Force-Switch" {
+            value 2;
+          }
+          enum "Manual-Switch" {
+            value 3;
+          }
+          enum "Release" {
+            value 4;
+          }
+        }
+      }
+    }
+    output {
+      uses org-openroadm-common-types:rpc-response-status;
+    }
+  }
+  notification odu-sncp-pg-switch-event {
+    leaf switch-status {
+      type enumeration {
+        enum "switched-to-protect" {
+          value 1;
+        }
+        enum "switched-back-to-working" {
+          value 2;
+        }
+      }
+      description
+        "Completed protection switch";
+    }
+    leaf odu-sncp-pg-name {
+      type string;
+      description
+        "The odu-sncp-protection-group name";
+    }
+  }
+  augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:protection-grps" {
+    uses odu-sncp-protection-grps;
+  }
+}
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-rstp@2018-10-19.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-rstp@2018-10-19.yang
new file mode 100644 (file)
index 0000000..7b70b45
--- /dev/null
@@ -0,0 +1,351 @@
+module org-openroadm-rstp {
+  namespace "http://org/openroadm/rstp";
+  prefix org-openroadm-rstp;
+
+  import org-openroadm-device {
+    prefix org-openroadm-device;
+    revision-date 2018-10-19;
+  }
+  import org-openroadm-resource-types {
+    prefix org-openroadm-resource-types;
+    revision-date 2018-10-19;
+  }
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions for rstp protocol.
+
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  typedef bridge-id-type {
+    type string;
+    description
+      "Unique Bridge Identifier";
+  }
+
+  grouping rstp-common-bridge-config {
+    leaf bridge-priority {
+      type uint32 {
+        range "0..61440";
+      }
+      default "32768";
+      description
+        "Bridge Priority Value";
+    }
+    leaf shutdown {
+      type empty;
+      description
+        "Bridge admin state";
+    }
+    leaf hold-time {
+      type uint32 {
+        range "1..10";
+      }
+      default "2";
+      description
+        "The time interval during which no more than two
+            BPDUs transmitted by this node in seconds - not used in rstp mode (in seconds)";
+    }
+    leaf hello-time {
+      type uint32 {
+        range "1..2";
+      }
+      default "2";
+      description
+        "The time between the transmission of BPDU's by this node on any
+            port, when role is root (in seconds)";
+    }
+    leaf max-age {
+      type uint32 {
+        range "6..40";
+      }
+      default "20";
+      description
+        "The value that all bridges use for MaxAge when this bridge
+            is acting as the root";
+    }
+    leaf forward-delay {
+      type uint32 {
+        range "4..30";
+      }
+      default "15";
+      description
+        "The port on the Switch spends this time in the listening
+            state while moving from the blocking state to the forwarding state (in seconds)";
+    }
+    leaf transmit-hold-count {
+      type uint32 {
+        range "1..10";
+      }
+      default "2";
+      description
+        "Maximum BPDU transmission rate";
+    }
+  }
+
+  grouping rstp-root-bridge-attr {
+    leaf root-bridge-port {
+      type uint32;
+      description
+        "Port id of the root port";
+    }
+    leaf root-path-cost {
+      type uint32;
+      description
+        "The cost of the path to the root as
+               seen from this bridge";
+    }
+    leaf root-bridge-priority {
+      type uint32;
+      description
+        "Root Bridge Priority Value";
+    }
+    leaf root-bridge-id {
+      type bridge-id-type;
+      description
+        "Root Bridge identifier";
+    }
+    leaf root-hold-time {
+      type uint32;
+      description
+        "The time interval during which no more than two
+               BPDUs transmitted by this node in seconds at root node (in seconds)";
+    }
+    leaf root-hello-time {
+      type uint32;
+      description
+        "The time between the transmission of BPDU's used at root node (in seconds)";
+    }
+    leaf root-max-age {
+      type uint32;
+      description
+        "The value that all bridges use for MaxAge used at root node";
+    }
+    leaf root-forward-delay {
+      type uint32;
+      description
+        "The time in seconds spent on the listening state used at root node (in seconds)";
+    }
+  }
+
+  grouping rstp-bridge-port-state-attr {
+    list rstp-bridge-port-table {
+      key "ifname";
+      max-elements "15";
+      description
+        "This table contains port-specific information for rstp state attributes";
+      leaf ifname {
+        type string {
+          length "1..255";
+        }
+        description
+          "Interface name of the port";
+      }
+      leaf bridge-port-state {
+        type enumeration {
+          enum "discarding";
+          enum "blocked";
+          enum "learning";
+          enum "forwarding";
+          enum "unknown";
+        }
+        description
+          "The port's current state";
+      }
+      leaf bridge-port-role {
+        type enumeration {
+          enum "designated";
+          enum "root";
+          enum "alternate";
+          enum "disabled";
+          enum "backup";
+          enum "unknown";
+        }
+        description
+          "The role payed by this port in the bridge";
+      }
+      leaf bridge-port-id {
+        type uint32;
+        description
+          "Unique port id of this port";
+      }
+      leaf oper-edge-bridge-port {
+        type empty;
+        description
+          "The operational value of the Edge Port parameter";
+      }
+      leaf designated-bridge-port {
+        type uint32;
+        description
+          "Port id of the designated port";
+      }
+      leaf designated-bridgeid {
+        type bridge-id-type;
+        description
+          "The Bridge Identifier of the bridge that this port considers
+           to be the Designated Bridge for this port's segment";
+      }
+    }
+  }
+
+  grouping rstp-bridge-port-attr {
+    list rstp-bridge-port-table {
+      key "ifname";
+      max-elements "15";
+      description
+        "Table contains port-specific information for rstp config";
+      leaf ifname {
+        type leafref {
+          path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
+        }
+        description
+          "Interface name of the port";
+      }
+      leaf cost {
+        type uint32 {
+          range "2000..200000";
+        }
+        default "20000";
+        description
+          "The contribution of this port to the path cost of
+                 paths towards the spanning tree root which include this port also";
+      }
+      leaf priority {
+        type uint32 {
+          range "0..240";
+        }
+        description
+          "The value of the priority field";
+      }
+    }
+  }
+
+  grouping rstp-container {
+    container rstp {
+      description
+        "Open ROADM RSTP top level";
+      list rstp-bridge-instance {
+        key "bridge-name";
+        max-elements "1";
+        description
+          "rstp bridge instance, max instance = 1";
+        leaf bridge-name {
+          type string {
+            length "1..255";
+          }
+          description
+            "unique name of the bridge";
+        }
+        container rstp-config {
+          description
+            "Collection of rstp configuration attributes";
+          uses rstp-common-bridge-config;
+          uses rstp-bridge-port-attr;
+        }
+        container rstp-state {
+          config false;
+          description
+            "Collection of rstp operational attributes";
+          container rstp-bridge-attr {
+            description
+              "Collection of operational rstp bridge attributes";
+            uses rstp-root-bridge-attr;
+            leaf bridge-id {
+              type bridge-id-type;
+              description
+                "Bridge identifier of the bridge";
+            }
+            leaf topo-change-count {
+              type uint32;
+              description
+                "The total number of topology changes";
+            }
+            leaf time-since-topo-change {
+              type uint32;
+              description
+                "Time since last topology changes occurred (in seconds)";
+            }
+          }
+          container rstp-bridge-port-attr {
+            description
+              "Collection of operational rstp port related attributes";
+            uses rstp-bridge-port-state-attr;
+          }
+        }
+      }
+    }
+  }
+
+  notification rstp-topology-change {
+    description
+      "RSTP: A topologyChange event is sent by a bridge when any of
+       its configured ports transitions from the Learning state
+       to the Forwarding state, or from the Forwarding state to
+       the Blocking state. The event is not sent if a rstp-new-root
+       event is sent for the same transition";
+    uses org-openroadm-resource-types:device-id;
+  }
+  notification rstp-new-root {
+    description
+      "RSTP:The rstp-new-root event indicates that the sending agent has
+       become the new root of the Spanning Tree ";
+    uses org-openroadm-resource-types:device-id;
+  }
+  augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:protocols" {
+    when "/org-openroadm-device:org-openroadm-device/org-openroadm-device:info/org-openroadm-device:node-type='rdm' or /org-openroadm-device:org-openroadm-device/org-openroadm-device:info/org-openroadm-device:node-type='ila'";
+    uses rstp-container;
+  }
+}
old mode 100755 (executable)
new mode 100644 (file)
index 39a649a..03c5416
@@ -17,31 +17,31 @@ module org-openroadm-swdl {
     "OpenROADM.org";
   description
     "Yang definitions for System Management.
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2018-10-19 {
index 54af61427ba8c245cb1e0347b2705ca90afd34a7..986dd788e5210a37f11b13ced6ed48b0a9931d2c 100644 (file)
@@ -12,41 +12,41 @@ module org-openroadm-syslog {
   contact
     "OpenROADM.org";
   description
-    "This module contains a collection of YANG definitions 
-     for Syslog configuration.                                               
-     
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+    "This module contains a collection of YANG definitions
+     for Syslog configuration.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
      AT&T Intellectual Property.  All other rights reserved.
-     
-     Redistribution and use in source and binary forms, with or without modification, 
+
+     Redistribution and use in source and binary forms, with or without modification,
      are permitted provided that the following conditions are met:
-     
-     * Redistributions of source code must retain the above copyright notice, this 
+
+     * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice, 
-       this list of conditions and the following disclaimer in the documentation and/or 
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
-       contributors may be used to endorse or promote products derived from this software 
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
        without specific prior written permission.
-     
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.
-     
+
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-     
+
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-     
+
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -75,8 +75,8 @@ module org-openroadm-syslog {
 
   feature selector-sevop-config {
     description
-      "This feature represents the ability to select messages 
-       using the additional operators equal to, or not equal to 
+      "This feature represents the ability to select messages
+       using the additional operators equal to, or not equal to
        when comparing the Syslog message severity.";
   }
 
@@ -136,13 +136,13 @@ module org-openroadm-syslog {
       enum "all" {
         value 8;
         description
-          "This enum describes the case where all severities 
+          "This enum describes the case where all severities
            are selected.";
       }
       enum "none" {
         value 9;
         description
-          "This enum describes the case where no severities 
+          "This enum describes the case where no severities
            are selected.";
       }
     }
@@ -153,15 +153,15 @@ module org-openroadm-syslog {
 
   grouping syslog-severity {
     description
-      "This grouping defines the Syslog severity which is used to 
+      "This grouping defines the Syslog severity which is used to
        select log messages.";
     leaf severity {
       type severity;
       mandatory true;
       description
-        "This leaf specifies the Syslog message severity. When 
-         severity is specified, the default severity comparison 
-         is all messages of the specified severity and greater are 
+        "This leaf specifies the Syslog message severity. When
+         severity is specified, the default severity comparison
+         is all messages of the specified severity and greater are
          selected. 'all' is a special case which means all severities
          are selected. 'none' is a special case which means that
          no selection should occur or disable this filter.";
@@ -171,75 +171,75 @@ module org-openroadm-syslog {
         "../severity != 'all' and
                     ../severity != 'none'" {
         description
-          "The severity-operator is not applicable for severity 'all' or 
+          "The severity-operator is not applicable for severity 'all' or
            severity 'none'";
       }
       if-feature "selector-sevop-config";
       type enumeration {
         enum "equals-or-higher" {
           description
-            "This enum specifies all messages of the specified 
-             severity and higher are logged according to the 
+            "This enum specifies all messages of the specified
+             severity and higher are logged according to the
              given log-action";
         }
         enum "equals" {
           description
-            "This enum specifies all messages that are for 
-             the specified severity are logged according to the 
+            "This enum specifies all messages that are for
+             the specified severity are logged according to the
              given log-action";
         }
         enum "not-equals" {
           description
-            "This enum specifies all messages that are not for 
-             the specified severity are logged according to the 
+            "This enum specifies all messages that are not for
+             the specified severity are logged according to the
              given log-action";
         }
       }
       default "equals-or-higher";
       description
-        "This leaf describes the option to specify how the 
+        "This leaf describes the option to specify how the
          severity comparison is performed.";
     }
   }
 
   grouping syslog-selector {
     description
-      "This grouping defines a Syslog selector which is used to 
-       select log messages for the log-action (buffer, file, 
+      "This grouping defines a Syslog selector which is used to
+       select log messages for the log-action (buffer, file,
        etc). Choose one of the following:
          no-log-facility
          log-facility [<facility> <severity>...]";
     container log-selector {
       description
-        "This container describes the log selector parameters 
+        "This container describes the log selector parameters
          for Syslog.";
       choice selector-facility {
         mandatory true;
         description
-          "This choice describes the option to specify no 
+          "This choice describes the option to specify no
            facilities, or a specific facility which can be
            all for all facilities.";
         case no-log-facility {
           description
-            "This case specifies no facilities will match when 
-             comparing the Syslog message facility. This is a 
-             method that can be used to effectively disable a 
+            "This case specifies no facilities will match when
+             comparing the Syslog message facility. This is a
+             method that can be used to effectively disable a
              particular log-action (buffer, file, etc).";
           leaf no-facilities {
             type empty;
             description
-              "This leaf specifies that no facilities are selected 
+              "This leaf specifies that no facilities are selected
                for this log-action.";
           }
         }
         case log-facility {
           description
-            "This case specifies one or more specified facilities 
+            "This case specifies one or more specified facilities
              will match when comparing the Syslog message facility.";
           list log-facility {
             key "facility";
             description
-              "This list describes a collection of Syslog 
+              "This list describes a collection of Syslog
                facilities and severities.";
             leaf facility {
               type union {
@@ -249,7 +249,7 @@ module org-openroadm-syslog {
                 type enumeration {
                   enum "all" {
                     description
-                      "This enum describes the case where all 
+                      "This enum describes the case where all
                        facilities are requested.";
                   }
                 }
@@ -266,28 +266,28 @@ module org-openroadm-syslog {
 
   container syslog {
     description
-      "This container describes the configuration parameters for 
+      "This container describes the configuration parameters for
        Syslog.";
     leaf local-syslog-filename {
       type string;
       config false;
       mandatory true;
       description
-        "The syslog file name. It should be a fully qualified name 
+        "The syslog file name. It should be a fully qualified name
          so that the user can get the file using transfer RPC.";
     }
     container log-actions {
       description
-        "This container describes the log-action parameters 
+        "This container describes the log-action parameters
          for Syslog.";
       container remote {
         description
-          "This container describes the configuration parameters for 
+          "This container describes the configuration parameters for
            remote logging.";
         list destination {
           key "name";
           description
-            "This list describes a collection of remote logging 
+            "This list describes a collection of remote logging
              destinations.";
           leaf name {
             type string;
@@ -307,16 +307,16 @@ module org-openroadm-syslog {
                 leaf address {
                   type inet:host;
                   description
-                    "The leaf uniquely specifies the address of 
-                     the remote host. One of the following must 
-                     be specified: an ipv4 address, an ipv6 
+                    "The leaf uniquely specifies the address of
+                     the remote host. One of the following must
+                     be specified: an ipv4 address, an ipv6
                      address, or a host name.";
                 }
                 leaf port {
                   type inet:port-number;
                   default "514";
                   description
-                    "This leaf specifies the port number used to 
+                    "This leaf specifies the port number used to
                      deliver messages to the remote server.";
                 }
               }
@@ -330,16 +330,16 @@ module org-openroadm-syslog {
                 leaf address {
                   type inet:host;
                   description
-                    "The leaf uniquely specifies the address of 
-                     the remote host. One of the following must be 
-                     specified: an ipv4 address, an ipv6 address, 
+                    "The leaf uniquely specifies the address of
+                     the remote host. One of the following must be
+                     specified: an ipv4 address, an ipv6 address,
                      or a host name.";
                 }
                 leaf port {
                   type inet:port-number;
                   default "514";
                   description
-                    "This leaf specifies the port number used to 
+                    "This leaf specifies the port number used to
                      deliver messages to the remote server.";
                 }
               }
diff --git a/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-wavelength-map@2017-12-15.yang b/tests/honeynode/2.2.1/honeynode-plugin-api/src/main/yang/device221/org-openroadm-wavelength-map@2017-12-15.yang
new file mode 100644 (file)
index 0000000..3f254e3
--- /dev/null
@@ -0,0 +1,76 @@
+module org-openroadm-wavelength-map {
+  namespace "http://org/openroadm/wavelength-map";
+  prefix org-openroadm-wavelength-map;
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions for mapping wavelength-number to center frequency and wavelength value.
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     AT&T Intellectual Property.  All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  grouping wavelength-map-g {
+    list wavelengths {
+      key "wavelength-number";
+      config false;
+      leaf wavelength-number {
+        type uint32;
+      }
+      leaf center-frequency {
+        type decimal64 {
+          fraction-digits 3;
+          range "191.350..196.100";
+        }
+        units "THz";
+        description
+          "Frequency of the transmit optical channel
+           Domain range:  191.350THz .. 196.100THz ";
+      }
+      leaf wavelength {
+        type decimal64 {
+          fraction-digits 2;
+          range "1528.77..1566.72";
+        }
+        units "nm";
+        description
+          "Lambda corresponding to transmit frequency
+           Domain range:  1528.72nm .. 1566.72nm ";
+      }
+    }
+  }
+}
index e1e6916a8062447c2fb17718ea1a1c66d0e08024..03bd6f5f3dfbc2754b8399be02661fc2c9ccdb57 100644 (file)
@@ -150,15 +150,15 @@ public final class DeviceConfiguration {
             transformer = factory.newTransformer(xslt);
             text = new StreamSource(new File(classLoader.getResource(DEVICE_DATA_SAMPLE_OPER_XML).getFile()));
             transformer.transform(text, new StreamResult(tmpwriter));
-            LOG.info("removing namespace ...");
-            xslt = new StreamSource(new File(classLoader.getResource(NAMESPACE_TRIMER_XSL).getFile()));
-            transformer = factory.newTransformer(xslt);
+//            LOG.info("removing namespace ...");
+//            xslt = new StreamSource(new File(classLoader.getResource(NAMESPACE_TRIMER_XSL).getFile()));
+//            transformer = factory.newTransformer(xslt);
             reader = new StringReader(tmpwriter.toString());
             StringWriter device_config = new StringWriter();
             text = new StreamSource(reader);
             transformer.transform(text, new StreamResult(device_config));
-            result = device_config.toString();
-//            LOG.info("DeviceConfiguration - operToCconfig - result = {}", result);
+            result = tmpwriter.toString();
+            LOG.info("DeviceConfiguration - operToCconfig - result = {}", result);
         } catch (TransformerException e) {
             LOG.error("Transformer failed ");
         }
index b26e4fc4707b19da04f6642ddc904a1d734b1f10..7b5152fcdbfbfe15820cb39bb139bf6d7048787f 100644 (file)
@@ -6,48 +6,48 @@ xmlns:oor="http://org/openroadm/device"
 exclude-result-prefixes="oor d">
 
   <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
-  
+
   <xsl:template match="/">
     <xsl:element name="config" namespace="urn:ietf:params:xml:ns:netconf:base:1.0">
     <xsl:element name="org-openroadm-device" namespace="http://org/openroadm/device">
-    <xsl:element name="info">
+    <xsl:element name="info" namespace="http://org/openroadm/device">
       <xsl:apply-templates select="d:data/oor:org-openroadm-device/oor:info"/>
     </xsl:element>
 
     <xsl:copy-of select="d:data/oor:org-openroadm-device/oor:users" />
 
     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:shelves">
-      <xsl:element name="shelves" >
+      <xsl:element name="shelves" namespace="http://org/openroadm/device">
         <xsl:call-template name="shelve-body"/>
       </xsl:element>
     </xsl:for-each>
 
     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:circuit-packs">
-      <xsl:element name="circuit-packs" >
+      <xsl:element name="circuit-packs" namespace="http://org/openroadm/device">
         <xsl:call-template name="cp-body"/>
       </xsl:element>
     </xsl:for-each>
-    
+
     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:interface">
         <xsl:element name="interface" namespace="http://org/openroadm/device">
             <xsl:call-template name="inter-body"/>
         </xsl:element>
     </xsl:for-each>
-    
+
     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:protocols">
-        <xsl:element name="protocols" >
+        <xsl:element name="protocols" namespace="http://org/openroadm/device">
             <xsl:call-template name="proto-body"/>
         </xsl:element>
     </xsl:for-each>
 
     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:degree">
-      <xsl:element name="degree" >
+      <xsl:element name="degree" namespace="http://org/openroadm/device">
         <xsl:call-template name="degree-body"/>
       </xsl:element>
     </xsl:for-each>
 
     <xsl:for-each select="d:data/oor:org-openroadm-device/oor:shared-risk-group">
-      <xsl:element name="shared-risk-group" >
+      <xsl:element name="shared-risk-group" namespace="http://org/openroadm/device">
         <xsl:call-template name="srg-body"/>
       </xsl:element>
     </xsl:for-each>
@@ -55,13 +55,13 @@ exclude-result-prefixes="oor d">
     </xsl:element>
     </xsl:element>
   </xsl:template>
-  
+
   <xsl:template match="oor:info">
     <xsl:for-each select="./*">
       <xsl:if test="name(.) = 'node-id' or name(.) = 'node-number' or name(.) = 'node-type' or name(.) = 'clli' or name(.) = 'ipAddress' or name(.) = 'prefix-length' or name(.) = 'defaultGateway' or name(.) = 'template' or name(.) = 'geoLocation'">
         <xsl:copy-of select="." />
       </xsl:if>
-     </xsl:for-each> 
+     </xsl:for-each>
   </xsl:template>
 
   <xsl:template name="shelve-body">
@@ -79,27 +79,42 @@ exclude-result-prefixes="oor d">
       </xsl:if>
       <xsl:if test="name(.) = 'ports'">
         <xsl:for-each select=".">
-          <xsl:element name="ports" >
+          <xsl:element name="ports" namespace="http://org/openroadm/device">
             <xsl:call-template name="ports-body"/>
           </xsl:element>
         </xsl:for-each>
       </xsl:if>
-     </xsl:for-each> 
+     </xsl:for-each>
   </xsl:template>
 
   <xsl:template name="inter-body">
     <xsl:for-each select="./*">
-        <xsl:if test="not(name(.) = 'operational-state' or name(.) = 'ethernet')">
+        <xsl:if test="not(name(.) = 'operational-state' or name(.) = 'ethernet' or name(.) = 'och' or name(.) = 'otu'  or name(.) = 'odu')">
           <xsl:copy-of select="." />
         </xsl:if>
         <xsl:if test="name(.)='ethernet'">
-          <xsl:element name="ethernet">
+          <xsl:element name="ethernet" xmlns="http://org/openroadm/ethernet-interfaces">
             <xsl:call-template name="eth-body"/>
           </xsl:element>
         </xsl:if>
+        <xsl:if test="name(.)='och'">
+          <xsl:element name="och" xmlns="http://org/openroadm/optical-channel-interfaces">
+            <xsl:call-template name="och-body"/>
+          </xsl:element>
+        </xsl:if>
+        <xsl:if test="name(.)='otu'">
+          <xsl:element name="otu" xmlns="http://org/openroadm/otn-otu-interfaces">
+            <xsl:call-template name="otu-body"/>
+          </xsl:element>
+        </xsl:if>
+        <xsl:if test="name(.)='odu'">
+          <xsl:element name="odu" xmlns="http://org/openroadm/otn-odu-interfaces">
+            <xsl:call-template name="odu-body"/>
+          </xsl:element>
+        </xsl:if>
     </xsl:for-each>
   </xsl:template>
-  
+
    <xsl:template name="eth-body">
     <xsl:for-each select="./*">
       <xsl:if test="not(name(.) = 'curr-speed' or name(.)='curr-duplex') ">
@@ -108,16 +123,53 @@ exclude-result-prefixes="oor d">
     </xsl:for-each>
   </xsl:template>
 
+   <xsl:template name="och-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.) = 'width') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="otu-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.)='accepted-sapi' or name(.) = 'accepted-dapi' or name(.)='accepted-operator' or name(.)='tim-act-enabled') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="odu-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.)='no-oam-function' or name(.)='accepted-sapi' or name(.) = 'accepted-dapi' or name(.)='accepted-operator' or name(.)='tim-act-enabled' or name(.)='opu') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+      <xsl:if test="name(.)='opu'">
+        <xsl:element name="opu" xmlns="http://org/openroadm/otn-odu-interfaces">
+          <xsl:call-template name="opu-body"/>
+        </xsl:element>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="opu-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.)='rx-payload-type' or name(.) = 'msi') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
   <xsl:template name="proto-body">
     <xsl:for-each select="./*">
       <xsl:if test="name(.) = 'lldp'">
         <xsl:for-each select=".">
-          <xsl:element name="lldp" >
+          <xsl:element name="lldp" xmlns="http://org/openroadm/lldp">
             <xsl:call-template name="lldp-body"/>
           </xsl:element>
         </xsl:for-each>
       </xsl:if>
-     </xsl:for-each> 
+     </xsl:for-each>
   </xsl:template>
 
   <xsl:template name="ports-body">
@@ -127,7 +179,7 @@ exclude-result-prefixes="oor d">
       </xsl:if>
     </xsl:for-each>
   </xsl:template>
-  
+
   <xsl:template name="lldp-body">
     <xsl:for-each select="./*">
       <xsl:if test="not(name(.) = 'nbr-list') ">
@@ -135,7 +187,7 @@ exclude-result-prefixes="oor d">
       </xsl:if>
     </xsl:for-each>
   </xsl:template>
-  
+
   <xsl:template name="degree-body">
     <xsl:for-each select="./*">
       <xsl:if test="not(name(.) = 'max-wavelengths')">
index 50350a852238cb676ec7c525f703dc4cb876aaba..a68b6c0d0d8780c1500a9998a875cf2975e18eed 100644 (file)
@@ -5,8 +5,8 @@
         </xsl:copy>
     </xsl:template>
     <xsl:template match="/">
-        <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+        <!-- config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"-->
             <xsl:apply-templates/>
-        </config>
+        <!-- /config-->
     </xsl:template>
 </xsl:stylesheet>
\ No newline at end of file