+++ /dev/null
-#!/bin/bash
-
-# It may require to call git submodule update --init
-
-set -e
-
-yang="\
-mdsal/model/iana/iana-afn-safi/src/main/yang/iana-afn-safi@2013-07-04.yang \
-mdsal/model/ietf/ietf-inet-types-2013-07-15/src/main/yang/ietf-inet-types@2013-07-15.yang \
-mdsal/model/ietf/ietf-yang-types-20130715/src/main/yang/ietf-yang-types@2013-07-15.yang \
-netconf/netconf/models/ietf-netconf/src/main/yang/ietf-netconf@2011-06-01.yang \
-netconf/netconf/models/ietf-netconf-notifications/src/main/yang/ietf-netconf-notifications@2012-02-06.yang \
-netconf/netconf/models/ietf-netconf-notifications/src/main/yang/notifications@2008-07-14.yang"
-
-rm -rf netconf mdsal && git submodule update --init
-(cd netconf && patch -p1 < ../netconf.patch)
-
-(cd netconf/netconf/tools/netconf-testtool && mvn clean install -DskipTests)
-#Honeynode build
-(cd honeynode && mvn clean install -DskipTests -s fd_io_honeycomb_settings.xml)
-chmod +x ./honeynode/honeynode-distribution/target/honeynode-distribution-1.18.01-hc/honeynode-distribution-1.18.01/honeycomb-tpce
-rm -rf schemas && mkdir -p schemas
-#sample config for ordm 2.x are not yet ready
-#cp -r ../ordmodels/common/src/main/yang/org-openroadm-* schemas
-#cp -r ../ordmodels/device/src/main/yang/org-openroadm-* schemas
-#rm schemas/org-openroadm-otn-common-types@2016-10-14.yang
-#we expect that the ODL instance compiled with ordm 2.x models will be compatible with ordm 1.2.1 devices
-cp ordmodels_1.2.1/org-openroadm-* schemas
-cp ${yang} schemas
-mkdir -p transportpce_tests/log/
-
-exit $?
--- /dev/null
+#!/bin/bash
+
+set -e
+
+(cd honeynode && mvn clean install -DskipTests -s fd_io_honeycomb_settings.xml)
+chmod +x ./honeynode/honeynode-distribution/target/honeynode-distribution-1.18.01-hc/honeynode-distribution-1.18.01/honeycomb-tpce
+
+exit $?
<logical-connection-point>SRG1-CP-TXRX</logical-connection-point>
</ports>
</circuit-packs>
+ <circuit-packs>
+ <circuit-pack-name>5/0</circuit-pack-name>
+ <circuit-pack-type>ADDDROP</circuit-pack-type>
+ <administrative-state>inService</administrative-state>
+ <vendor>vendorA</vendor>
+ <model>16CX4D</model>
+ <clei>cccccccc</clei>
+ <operational-state>inService</operational-state>
+ <equipment-state>not-reserved-available</equipment-state>
+ <circuit-pack-mode>NORMAL</circuit-pack-mode>
+ <shelf>4</shelf>
+ <slot>0</slot>
+ <subSlot>0</subSlot>
+ <ports>
+ <port-name>C1</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP1</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C10</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP10</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C11</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP11</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C12</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP12</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C13</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP13</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C14</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP14</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C15</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP15</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C16</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP16</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C2</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP2</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C3</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP3</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C4</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP4</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C5</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG5-PP5</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C6</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP6</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C7</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP7</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C8</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP8</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>C9</port-name>
+ <port-type>Client</port-type>
+ <port-qual>roadm-external</port-qual>
+ <port-wavelength-type>wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-PP9</logical-connection-point>
+ <roadm-port>
+ <port-power-capability-min-rx>-15.0</port-power-capability-min-rx>
+ <port-power-capability-min-tx>-28.0</port-power-capability-min-tx>
+ <port-power-capability-max-rx>10.0</port-power-capability-max-rx>
+ <port-power-capability-max-tx>15.0</port-power-capability-max-tx>
+ </roadm-port>
+ </ports>
+ <ports>
+ <port-name>AD-DEG1</port-name>
+ <port-type>Edge</port-type>
+ <port-qual>roadm-internal</port-qual>
+ <port-wavelength-type>multi-wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-CP-TXRX</logical-connection-point>
+ </ports>
+ <ports>
+ <port-name>AD-DEG2</port-name>
+ <port-type>Edge</port-type>
+ <port-qual>roadm-internal</port-qual>
+ <port-wavelength-type>multi-wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-CP-TXRX</logical-connection-point>
+ </ports>
+ <ports>
+ <port-name>AD-DEG3</port-name>
+ <port-type>Edge</port-type>
+ <port-qual>roadm-internal</port-qual>
+ <port-wavelength-type>multi-wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-CP-TXRX</logical-connection-point>
+ </ports>
+ <ports>
+ <port-name>AD-DEG4</port-name>
+ <port-type>Edge</port-type>
+ <port-qual>roadm-internal</port-qual>
+ <port-wavelength-type>multi-wavelength</port-wavelength-type>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <operational-state>inService</operational-state>
+ <logical-connection-point>SRG3-CP-TXRX</logical-connection-point>
+ </ports>
+ </circuit-packs>
<interface>
<name>oms-2/0/0/L1</name>
<type xmlns:openROADM-if="http://org/openroadm/interfaces">openROADM-if:openROADMOpticalMultiplex</type>
<circuit-pack-name>4/0</circuit-pack-name>
</circuit-packs>
</shared-risk-group>
+ <shared-risk-group>
+ <srg-number>3</srg-number>
+ <max-add-drop-ports>16</max-add-drop-ports>
+ <wavelengthDuplication>onePerSRG</wavelengthDuplication>
+ <circuit-packs>
+ <index>1</index>
+ <circuit-pack-name>5/0</circuit-pack-name>
+ </circuit-packs>
+ </shared-risk-group>
<connection-map>
<connection-map-number>1</connection-map-number>
<source>
<cp-slots>
<slot-name>1</slot-name>
<label>1</label>
- <provisioned-circuit-pack>1/0/1-PLUG-NET
- </provisioned-circuit-pack>
+ <provisioned-circuit-pack>1/0/1-PLUG-NET</provisioned-circuit-pack>
</cp-slots>
<cp-slots>
<slot-name>2</slot-name>
<label>2</label>
- <provisioned-circuit-pack>1/0/2-PLUG-CLIENT
- </provisioned-circuit-pack>
+ <provisioned-circuit-pack>1/0/2-PLUG-NET</provisioned-circuit-pack>
+ </cp-slots>
+ <cp-slots>
+ <slot-name>C1</slot-name>
+ <label>C1</label>
+ <provisioned-circuit-pack>1/0/C1-PLUG-CLIENT</provisioned-circuit-pack>
+ </cp-slots>
+ <cp-slots>
+ <slot-name>C2</slot-name>
+ <label>C2</label>
+ <provisioned-circuit-pack>1/0/C2-PLUG-CLIENT</provisioned-circuit-pack>
+ </cp-slots>
+ <cp-slots>
+ <slot-name>C3</slot-name>
+ <label>C3</label>
+ <provisioned-circuit-pack>1/0/C3-PLUG-CLIENT</provisioned-circuit-pack>
+ </cp-slots>
+ <cp-slots>
+ <slot-name>C4</slot-name>
+ <label>C4</label>
+ <provisioned-circuit-pack>1/0/C4-PLUG-CLIENT</provisioned-circuit-pack>
+ </cp-slots>
+ <cp-slots>
+ <slot-name>PWR</slot-name>
+ <label>PWR</label>
+ <provisioned-circuit-pack>1/0/PWR</provisioned-circuit-pack>
</cp-slots>
</circuit-packs>
<circuit-packs>
<port-direction>bidirectional</port-direction>
<circuit-id>XPDRA-NETWORK</circuit-id>
<administrative-state>inService</administrative-state>
- <logical-connection-point>NETWORK1</logical-connection-point>
+ <logical-connection-point>XPDR1-NETWORK1</logical-connection-point>
<transponder-port>
</transponder-port>
</ports>
</circuit-packs>
<circuit-packs>
- <circuit-pack-name>1/0/2-PLUG-CLIENT</circuit-pack-name>
+ <circuit-pack-name>1/0/2-PLUG-NET</circuit-pack-name>
+ <circuit-pack-type>pluggable</circuit-pack-type>
+ <administrative-state>inService</administrative-state>
+ <vendor>vendorA</vendor>
+ <model>CFP2</model>
+ <serial-id>ssss</serial-id>
+ <type>Coherent</type>
+ <product-code>T100N</product-code>
+ <manufacture-date>2017-04-01T00:00:00+00:00</manufacture-date>
+ <clei>tttt</clei>
+ <hardware-version>01</hardware-version>
+ <operational-state>inService</operational-state>
+ <circuit-pack-category>
+ <type>other</type>
+ </circuit-pack-category>
+ <equipment-state>not-reserved-available</equipment-state>
+ <circuit-pack-mode>NORMAL</circuit-pack-mode>
+ <shelf>1</shelf>
+ <slot>0</slot>
+ <subSlot>2</subSlot>
+ <due-date>2017-04-14T15:56:10+00:00</due-date>
+ <parent-circuit-pack>
+ <circuit-pack-name>1/0</circuit-pack-name>
+ <cp-slot-name>2</cp-slot-name>
+ </parent-circuit-pack>
+ <ports>
+ <port-name>2</port-name>
+ <port-type>CFP2</port-type>
+ <port-qual>xpdr-network</port-qual>
+ <port-direction>bidirectional</port-direction>
+ <administrative-state>inService</administrative-state>
+ <logical-connection-point></logical-connection-point>
+ <transponder-port>
+ </transponder-port>
+ </ports>
+ </circuit-packs>
+ <circuit-packs>
+ <circuit-pack-name>1/0/C1-PLUG-CLIENT</circuit-pack-name>
<circuit-pack-type>pluggable</circuit-pack-type>
<administrative-state>inService</administrative-state>
<vendor>vendorA</vendor>
<due-date>2017-04-14T15:56:10+00:00</due-date>
<parent-circuit-pack>
<circuit-pack-name>1/0</circuit-pack-name>
- <cp-slot-name>2</cp-slot-name>
+ <cp-slot-name>C1</cp-slot-name>
</parent-circuit-pack>
<ports>
- <port-name>1</port-name>
+ <port-name>C1</port-name>
<port-type>QSFP28</port-type>
<port-qual>xpdr-client</port-qual>
<port-direction>bidirectional</port-direction>
- <circuit-id>XPDRA-CLIENT</circuit-id>
+ <circuit-id>XPDRA-CLIENT1</circuit-id>
<administrative-state>inService</administrative-state>
- <logical-connection-point>CLIENT1</logical-connection-point>
+ <logical-connection-point>XPDR1-CLIENT1</logical-connection-point>
<transponder-port>
</transponder-port>
</ports>
</circuit-packs>
+ <circuit-packs>
+ <circuit-pack-name>1/0/C2-PLUG-CLIENT</circuit-pack-name>
+ <circuit-pack-type>pluggable</circuit-pack-type>
+ <administrative-state>inService</administrative-state>
+ <vendor>vendorA</vendor>
+ <model>QSFP28</model>
+ <serial-id>xxxx</serial-id>
+ <type>QSFP28</type>
+ <product-code>100GELR4</product-code>
+ <manufacture-date>2017-03-01T00:00:00+00:00</manufacture-date>
+ <clei>ccccc</clei>
+ <hardware-version>01</hardware-version>
+ <circuit-pack-category>
+ <type>other</type>
+ </circuit-pack-category>
+ <equipment-state>not-reserved-available</equipment-state>
+ <circuit-pack-mode>NORMAL</circuit-pack-mode>
+ <shelf>1</shelf>
+ <slot>0</slot>
+ <subSlot>2</subSlot>
+ <due-date>2017-04-14T15:56:10+00:00</due-date>
+ <parent-circuit-pack>
+ <circuit-pack-name>1/0</circuit-pack-name>
+ <cp-slot-name>C2</cp-slot-name>
+ </parent-circuit-pack>
+ <ports>
+ <port-name>C2</port-name>
+ <port-type>QSFP28</port-type>
+ <port-qual>xpdr-client</port-qual>
+ <port-direction>bidirectional</port-direction>
+ <circuit-id>XPDRA-CLIENT2</circuit-id>
+ <administrative-state>inService</administrative-state>
+ <logical-connection-point>XPDR-CLIENT2</logical-connection-point>
+ <transponder-port>
+ </transponder-port>
+ </ports>
+ </circuit-packs>
+ <circuit-packs>
+ <circuit-pack-name>1/0/C3-PLUG-CLIENT</circuit-pack-name>
+ <circuit-pack-type>pluggable</circuit-pack-type>
+ <administrative-state>inService</administrative-state>
+ <vendor>vendorA</vendor>
+ <model>QSFP28</model>
+ <serial-id>xxxx</serial-id>
+ <type>QSFP28</type>
+ <product-code>100GELR4</product-code>
+ <manufacture-date>2017-03-01T00:00:00+00:00</manufacture-date>
+ <clei>ccccc</clei>
+ <hardware-version>01</hardware-version>
+ <circuit-pack-category>
+ <type>other</type>
+ </circuit-pack-category>
+ <equipment-state>not-reserved-available</equipment-state>
+ <circuit-pack-mode>NORMAL</circuit-pack-mode>
+ <shelf>1</shelf>
+ <slot>0</slot>
+ <subSlot>2</subSlot>
+ <due-date>2017-04-14T15:56:10+00:00</due-date>
+ <parent-circuit-pack>
+ <circuit-pack-name>1/0</circuit-pack-name>
+ <cp-slot-name>C2</cp-slot-name>
+ </parent-circuit-pack>
+ <ports>
+ <port-name>C3</port-name>
+ <port-type>QSFP28</port-type>
+ <port-qual>xpdr-client</port-qual>
+ <port-direction>bidirectional</port-direction>
+ <circuit-id>XPDRA-CLIENT3</circuit-id>
+ <administrative-state>inService</administrative-state>
+ <logical-connection-point>XPDR1-CLIENT1</logical-connection-point>
+ <transponder-port>
+ </transponder-port>
+ </ports>
+ </circuit-packs>
+ <circuit-packs>
+ <circuit-pack-name>1/0/C4-PLUG-CLIENT</circuit-pack-name>
+ <circuit-pack-type>pluggable</circuit-pack-type>
+ <administrative-state>inService</administrative-state>
+ <vendor>vendorA</vendor>
+ <model>QSFP28</model>
+ <serial-id>xxxx</serial-id>
+ <type>QSFP28</type>
+ <product-code>100GELR4</product-code>
+ <manufacture-date>2017-03-01T00:00:00+00:00</manufacture-date>
+ <clei>ccccc</clei>
+ <hardware-version>01</hardware-version>
+ <circuit-pack-category>
+ <type>other</type>
+ </circuit-pack-category>
+ <equipment-state>not-reserved-available</equipment-state>
+ <circuit-pack-mode>NORMAL</circuit-pack-mode>
+ <shelf>1</shelf>
+ <slot>0</slot>
+ <subSlot>2</subSlot>
+ <due-date>2017-04-14T15:56:10+00:00</due-date>
+ <parent-circuit-pack>
+ <circuit-pack-name>1/0</circuit-pack-name>
+ <cp-slot-name>C4</cp-slot-name>
+ </parent-circuit-pack>
+ <ports>
+ <port-name>C4</port-name>
+ <port-type>QSFP28</port-type>
+ <port-qual>xpdr-client</port-qual>
+ <port-direction>bidirectional</port-direction>
+ <circuit-id>XPDRA-CLIENT4</circuit-id>
+ <administrative-state>inService</administrative-state>
+ <logical-connection-point></logical-connection-point>
+ <transponder-port>
+ </transponder-port>
+ </ports>
+ </circuit-packs>
+ <circuit-packs>
+ <circuit-pack-name>1/0/PWR</circuit-pack-name>
+ <product-code>abcd</product-code>
+ <circuit-pack-mode>NORMAL</circuit-pack-mode>
+ <equipment-state>not-reserved-available</equipment-state>
+ <due-date>2017-04-12T15:56:10+00:00</due-date>
+ <type>PWR</type>
+ <shelf>1</shelf>
+ <circuit-pack-category>
+ <type>powerSupply</type>
+ </circuit-pack-category>
+ <administrative-state>inService</administrative-state>
+ <circuit-pack-type>P001</circuit-pack-type>
+ <slot>0</slot>
+ <vendor>VENDORA</vendor>
+ <parent-circuit-pack>
+ <circuit-pack-name>1/0</circuit-pack-name>
+ <cp-slot-name>PWR</cp-slot-name>
+ </parent-circuit-pack>
+ <serial-id/>
+ <clei>xxxx</clei>
+ <operational-state>inService</operational-state>
+ <model>yyyy</model>
+ <subSlot>PWR</subSlot>
+ </circuit-packs>
<wavelength-map>
<wavelengths>
<wavelength-number>1</wavelength-number>
</wavelengths>
</wavelength-map>
<internal-link>
- <internal-link-name>1/0/2-PLUG-CLIENT-to-1/0/1-PLUG-NET
+ <internal-link-name>1/0/C1-PLUG-CLIENT-to-1/0/1-PLUG-NET
</internal-link-name>
<source>
- <circuit-pack-name>1/0/2-PLUG-CLIENT</circuit-pack-name>
+ <circuit-pack-name>1/0/C1-PLUG-CLIENT</circuit-pack-name>
<port-name>1</port-name>
</source>
<destination>
<port-name>1</port-name>
</destination>
</internal-link>
+ <internal-link>
+ <internal-link-name>1/0/1-PLUG-NET-to-1/0/C1-PLUG-CLIENT
+ </internal-link-name>
+ <source>
+ <circuit-pack-name>1/0/1-PLUG-NET</circuit-pack-name>
+ <port-name>1</port-name>
+ </source>
+ <destination>
+ <circuit-pack-name>1/0/C1-PLUG-CLIENT</circuit-pack-name>
+ <port-name>1</port-name>
+ </destination>
+ </internal-link>
+ <internal-link>
+ <internal-link-name>1/0/C3-PLUG-CLIENT-to-1/0/2-PLUG-NET
+ </internal-link-name>
+ <source>
+ <circuit-pack-name>1/0/C3-PLUG-CLIENT</circuit-pack-name>
+ <port-name>1</port-name>
+ </source>
+ <destination>
+ <circuit-pack-name>1/0/2-PLUG-NET</circuit-pack-name>
+ <port-name>1</port-name>
+ </destination>
+ </internal-link>
+ <internal-link>
+ <internal-link-name>1/0/2-PLUG-NET-to-1/0/C3-PLUG-CLIENT
+ </internal-link-name>
+ <source>
+ <circuit-pack-name>1/0/2-PLUG-NET</circuit-pack-name>
+ <port-name>1</port-name>
+ </source>
+ <destination>
+ <circuit-pack-name>1/0/C3-PLUG-CLIENT</circuit-pack-name>
+ <port-name>1</port-name>
+ </destination>
+ </internal-link>
<connection-map>
<connection-map-number>1</connection-map-number>
<source>
- <circuit-pack-name>1/0/2-PLUG-CLIENT</circuit-pack-name>
+ <circuit-pack-name>1/0/C1-PLUG-CLIENT</circuit-pack-name>
<port-name>1</port-name>
</source>
<destination>
<port-name>1</port-name>
</destination>
</connection-map>
+ <connection-map>
+ <connection-map-number>2</connection-map-number>
+ <source>
+ <circuit-pack-name>1/0/1-PLUG-NET</circuit-pack-name>
+ <port-name>1</port-name>
+ </source>
+ <destination>
+ <circuit-pack-name>1/0/C1-PLUG-CLIENT</circuit-pack-name>
+ <port-name>1</port-name>
+ </destination>
+ </connection-map>
+ <connection-map>
+ <connection-map-number>3</connection-map-number>
+ <source>
+ <circuit-pack-name>1/0/C3-PLUG-CLIENT</circuit-pack-name>
+ <port-name>1</port-name>
+ </source>
+ <destination>
+ <circuit-pack-name>1/0/2-PLUG-NET</circuit-pack-name>
+ <port-name>1</port-name>
+ </destination>
+ </connection-map>
+ <connection-map>
+ <connection-map-number>4</connection-map-number>
+ <source>
+ <circuit-pack-name>1/0/2-PLUG-NET</circuit-pack-name>
+ <port-name>1</port-name>
+ </source>
+ <destination>
+ <circuit-pack-name>1/0/C3-PLUG-CLIENT</circuit-pack-name>
+ <port-name>1</port-name>
+ </destination>
+ </connection-map>
</org-openroadm-device>
</data>
whitelist_externals = bash
commands =
{py27,portmapping,topology,pce}: bash -c "(cd .. && mvn clean install -DskipTests -Dmaven.javadoc.skip=true)"
- {py27,portmapping}: ./build.sh
- {topology,topoPortMapping}: ./buildTesttool.sh
+ {py27,topology,topoPortMapping}: ./buildTesttool.sh
+ {py27,portmapping}: ./buildHoneynode.sh
#py27: nosetests --with-xunit transportpce_tests/
{py27,portmapping}: nosetests --with-xunit transportpce_tests/test_portmapping.py
{py27,topoPortMapping}: nosetests --with-xunit transportpce_tests/test_topoPortMapping.py
class TransportPCEPortMappingTesting(unittest.TestCase):
- testtools_process1 = None
- testtools_process2 = None
+ honeynode_process1 = None
+ honeynode_process2 = None
odl_process = None
restconf_baseurl = "http://localhost:8181/restconf"
@classmethod
- def __start_testtools(cls):
- executable = ("./netconf/netconf/tools/netconf-testtool/target/"
- "netconf-testtool-1.5.0-SNAPSHOT-executable.jar")
+ def __start_honeynode1(cls):
+ executable = ("./honeynode/honeynode-distribution/target/honeynode-distribution-1.18.01-hc"
+ "/honeynode-distribution-1.18.01/honeycomb-tpce")
if os.path.isfile(executable):
- with open('testtools1.log', 'w') as outfile:
- cls.testtools_process1 = subprocess.Popen(
- ["java", "-jar", executable, "--schemas-dir", "schemas",
- "--initial-config-xml", "sample_configs/ord_1.2.1/sample-config-ROADM.xml",
- "--starting-port", "17830"],
+ with open('honeynode1.log', 'w') as outfile:
+ cls.honeynode_process1 = subprocess.Popen(
+ [executable, "17831", "sample_configs/ord_2.1/oper-XPDRA.xml"],
stdout=outfile)
- with open('testtools2.log', 'w') as outfile:
- cls.testtools_process2 = subprocess.Popen(
- ["java", "-jar", executable, "--schemas-dir", "schemas",
- "--initial-config-xml", "sample_configs/ord_1.2.1/sample-config-XPDR.xml",
- "--starting-port", "17831"],
+
+ @classmethod
+ def __start_honeynode2(cls):
+ executable = ("./honeynode/honeynode-distribution/target/honeynode-distribution-1.18.01-hc"
+ "/honeynode-distribution-1.18.01/honeycomb-tpce")
+ if os.path.isfile(executable):
+ with open('honeynode2.log', 'w') as outfile:
+ cls.honeynode_process2 = subprocess.Popen(
+ [executable, "17830", "sample_configs/ord_2.1/oper-ROADMA.xml"],
stdout=outfile)
@classmethod
@classmethod
def setUpClass(cls):
- cls.__start_testtools()
+ cls.__start_honeynode1()
+ time.sleep(40)
+ cls.__start_honeynode2()
+ time.sleep(40)
cls.__start_odl()
time.sleep(60)
@classmethod
def tearDownClass(cls):
- cls.testtools_process1.send_signal(signal.SIGINT)
- cls.testtools_process1.wait()
- cls.testtools_process2.send_signal(signal.SIGINT)
- cls.testtools_process2.wait()
for child in psutil.Process(cls.odl_process.pid).children():
child.send_signal(signal.SIGINT)
child.wait()
cls.odl_process.send_signal(signal.SIGINT)
cls.odl_process.wait()
+ for child in psutil.Process(cls.honeynode_process1.pid).children():
+ child.send_signal(signal.SIGINT)
+ child.wait()
+ cls.honeynode_process1.send_signal(signal.SIGINT)
+ cls.honeynode_process1.wait()
+ for child in psutil.Process(cls.honeynode_process2.pid).children():
+ child.send_signal(signal.SIGINT)
+ child.wait()
+ cls.honeynode_process2.send_signal(signal.SIGINT)
+ cls.honeynode_process2.wait()
def setUp(self):
print ("execution of {}".format(self.id().split(".")[-1]))
# 'connected')
def test_02_restconfAPI(self):
- url = ("{}/config/portmapping:network/nodes/controller-config"
- .format(self.restconf_baseurl))
+ url = ("{}/config/portmapping:network/nodes/controller-config".format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
'logical-connection-point': 'XPDR1-NETWORK1'},
res['mapping'])
- def test_11_xpdr_portmapping_CLIENT1(self):
+ def test_11_xpdr_portmapping_NETWORK2(self):
+ url = ("{}/config/portmapping:network/"
+ "nodes/XPDRA/mapping/XPDR0-NETWORK2"
+ .format(self.restconf_baseurl))
+ headers = {'content-type': 'application/json'}
+ response = requests.request(
+ "GET", url, headers=headers, auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, requests.codes.ok)
+ res = response.json()
+ self.assertIn(
+ {'supporting-port': '2', 'supporting-circuit-pack-name': '1/0/2-PLUG-NET',
+ 'logical-connection-point': 'XPDR0-NETWORK2'},
+ res['mapping'])
+
+ def test_12_xpdr_portmapping_CLIENT1(self):
url = ("{}/config/portmapping:network/"
"nodes/XPDRA/mapping/XPDR1-CLIENT1"
.format(self.restconf_baseurl))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn(
- {'supporting-port': '1',
- 'supporting-circuit-pack-name': '1/0/2-PLUG-CLIENT',
+ {'supporting-port': 'C1',
+ 'supporting-circuit-pack-name': '1/0/C1-PLUG-CLIENT',
'logical-connection-point': 'XPDR1-CLIENT1'},
res['mapping'])
- def test_12_xpdr_device_disconnected(self):
+ def test_13_xpdr_portmapping_CLIENT2(self):
+ url = ("{}/config/portmapping:network/"
+ "nodes/XPDRA/mapping/XPDR1-CLIENT2"
+ .format(self.restconf_baseurl))
+ headers = {'content-type': 'application/json'}
+ response = requests.request(
+ "GET", url, headers=headers, auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, requests.codes.not_found)
+ res = response.json()
+ self.assertIn(
+ {"error-type":"application","error-tag":"data-missing",
+ "error-message":"Request could not be completed because the relevant data model content does not exist "},
+ res['errors']['error'])
+
+ def test_14_xpdr_portmapping_CLIENT4(self):
+ url = ("{}/config/portmapping:network/"
+ "nodes/XPDRA/mapping/XPDR0-CLIENT4"
+ .format(self.restconf_baseurl))
+ headers = {'content-type': 'application/json'}
+ response = requests.request(
+ "GET", url, headers=headers, auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, requests.codes.ok)
+ res = response.json()
+ self.assertIn(
+ {'supporting-port': 'C4',
+ 'supporting-circuit-pack-name': '1/0/C4-PLUG-CLIENT',
+ 'logical-connection-point': 'XPDR0-CLIENT4'},
+ res['mapping'])
+
+ def test_15_xpdr_device_disconnected(self):
url = ("{}/config/network-topology:"
"network-topology/topology/topology-netconf/node/XPDRA"
.format(self.restconf_baseurl))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(20)
- def test_13_xpdr_device_disconnected(self):
+ def test_16_xpdr_device_disconnected(self):
url = ("{}/operational/network-topology:network-topology/topology/"
"topology-netconf/node/XPDRA".format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
"error-message":"Request could not be completed because the relevant data model content does not exist "},
res['errors']['error'])
- def test_14_xpdr_device_disconnected(self):
- url = ("{}/config/portmapping:network/"
- "nodes/XPDRA"
- .format(self.restconf_baseurl))
+ def test_17_xpdr_device_disconnected(self):
+ url = ("{}/config/portmapping:network/nodes/XPDRA".format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
"error-message":"Request could not be completed because the relevant data model content does not exist "},
res['errors']['error'])
- def test_15_rdm_device_disconnected(self):
- url = ("{}/config/network-topology:"
- "network-topology/topology/topology-netconf/node/ROADMA"
+ def test_18_rdm_device_disconnected(self):
+ url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/ROADMA"
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(20)
- def test_16_rdm_device_disconnected(self):
- url = ("{}/operational/network-topology:network-topology/topology/"
- "topology-netconf/node/ROADMA".format(self.restconf_baseurl))
+ def test_19_rdm_device_disconnected(self):
+ url = ("{}/operational/network-topology:network-topology/topology/topology-netconf/node/ROADMA"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
"error-message":"Request could not be completed because the relevant data model content does not exist "},
res['errors']['error'])
- def test_17_rdm_device_disconnected(self):
- url = ("{}/config/portmapping:network/nodes/ROADMA"
- .format(self.restconf_baseurl))
+ def test_20_rdm_device_disconnected(self):
+ url = ("{}/config/portmapping:network/nodes/ROADMA".format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))