Bumping version of YANG Tools to 2.1; adding YANG smoke STC test.
Change-Id: I8bd719351a5dbe6af286779fdc3ac3105c2bbc62
diff --git a/apps/config/pom.xml b/apps/config/pom.xml
index 4377173..49c102c 100755
--- a/apps/config/pom.xml
+++ b/apps/config/pom.xml
@@ -37,7 +37,6 @@
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-yang-model</artifactId>
- <version>1.12.0-b8</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java
index 87ff7b9..b8ecbf2 100644
--- a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java
+++ b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java
@@ -52,7 +52,7 @@
import org.onosproject.yang.runtime.DefaultYangSerializerContext;
import org.onosproject.yang.runtime.YangRuntimeService;
import org.onosproject.yang.runtime.YangSerializerContext;
-import org.onosproject.yang.runtime.helperutils.SerializerHelper;
+import org.onosproject.yang.runtime.SerializerHelper;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -71,7 +71,7 @@
import static com.google.common.base.Preconditions.checkNotNull;
import static org.onosproject.netconf.TargetConfig.RUNNING;
import static org.onosproject.yang.model.DataNode.Type.SINGLE_INSTANCE_LEAF_VALUE_NODE;
-import static org.onosproject.yang.runtime.helperutils.SerializerHelper.addDataNode;
+import static org.onosproject.yang.runtime.SerializerHelper.addDataNode;
/*FIXME these imports are not visible using OSGI*/
diff --git a/apps/restconf/restconfmgr/pom.xml b/apps/restconf/restconfmgr/pom.xml
index 87509eb..52006b5 100644
--- a/apps/restconf/restconfmgr/pom.xml
+++ b/apps/restconf/restconfmgr/pom.xml
@@ -32,7 +32,6 @@
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-yang-model</artifactId>
- <version>1.12.0-b8</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/restconf/utils/pom.xml b/apps/restconf/utils/pom.xml
index d85c8fb..7c93887 100644
--- a/apps/restconf/utils/pom.xml
+++ b/apps/restconf/utils/pom.xml
@@ -32,12 +32,10 @@
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-yang-runtime</artifactId>
- <version>1.12.0-b8</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-yang-model</artifactId>
- <version>1.12.0-b8</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/drivers/huawei/driver/pom.xml b/drivers/huawei/driver/pom.xml
new file mode 100644
index 0000000..fc26a56
--- /dev/null
+++ b/drivers/huawei/driver/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2017-present Open Networking Laboratory
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-drivers-huawei</artifactId>
+ <version>1.10.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>onos-drivers-huawei-driver</artifactId>
+ <packaging>bundle</packaging>
+
+ <description>Huawei driver implementation</description>
+ <properties>
+ <yang-tool-version>2.0</yang-tool-version>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-drivers-utilities</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-app-l3vpn-netl3vpn</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-app-l3vpn-yangmodel</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-yang-model</artifactId>
+ <version>${yang-tool-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-drivers-huawei-yangmodel</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-netconf-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-app-yang</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.bundles</groupId>
+ <artifactId>org.apache.servicemix.bundles.dom4j</artifactId>
+ <version>1.6.1_5</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/drivers/huawei/yangmodel/pom.xml b/drivers/huawei/yangmodel/pom.xml
new file mode 100644
index 0000000..cc7198d
--- /dev/null
+++ b/drivers/huawei/yangmodel/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2017-present Open Networking Laboratory
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <dependencies>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-yang-model</artifactId>
+ </dependency>
+ </dependencies>
+
+ <parent>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-drivers-huawei</artifactId>
+ <version>1.10.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>onos-drivers-huawei-yangmodel</artifactId>
+ <packaging>bundle</packaging>
+
+ <description>Huawei L3VPN YANG model</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-yang-compiler-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/lib/BUCK b/lib/BUCK
index 5fa76c3..91e5ea2 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1192,55 +1192,55 @@
remote_jar (
name = 'onos-yang-model',
- out = 'onos-yang-model-1.12.0-b8.jar',
- url = 'mvn:org.onosproject:onos-yang-model:jar:1.12.0-b8',
- sha1 = '272ab5dd687d20d9a483cc58c8f71da31ee8b1b6',
- maven_coords = 'org.onosproject:onos-yang-model:1.12.0-b8',
+ out = 'onos-yang-model-2.1.jar',
+ url = 'mvn:org.onosproject:onos-yang-model:jar:2.1',
+ sha1 = '9d6007a856b4827ca97144902a5a76e43d35831d',
+ maven_coords = 'org.onosproject:onos-yang-model:2.1',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'onos-yang-compiler-api',
- out = 'onos-yang-compiler-api-1.12.0-b8.jar',
- url = 'mvn:org.onosproject:onos-yang-compiler-api:jar:1.12.0-b8',
- sha1 = '0c0961fb0b55b2ba82e3b69216b2fbb1b35b1d6f',
- maven_coords = 'org.onosproject:onos-yang-compiler-api:1.12.0-b8',
+ out = 'onos-yang-compiler-api-2.1.jar',
+ url = 'mvn:org.onosproject:onos-yang-compiler-api:jar:2.1',
+ sha1 = 'ceeb6e18a046b94ba5826eecff3ee0ba7630ede3',
+ maven_coords = 'org.onosproject:onos-yang-compiler-api:2.1',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'onos-yang-runtime',
- out = 'onos-yang-runtime-1.12.0-b8.jar',
- url = 'mvn:org.onosproject:onos-yang-runtime:jar:1.12.0-b8',
- sha1 = 'b7f8d35cfe8f57978efc741f56b1431f881a8c83',
- maven_coords = 'org.onosproject:onos-yang-runtime:1.12.0-b8',
+ out = 'onos-yang-runtime-2.1.jar',
+ url = 'mvn:org.onosproject:onos-yang-runtime:jar:2.1',
+ sha1 = '70324c27c451ef15b2ca792a829c43c633a2e1a2',
+ maven_coords = 'org.onosproject:onos-yang-runtime:2.1',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'onos-yang-serializers-json',
- out = 'onos-yang-serializers-json-1.12.0-b8.jar',
- url = 'mvn:org.onosproject:onos-yang-serializers-json:jar:1.12.0-b8',
- sha1 = '72cb9f767f22c01f0fe7bc1e6d2ba83a20397aa0',
- maven_coords = 'org.onosproject:onos-yang-serializers-json:1.12.0-b8',
+ out = 'onos-yang-serializers-json-2.1.jar',
+ url = 'mvn:org.onosproject:onos-yang-serializers-json:jar:2.1',
+ sha1 = '82cfd71ff3e5e5f5d512cab758a79537b5b6b097',
+ maven_coords = 'org.onosproject:onos-yang-serializers-json:2.1',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'onos-yang-serializers-xml',
- out = 'onos-yang-serializers-xml-1.12.0-b8.jar',
- url = 'mvn:org.onosproject:onos-yang-serializers-xml:jar:1.12.0-b8',
- sha1 = 'cf5b1e7b85883d13efe35d83330cd8bbe8ba7315',
- maven_coords = 'org.onosproject:onos-yang-serializers-xml:1.12.0-b8',
+ out = 'onos-yang-serializers-xml-2.1.jar',
+ url = 'mvn:org.onosproject:onos-yang-serializers-xml:jar:2.1',
+ sha1 = '0b4a5fac8c9f37792b1e236403f58b277d00166e',
+ maven_coords = 'org.onosproject:onos-yang-serializers-xml:2.1',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'onos-yang-serializers-utils',
- out = 'onos-yang-serializers-utils-1.12.0-b8.jar',
- url = 'mvn:org.onosproject:onos-yang-serializers-utils:jar:1.12.0-b8',
- sha1 = 'b0d685c517e9b22d93ccefffdab455f3476545ba',
- maven_coords = 'org.onosproject:onos-yang-serializers-utils:1.12.0-b8',
+ out = 'onos-yang-serializers-utils-2.1.jar',
+ url = 'mvn:org.onosproject:onos-yang-serializers-utils:jar:2.1',
+ sha1 = '31076029d26a02696a3deeaaeb3c96c2032033a5',
+ maven_coords = 'org.onosproject:onos-yang-serializers-utils:2.1',
visibility = [ 'PUBLIC' ],
)
diff --git a/lib/deps.json b/lib/deps.json
index 8d1d463..a365106 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -214,12 +214,12 @@
"onos-yang-datamodel": "mvn:org.onosproject:onos-yang-datamodel:1.11",
"onos-yang-maven-plugin": "mvn:org.onosproject:onos-yang-maven-plugin:1.11",
"onos-yang-utils-generator": "mvn:org.onosproject:onos-yang-utils-generator:1.11",
- "onos-yang-model":"mvn:org.onosproject:onos-yang-model:1.12.0-b8",
- "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:1.12.0-b8",
- "onos-yang-runtime":"mvn:org.onosproject:onos-yang-runtime:1.12.0-b8",
- "onos-yang-serializers-json":"mvn:org.onosproject:onos-yang-serializers-json:1.12.0-b8",
- "onos-yang-serializers-xml":"mvn:org.onosproject:onos-yang-serializers-xml:1.12.0-b8",
- "onos-yang-serializers-utils":"mvn:org.onosproject:onos-yang-serializers-utils:1.12.0-b8",
+ "onos-yang-model":"mvn:org.onosproject:onos-yang-model:2.1",
+ "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:2.1",
+ "onos-yang-runtime":"mvn:org.onosproject:onos-yang-runtime:2.1",
+ "onos-yang-serializers-json":"mvn:org.onosproject:onos-yang-serializers-json:2.1",
+ "onos-yang-serializers-xml":"mvn:org.onosproject:onos-yang-serializers-xml:2.1",
+ "onos-yang-serializers-utils":"mvn:org.onosproject:onos-yang-serializers-utils:2.1",
"org.apache.servicemix.bundles.dom4j":"mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6.1_5",
"openflowj-3.0": {
"uri": "mvn:org.projectfloodlight:openflowj:3.0.0-SNAPSHOT",
diff --git a/lib/pom.xml b/lib/pom.xml
index 608149b..a3b9ee9 100644
--- a/lib/pom.xml
+++ b/lib/pom.xml
@@ -40,6 +40,7 @@
<netty4.version>4.1.5.Final</netty4.version>
<openflowj.version>3.2.0.onos</openflowj.version>
<onos-maven-plugin.version>1.10</onos-maven-plugin.version>
+ <onos-yang-tools.version>2.1</onos-yang-tools.version>
<osgi.version>5.0.0</osgi.version>
<karaf.version>3.0.8</karaf.version>
<jersey.version>2.25.1</jersey.version>
@@ -387,6 +388,17 @@
<version>${openflowj.version}</version>
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-yang-model</artifactId>
+ <version>${onos-yang-tools.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-yang-runtime</artifactId>
+ <version>${onos-yang-tools.version}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
@@ -567,6 +579,27 @@
</execution>
</executions>
</plugin>
+
+ <plugin>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-yang-compiler-maven-plugin</artifactId>
+ <version>${onos-yang-tools.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>yang2java</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
diff --git a/tools/dev/bin/patch-yang-libs b/tools/dev/bin/patch-yang-libs
index d6ab3ea..fbf091c 100755
--- a/tools/dev/bin/patch-yang-libs
+++ b/tools/dev/bin/patch-yang-libs
@@ -3,8 +3,8 @@
# Patches lib/BUCK file to use locally built YANG tools.
# -----------------------------------------------------------------------------
-BVER=1.12.0-b7
-SVER=1.12-SNAPSHOT
+BVER=2.1
+SVER=2.2-SNAPSHOT
YANG_TOOLS_ROOT=~/onos-yang-tools
diff --git a/tools/test/scenarios/smoke.xml b/tools/test/scenarios/smoke.xml
index 5cb9e62..5b95e70 100644
--- a/tools/test/scenarios/smoke.xml
+++ b/tools/test/scenarios/smoke.xml
@@ -20,6 +20,7 @@
<import file="${ONOS_SCENARIOS}/maps-cli.xml"/>
<import file="${ONOS_SCENARIOS}/dist-test.xml"/>
<import file="${ONOS_SCENARIOS}/smoke-internal.xml"/>
+ <import file="${ONOS_SCENARIOS}/yang-smoke.xml"/>
<dependency name="Setup" requires="Prerequisites,Net-Prerequisites"/>
<dependency name="Net-Smoke" requires="Setup"/>
@@ -28,7 +29,8 @@
<dependency name="Meta-App" requires="Setup"/>
<dependency name="Netcfg" requires="Setup"/>
<dependency name="Distributed-Primitives" requires="Setup"/>
+ <dependency name="YANG-Smoke" requires="Setup,~Distributed-Primitives"/>
<import file="${ONOS_SCENARIOS}/wrapup.xml"/>
- <dependency name="Wrapup" requires="~Setup,~Net-Smoke,~Drivers-Test,~Meta-App,~Netcfg"/>
+ <dependency name="Wrapup" requires="~Setup,~Net-Smoke,~Drivers-Test,~Meta-App,~Netcfg,~YANG-Smoke"/>
</scenario>
diff --git a/tools/test/scenarios/yang-smoke.xml b/tools/test/scenarios/yang-smoke.xml
new file mode 100644
index 0000000..c55a0ba
--- /dev/null
+++ b/tools/test/scenarios/yang-smoke.xml
@@ -0,0 +1,28 @@
+<!--
+ ~ Copyright 2017-present Open Networking Laboratory
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<scenario name="yang-smoke" description="Basic smoke test for YANG subsystem">
+ <group name="YANG-Smoke">
+ <step name="Activate-YANG-Apps"
+ exec="onos ${OC1} app activate org.onosproject.yang-gui org.onosproject.models.openroadm"/>
+ <group name="Check-YANG-Apps-Activated"
+ requires="Activate-YANG-Apps">
+ <parallel var="${OC#}">
+ <step name="Check-YANG-Apps-Activated-${#}"
+ exec="onos-check-apps ${#} drivers,yang,yang-gui,models.openroadm includes"/>
+ </parallel>
+ </group>
+ </group>
+</scenario>