Moving huawei YANG model to /models, also removing the redundant YANG which are redundant now.

Change-Id: I10bf58aa5172807d892173c358a75de1fb206d5a
diff --git a/drivers/huawei/BUCK b/drivers/huawei/BUCK
index c8401e0..ccbe21e 100644
--- a/drivers/huawei/BUCK
+++ b/drivers/huawei/BUCK
@@ -1,27 +1,48 @@
-APPS = [
-  'org.onosproject.yang',
-  'org.onosproject.yang-gui',
-  'org.onosproject.config',
-  'org.onosproject.restconf',
-  'org.onosproject.yms',
-  'org.onosproject.protocols.restconfserver',
-  'org.onosproject.netconf',
-  'org.onosproject.netconfsb',
-  'org.onosproject.models.l3vpn',
-  'org.onosproject.l3vpn',
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//lib:org.apache.servicemix.bundles.dom4j',
+    '//models/l3vpn:onos-models-l3vpn',
+    '//models/huawei:onos-models-huawei',
+    '//drivers/utilities:onos-drivers-utilities',
+    '//protocols/netconf/api:onos-protocols-netconf-api',
+    '//apps/l3vpn:onos-apps-l3vpn',
+    '//apps/config:onos-apps-config',
+    '//lib:onos-yang-model',
+    '//lib:onos-yang-runtime',
+    '//apps/yang:onos-apps-yang',
 ]
 
-BUNDLES = [
-  '//drivers/huawei/yangmodel:onos-drivers-huawei-yangmodel',
-  '//drivers/huawei/driver:onos-drivers-huawei-driver',
+APPS = [
+    'org.onosproject.yang',
+    'org.onosproject.yang-gui',
+    'org.onosproject.config',
+    'org.onosproject.restconf',
+    'org.onosproject.yms',
+    'org.onosproject.protocols.restconfserver',
+    'org.onosproject.netconf',
+    'org.onosproject.netconfsb',
+    'org.onosproject.models.l3vpn',
+    'org.onosproject.l3vpn',
+    'org.onosproject.models.huawei',
 ]
 
+TEST_DEPS = [
+    '//lib:TEST_ADAPTERS',
+    '//utils/osgi:onlab-osgi-tests',
+]
+
+osgi_jar_with_tests(
+    deps = COMPILE_DEPS,
+    test_deps = TEST_DEPS,
+    resources_root = 'src/main/resources',
+    resources = glob(['src/main/resources/**']),
+)
+
 onos_app(
-  app_name = 'org.onosproject.drivers.huawei',
-  title = 'Huawei Device Drivers',
-  category = 'Drivers',
-  url = 'http://onosproject.org',
-  description = 'ONOS Huawei Device Drivers application.',
-  included_bundles = BUNDLES,
-  required_apps = APPS
+    app_name = 'org.onosproject.drivers.huawei',
+    title = 'Huawei Device Drivers',
+    category = 'Drivers',
+    url = 'http://onosproject.org',
+    description = 'ONOS Huawei Device Drivers application.',
+    required_apps = APPS
 )
\ No newline at end of file
diff --git a/drivers/huawei/driver/BUCK b/drivers/huawei/driver/BUCK
deleted file mode 100644
index 4056f2e..0000000
--- a/drivers/huawei/driver/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:org.apache.servicemix.bundles.dom4j',
-  '//models/l3vpn:onos-models-l3vpn',
-  '//drivers/utilities:onos-drivers-utilities',
-  '//protocols/netconf/api:onos-protocols-netconf-api',
-  '//apps/l3vpn:onos-apps-l3vpn',
-  '//drivers/huawei/yangmodel:onos-drivers-huawei-yangmodel',
-  '//apps/config:onos-apps-config',
-  '//lib:onos-yang-model',
-  '//lib:onos-yang-runtime',
-  '//apps/yang:onos-apps-yang',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
-  '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests(
-  name = 'onos-drivers-huawei-driver',
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-  resources_root = 'src/main/resources',
-  resources = glob(['src/main/resources/**']),
-)
\ No newline at end of file
diff --git a/drivers/huawei/driver/pom.xml b/drivers/huawei/driver/pom.xml
deleted file mode 100644
index 373c23d..0000000
--- a/drivers/huawei/driver/pom.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?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>1.12.0-b7</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/pom.xml b/drivers/huawei/pom.xml
deleted file mode 100644
index 410800f..0000000
--- a/drivers/huawei/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?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-general</artifactId>
-        <version>1.11.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>onos-drivers-huawei</artifactId>
-    <packaging>pom</packaging>
-
-    <modules>
-        <!-- detaching broken build
-        <module>driver</module>
-        -->
-        <module>yangmodel</module>
-    </modules>
-
-    <description>L3VPN YANG Application</description>
-</project>
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/BgpConstructionUtil.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/BgpConstructionUtil.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/BgpConstructionUtil.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/BgpConstructionUtil.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiL3VpnConfig.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiL3VpnConfig.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiL3VpnConfig.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiL3VpnConfig.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiModelRegistrator.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiModelRegistrator.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiModelRegistrator.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiModelRegistrator.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/InsConstructionUtil.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/InsConstructionUtil.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/InsConstructionUtil.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/InsConstructionUtil.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/IntConstructionUtil.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/IntConstructionUtil.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/IntConstructionUtil.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/IntConstructionUtil.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/L3VpnUtil.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/L3VpnUtil.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/L3VpnUtil.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/L3VpnUtil.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/ModelIdLevel.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/ModelIdLevel.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/ModelIdLevel.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/ModelIdLevel.java
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/package-info.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/package-info.java
similarity index 100%
rename from drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/package-info.java
rename to drivers/huawei/src/main/java/org/onosproject/drivers/huawei/package-info.java
diff --git a/drivers/huawei/driver/src/main/resources/huawei-drivers.xml b/drivers/huawei/src/main/resources/huawei-drivers.xml
similarity index 100%
rename from drivers/huawei/driver/src/main/resources/huawei-drivers.xml
rename to drivers/huawei/src/main/resources/huawei-drivers.xml
diff --git a/drivers/huawei/yangmodel/BUCK b/drivers/huawei/yangmodel/BUCK
deleted file mode 100644
index e69ca9d..0000000
--- a/drivers/huawei/yangmodel/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:onos-yang-model',
-]
-
-yang_osgi_jar(
-  deps = COMPILE_DEPS,
-  name = 'onos-drivers-huawei-yangmodel',
-  srcs = glob(['src/main/**/*.yang']),
-  visibility = [
-    'PUBLIC'
-  ],
-)
\ No newline at end of file
diff --git a/drivers/huawei/yangmodel/pom.xml b/drivers/huawei/yangmodel/pom.xml
deleted file mode 100644
index d281507..0000000
--- a/drivers/huawei/yangmodel/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?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>
-            <version>1.12.0-b7</version>
-        </dependency>
-    </dependencies>
-
-    <parent>
-        <groupId>org.onosproject</groupId>
-        <artifactId>onos-drivers-huawei</artifactId>
-        <version>1.11.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>
-                <version>1.12.0-b7</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>
-    </build>
-
-</project>
diff --git a/models/demo/BUCK b/models/demo/BUCK
deleted file mode 100644
index dfc93e1..0000000
--- a/models/demo/BUCK
+++ /dev/null
@@ -1,5 +0,0 @@
-
-yang_model (
-  app_name = 'org.onosproject.models.demo',
-  title = 'Demo YANG Model',
-)
diff --git a/models/demo/src/ne-l3vpn-api.yang b/models/demo/src/ne-l3vpn-api.yang
deleted file mode 100644
index 5b0181c..0000000
--- a/models/demo/src/ne-l3vpn-api.yang
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-WARNING:
-This yang model is just for fuction ONOS opensource project demo purpose only,
-And is subject to change in future, Huawei does not commit provide compatibilty
-in commercial product.
-*/
-module ne-l3vpn-api {
-    namespace "ne-l3vpn-api";
-    prefix l3vpn-api;
-    import ne-l3vpncomm-type {
-        prefix l3vpncomm-type;
-    }
-    import ne-l3vpncomm {
-        prefix l3vpncomm;
-    }
-    organization "Huawei Technologies Co., Ltd";
-    contact "Huawei Industrial Base
-        Bantian, Longgang
-        Shenzhen 518129
-        People's Republic of China
-        Website: http://www.huawei.com
-        Email: support@huawei.com";
-    description "VRP V800R010 Schema";
-    revision "2014-12-25" {
-        reference "Huawei VRPV8 Schema";
-    }
-    container devices {
-        list device {
-            key deviceid;
-            leaf deviceid {
-                type string;
-            }
-            container l3vpn {
-                container l3vpncomm {
-                    container l3vpnInstances {
-                    description "";
-                        list l3vpnInstance {
-                            key "vrfName";
-                            leaf vrfName {
-                                type string;
-                            }
-                            leaf vrfDescription {
-                                type string;
-                            }
-                            uses l3vpncomm:l3vpnIfs;
-                            container vpnInstAFs {
-                                description "";
-                                list vpnInstAF {
-                                    key "afType";
-                                    description "Address family";
-                                    leaf afType {
-                                        type "l3vpncomm-type:l3vpncommonL3vpnPrefixType";
-                                        description "Address family";
-                                    }
-                                    leaf vrfRD {
-                                        when "vrfName != '_public_'";
-                                        type "string";
-                                        description "route-distinguisher.";
-                                    }
-                                    container vpnTargets {
-                                        description "";
-                                        list vpnTarget {
-                                            must "vrfName != '_public_' and vpnTarget = '0'";
-                                            key "vrfRTValue vrfRTType";
-                                            description "L3vpn vpntarget configure class";
-                                            leaf vrfRTValue {
-                                                type "string";
-                                            }
-                                            leaf vrfRTType {
-                                                type "l3vpncomm-type:l3vpncommonVrfRtType";
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/models/demo/src/ne-l3vpncomm-type.yang b/models/demo/src/ne-l3vpncomm-type.yang
deleted file mode 100644
index 3e4e10c..0000000
--- a/models/demo/src/ne-l3vpncomm-type.yang
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-WARNING:
-This yang model is just for fuction ONOS opensource project demo purpose only,
-And is subject to change in future, Huawei does not commit provide compatibilty
-in commercial product.
-*/
-module ne-l3vpncomm-type {
-    namespace "l3vpn-comm-type";
-    prefix l3vpncomm-type;
-    organization "Huawei Technologies Co., Ltd";
-    contact "Huawei Industrial Base
-        Bantian, Longgang
-        Shenzhen 518129
-        People's Republic of China
-        Website: http://www.huawei.com
-        Email: support@huawei.com";
-    description "";
-    revision "2014-12-25" {
-        description "Initial version";
-    }
-    typedef l3vpncommonL3vpnPrefixType {
-        type enumeration {
-            enum "ipv4uni" {
-                value 0;
-                description "ipv4uni:";
-            }
-            enum "ipv6uni" {
-                value 1;
-                description "ipv6uni:";
-            }
-        }
-        description "";
-        }
-        typedef l3vpncommonVrfRtType {
-            type enumeration {
-                enum "export_extcommunity" {
-                    value 0;
-                    description "export-extcommunity:";
-                }
-                enum "import_extcommunity" {
-                    value 1;
-                    description "import-extcommunity:";
-                }
-            }
-            description "";
-        }
-        typedef ipv4Address {
-        type string {
-            length "0..255";
-            pattern "((([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}
-            ([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))";
-        }
-    }
-}
diff --git a/models/demo/src/ne-l3vpncomm.yang b/models/demo/src/ne-l3vpncomm.yang
deleted file mode 100644
index b03c382..0000000
--- a/models/demo/src/ne-l3vpncomm.yang
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-WARNING:
-This yang model is just for fuction ONOS opensource project demo purpose only,
-And is subject to change in future, Huawei does not commit provide compatibilty
-in commercial product.
-*/
-module ne-l3vpncomm {
-    namespace "ne-l3vpn-comm";
-    prefix "l3vpncomm";
-    import ne-l3vpncomm-type {
-        prefix l3vpncomm-type;
-    }
-    organization "Huawei Technologies Co., Ltd";
-    contact "Huawei Industrial Base
-        Bantian, Longgang
-        Shenzhen 518129
-        People's Republic of China
-        Website: http://www.huawei.com
-        Email: support@huawei.com";
-    description "";
-    revision "2014-12-25" {
-        description "Initial version";
-    }
-    grouping l3vpnIfs {
-        container l3vpnIfs {
-        description "";
-            list l3vpnIf {
-                key "ifName";
-                description "interface Name.";
-                leaf ifName {
-                    type string;
-                    description "interface Name";
-                }
-                leaf ipv4Addr {
-                    when "subnetMask != null";
-                    mandatory "true";
-                    type "l3vpncomm-type:ipv4Address";
-                    description "Interface Address.";
-                }
-                leaf subnetMask {
-                    when "ipv4Addr != null";
-                    mandatory "true";
-                    type "l3vpncomm-type:ipv4Address";
-                    description "Interface address mask.";
-                }
-            }
-        }
-    }
-}
diff --git a/models/huawei/BUCK b/models/huawei/BUCK
new file mode 100644
index 0000000..301456a
--- /dev/null
+++ b/models/huawei/BUCK
@@ -0,0 +1,5 @@
+
+yang_model (
+  app_name = 'org.onosproject.models.huawei',
+  title = 'Huawei YANG Model',
+)
diff --git a/drivers/huawei/yangmodel/src/main/yang/ne-bgpcomm-type.yang b/models/huawei/src/main/yang/ne-bgpcomm-type.yang
similarity index 100%
rename from drivers/huawei/yangmodel/src/main/yang/ne-bgpcomm-type.yang
rename to models/huawei/src/main/yang/ne-bgpcomm-type.yang
diff --git a/drivers/huawei/yangmodel/src/main/yang/ne-bgpcomm.yang b/models/huawei/src/main/yang/ne-bgpcomm.yang
similarity index 100%
rename from drivers/huawei/yangmodel/src/main/yang/ne-bgpcomm.yang
rename to models/huawei/src/main/yang/ne-bgpcomm.yang
diff --git a/drivers/huawei/yangmodel/src/main/yang/ne-l3vpn-api.yang b/models/huawei/src/main/yang/ne-l3vpn-api.yang
similarity index 100%
rename from drivers/huawei/yangmodel/src/main/yang/ne-l3vpn-api.yang
rename to models/huawei/src/main/yang/ne-l3vpn-api.yang
diff --git a/drivers/huawei/yangmodel/src/main/yang/ne-l3vpncomm-type.yang b/models/huawei/src/main/yang/ne-l3vpncomm-type.yang
similarity index 100%
rename from drivers/huawei/yangmodel/src/main/yang/ne-l3vpncomm-type.yang
rename to models/huawei/src/main/yang/ne-l3vpncomm-type.yang
diff --git a/drivers/huawei/yangmodel/src/main/yang/ne-l3vpncomm.yang b/models/huawei/src/main/yang/ne-l3vpncomm.yang
similarity index 100%
rename from drivers/huawei/yangmodel/src/main/yang/ne-l3vpncomm.yang
rename to models/huawei/src/main/yang/ne-l3vpncomm.yang
diff --git a/modules.defs b/modules.defs
index e03e8f2..9d0b53e 100644
--- a/modules.defs
+++ b/modules.defs
@@ -201,7 +201,7 @@
 ]
 
 MODELS = [
-    '//models/demo:onos-models-demo-oar',
+    '//models/huawei:onos-models-huawei-oar',
     '//models/openroadm:onos-models-openroadm-oar',
     '//models/l3vpn:onos-models-l3vpn-oar',
 ]