Bump up openstack4j to 3.1.0 with dependency updated

Change-Id: If8bef8a9e9ebd71b32433555bfdaed406f7e40c3
diff --git a/apps/openstacknetworking/BUCK b/apps/openstacknetworking/BUCK
index 4a5d19c..f6a3a5d 100644
--- a/apps/openstacknetworking/BUCK
+++ b/apps/openstacknetworking/BUCK
@@ -1,14 +1,20 @@
 COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//lib:KRYO',
-  '//core/store/serializers:onos-core-serializers',
-  '//lib:org.apache.karaf.shell.console',
-  '//lib:javax.ws.rs-api',
-  '//utils/rest:onlab-rest',
-  '//cli:onos-cli',
-  '//apps/openstacknode/api:onos-apps-openstacknode-api',
-  '//lib:openstack4j-core',
+    '//lib:CORE_DEPS',
+    '//lib:JACKSON',
+    '//lib:KRYO',
+    '//core/store/serializers:onos-core-serializers',
+    '//lib:org.apache.karaf.shell.console',
+    '//lib:javax.ws.rs-api',
+    '//utils/rest:onlab-rest',
+    '//cli:onos-cli',
+    '//apps/openstacknode/api:onos-apps-openstacknode-api',
+    '//lib:openstack4j-core',
+    '//lib:openstack4j-http-connector',
+    '//lib:openstack4j-httpclient',
+    '//lib:json-patch',
+    '//lib:jackson-coreutils',
+    '//lib:btf',
+    '//lib:msg-simple',
 ]
 
 TEST_DEPS = [
@@ -17,23 +23,43 @@
     '//core/common:onos-core-common-tests',
 ]
 
+BUNDLES = [
+    '//apps/openstacknetworking:onos-apps-openstacknetworking',
+]
+
+EXCLUDED_BUNDLES = [
+    '//lib:openstack4j-core',
+    '//lib:openstack4j-http-connector',
+    '//lib:openstack4j-httpclient',
+    '//lib:json-patch',
+    '//lib:jackson-coreutils',
+    '//lib:btf',
+    '//lib:msg-simple',
+    '//lib:spifly-bundle',
+    '//lib:spifly-weaver',
+    '//lib:spifly-core',
+    '//lib:aries-util',
+]
+
 osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-  web_context = '/onos/openstacknetworking',
-  api_title = 'OpenStack Networking API',
-  api_version = '1.0',
-  api_description = 'REST API for OpenStack Networking',
-  api_package = 'org.onosproject.openstacknetworking.web',
+    deps = COMPILE_DEPS,
+    test_deps = TEST_DEPS,
+    web_context = '/onos/openstacknetworking',
+    api_title = 'OpenStack Networking API',
+    api_version = '1.0',
+    api_description = 'REST API for OpenStack Networking',
+    api_package = 'org.onosproject.openstacknetworking.web',
 )
 
 onos_app (
-  app_name = 'org.onosproject.openstacknetworking',
-  title = 'OpenStack Networking',
-  category = 'Utility',
-  url = 'http://onosproject.org',
-  description = 'OpenStack Networking application.',
-  required_apps = [
-    'org.onosproject.openstacknode'
-  ]
+    app_name = 'org.onosproject.openstacknetworking',
+    title = 'OpenStack Networking',
+    category = 'Utility',
+    url = 'http://onosproject.org',
+    included_bundles = BUNDLES,
+    excluded_bundles = EXCLUDED_BUNDLES,
+    description = 'OpenStack Networking application.',
+    required_apps = [
+        'org.onosproject.openstacknode'
+    ]
 )
diff --git a/apps/openstacknetworking/app.xml b/apps/openstacknetworking/app.xml
new file mode 100644
index 0000000..2f8c3db
--- /dev/null
+++ b/apps/openstacknetworking/app.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2018-present Open Networking Foundation
+  ~
+  ~ 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.
+  -->
+<app name="org.onosproject.openstacknetworking" origin="ON.Lab" version="${project.version}"
+     category="Traffic Steering" url="http://onosproject.org" title="OpenStack Networking App"
+     featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
+     features="${project.artifactId}">
+    <description>${project.description}</description>
+    <artifact>mvn:${project.groupId}/onos-apps-openstacknetworking/${project.version}</artifact>
+</app>
diff --git a/apps/openstacknetworking/features.xml b/apps/openstacknetworking/features.xml
new file mode 100644
index 0000000..4ae8836
--- /dev/null
+++ b/apps/openstacknetworking/features.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  ~ Copyright 2018-present Open Networking Foundation
+  ~
+  ~ 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.
+  -->
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
+    <feature name="${project.artifactId}" version="${project.version}"
+             description="${project.description}">
+        <feature>onos-api</feature>
+        <bundle>mvn:${project.groupId}/onos-apps-openstacknetworking/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/onos-apps-openstacknode-api/${project.version}</bundle>
+    </feature>
+</features>
diff --git a/apps/openstacknetworking/pom.xml b/apps/openstacknetworking/pom.xml
index d3f08d6..ae865d6 100644
--- a/apps/openstacknetworking/pom.xml
+++ b/apps/openstacknetworking/pom.xml
@@ -150,17 +150,37 @@
         <dependency>
             <groupId>org.pacesys</groupId>
             <artifactId>openstack4j-core</artifactId>
-            <version>2.11</version>
+            <version>3.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.pacesys.openstack4j.connectors</groupId>
             <artifactId>openstack4j-http-connector</artifactId>
-            <version>2.11</version>
+            <version>3.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.pacesys.openstack4j.connectors</groupId>
             <artifactId>openstack4j-httpclient</artifactId>
-            <version>2.11</version>
+            <version>3.1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.fge</groupId>
+            <artifactId>json-patch</artifactId>
+            <version>1.9</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.fge</groupId>
+            <artifactId>jackson-coreutils</artifactId>
+            <version>1.6</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.fge</groupId>
+            <artifactId>btf</artifactId>
+            <version>1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.fge</groupId>
+            <artifactId>msg-simple</artifactId>
+            <version>1.1</version>
         </dependency>
     </dependencies>
 
@@ -212,7 +232,11 @@
                         <Embed-Dependency>
                             openstack4j-core,
                             openstack4j-http-connector,
-                            openstack4j-httpclient
+                            openstack4j-httpclient,
+                            json-patch,
+                            jackson-coreutils,
+                            btf,
+                            msg-simple
                         </Embed-Dependency>
                     </instructions>
                 </configuration>
diff --git a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackSyncStateCommand.java b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackSyncStateCommand.java
index 24308ff..e89141b 100644
--- a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackSyncStateCommand.java
+++ b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackSyncStateCommand.java
@@ -28,7 +28,7 @@
 import org.onosproject.openstacknetworking.api.OpenstackSecurityGroupService;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.api.exceptions.AuthenticationException;
-import org.openstack4j.model.identity.Access;
+import org.openstack4j.model.identity.v2.Access;
 import org.openstack4j.model.network.IP;
 import org.openstack4j.model.network.NetFloatingIP;
 import org.openstack4j.model.network.Network;
@@ -90,7 +90,7 @@
 
         Access osAccess;
         try {
-            osAccess = OSFactory.builder()
+            osAccess = OSFactory.builderV2()
                     .endpoint(this.endpoint)
                     .tenantName(this.tenant)
                     .credentials(this.user, this.password)
diff --git a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java
index 3b7b38c..8e03ba5 100644
--- a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java
+++ b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java
@@ -38,6 +38,8 @@
 import org.onosproject.store.service.StorageService;
 import org.onosproject.store.service.Versioned;
 import org.openstack4j.model.network.IPVersionType;
+import org.openstack4j.model.network.Ipv6AddressMode;
+import org.openstack4j.model.network.Ipv6RaMode;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.NetworkType;
 import org.openstack4j.model.network.Port;
@@ -95,6 +97,8 @@
             .register(NeutronPool.class)
             .register(NeutronHostRoute.class)
             .register(IPVersionType.class)
+            .register(Ipv6AddressMode.class)
+            .register(Ipv6RaMode.class)
             .build();
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
diff --git a/lib/BUCK b/lib/BUCK
index a8398f5..3feb1b3 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Thu, 8 Feb 2018 01:20:40 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Fri, 9 Feb 2018 12:32:20 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
@@ -1232,28 +1232,109 @@
 
 remote_jar (
   name = 'openstack4j-core',
-  out = 'openstack4j-core-2.11.jar',
-  url = 'mvn:org.pacesys:openstack4j-core:jar:2.11',
-  sha1 = '583f508c55f5dceb90504a4a8a0590afb8a8a03a',
-  maven_coords = 'org.pacesys:openstack4j-core:2.11',
+  out = 'openstack4j-core-3.1.0.jar',
+  url = 'mvn:org.pacesys:openstack4j-core:jar:3.1.0',
+  sha1 = '634c2ad6728bb6e4cd91c950dd654aacb6f107a6',
+  maven_coords = 'org.pacesys:openstack4j-core:3.1.0',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'openstack4j-http-connector',
-  out = 'openstack4j-http-connector-2.11.jar',
-  url = 'mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:jar:2.11',
-  sha1 = 'a153800e114916b4125de2cdb743497c0f99aef5',
-  maven_coords = 'org.pacesys.openstack4j.connectors:openstack4j-http-connector:2.11',
+  out = 'openstack4j-http-connector-3.1.0.jar',
+  url = 'mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:jar:3.1.0',
+  sha1 = '5bbd558313f13daac819bbbe56ae8432e64409d9',
+  maven_coords = 'org.pacesys.openstack4j.connectors:openstack4j-http-connector:3.1.0',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'openstack4j-httpclient',
-  out = 'openstack4j-httpclient-2.11.jar',
-  url = 'mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:2.11',
-  sha1 = 'd050e21295959a4ce2c07ca193ccbe28d8bfa3c1',
-  maven_coords = 'org.pacesys.openstack4j.connectors:openstack4j-httpclient:2.11',
+  out = 'openstack4j-httpclient-3.1.0.jar',
+  url = 'mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:3.1.0',
+  sha1 = 'acb413e27cc43f4bbcee99300befffcf667de579',
+  maven_coords = 'org.pacesys.openstack4j.connectors:openstack4j-httpclient:3.1.0',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'json-patch',
+  out = 'json-patch-1.9.jar',
+  url = 'mvn:com.github.fge:json-patch:jar:1.9',
+  sha1 = '0a4c3c97a0f5965dec15795acf40d3fbc897af4b',
+  maven_coords = 'com.github.fge:json-patch:1.9',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'jackson-coreutils',
+  out = 'jackson-coreutils-1.6.jar',
+  url = 'mvn:com.github.fge:jackson-coreutils:jar:1.6',
+  sha1 = '9e6af56eb7cc2a65700b289abc7ee2bd170fd231',
+  maven_coords = 'com.github.fge:jackson-coreutils:1.6',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'btf',
+  out = 'btf-1.2.jar',
+  url = 'mvn:com.github.fge:btf:jar:1.2',
+  sha1 = '9e66651022eb86301b348d57e6f59459effc343b',
+  maven_coords = 'com.github.fge:btf:1.2',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'msg-simple',
+  out = 'msg-simple-1.1.jar',
+  url = 'mvn:com.github.fge:msg-simple:jar:1.1',
+  sha1 = 'f261263e13dd4cfa93cc6b83f1f58f619097a2c4',
+  maven_coords = 'com.github.fge:msg-simple:1.1',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'spifly-bundle',
+  out = 'org.apache.aries.spifly.dynamic.bundle-1.0.10.jar',
+  url = 'mvn:org.apache.aries.spifly:org.apache.aries.spifly.dynamic.bundle:jar:1.0.10',
+  sha1 = '0431cb51cd15566375e8b2bab366f611c8ea4175',
+  maven_coords = 'org.apache.aries.spifly:org.apache.aries.spifly.dynamic.bundle:1.0.10',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'spifly-weaver',
+  out = 'org.apache.aries.spifly.weaver-internal-1.0.10.jar',
+  url = 'mvn:org.apache.aries.spifly:org.apache.aries.spifly.weaver-internal:jar:1.0.10',
+  sha1 = 'c599c8b8bf33a0ce485c4af11f1ec5e8cabf993c',
+  maven_coords = 'org.apache.aries.spifly:org.apache.aries.spifly.weaver-internal:jar:NON-OSGI:1.0.10',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'spifly-core',
+  out = 'org.apache.aries.spifly.core-internal-1.0.10.jar',
+  url = 'mvn:org.apache.aries.spifly:org.apache.aries.spifly.core-internal:jar:1.0.10',
+  sha1 = '63b43dbb8a0675f3236fcc3cabb161ae105992cf',
+  maven_coords = 'org.apache.aries.spifly:org.apache.aries.spifly.core-internal:jar:NON-OSGI:1.0.10',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'aries-util',
+  out = 'org.apache.aries.util-1.1.1.jar',
+  url = 'mvn:org.apache.aries:org.apache.aries.util:jar:1.1.1',
+  sha1 = '74f3f1c6cc23a737d5f323e05f4f3b55d8bd0eb8',
+  maven_coords = 'org.apache.aries:org.apache.aries.util:1.1.1',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'guava20',
+  out = 'guava-20.0.jar',
+  url = 'mvn:com.google.guava:guava:jar:20.0',
+  sha1 = '89507701249388e1ed5ddcf8c41f4ce1be7831ef',
+  maven_coords = 'com.google.guava:guava:20.0',
   visibility = [ 'PUBLIC' ],
 )
 
diff --git a/lib/deps.json b/lib/deps.json
index 24d7779..bdad810 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -234,9 +234,19 @@
     "mibs-net-snmp": "mvn:org.onosproject:mibbler-mibs-net-snmp:1.0-20151221.1",
     "mibs-rfc": "mvn:org.onosproject:mibbler-mibs-rfc:1.0-20151221.1",
     // Openstack4j related jars
-    "openstack4j-core": "mvn:org.pacesys:openstack4j-core:2.11",
-    "openstack4j-http-connector": "mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:2.11",
-    "openstack4j-httpclient": "mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:2.11",
+    "openstack4j-core": "mvn:org.pacesys:openstack4j-core:3.1.0",
+    "openstack4j-http-connector": "mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:3.1.0",
+    "openstack4j-httpclient": "mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:3.1.0",
+    "json-patch": "mvn:com.github.fge:json-patch:1.9",
+    "jackson-coreutils": "mvn:com.github.fge:jackson-coreutils:1.6",
+    "btf": "mvn:com.github.fge:btf:1.2",
+    "msg-simple": "mvn:com.github.fge:msg-simple:1.1",
+    "spifly-bundle": "mvn:org.apache.aries.spifly:org.apache.aries.spifly.dynamic.bundle:1.0.10",
+    "spifly-weaver": "mvn:org.apache.aries.spifly:org.apache.aries.spifly.weaver-internal:1.0.10",
+    "spifly-core": "mvn:org.apache.aries.spifly:org.apache.aries.spifly.core-internal:1.0.10",
+    "aries-util": "mvn:org.apache.aries:org.apache.aries.util:1.1.1",
+    "guava20": "mvn:com.google.guava:guava:20.0",
+
     // Note: update BVER in tools/dev/bin/patch-yang-libs
     "onos-yang-model":"mvn:org.onosproject:onos-yang-model:2.3.1",
     "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:2.3.1",