neutron.git
8 years agoBug 4807 fix destination type in subnets yang 51/31551/2
Vishal Thapar [Thu, 17 Dec 2015 21:15:05 +0000 (02:45 +0530)]
Bug 4807 fix destination type in subnets yang

host-routes attribute of subnets has destination
field defined as type inet:ip-address. As per Neutron
APIv2 spec it should be of type CIDR

Fix is to change it to ip-prefix

Change-Id: I0c8653b2e24eac06d98c5afd679a0a70d6669e3b
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agoMerge "Drop properties from features.xml"
Flavio Fernandes [Tue, 15 Dec 2015 16:57:30 +0000 (16:57 +0000)]
Merge "Drop properties from features.xml"

8 years agoMerge "Bug 4745 - extra dhcp opt: neutron API updated to include ip_version"
Flavio Fernandes [Mon, 14 Dec 2015 15:40:59 +0000 (15:40 +0000)]
Merge "Bug 4745 - extra dhcp opt: neutron API updated to include ip_version"

8 years agoDrop properties from features.xml 89/31189/2
Stephen Kitt [Fri, 11 Dec 2015 10:20:54 +0000 (11:20 +0100)]
Drop properties from features.xml

features-parent allows properties to be replaced with {{VERSION}} in
many places in features.xml; this helps clean up odlparent.

Change-Id: I38ef9c8668c92f9e1aced7466db110bf7626a6f7
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoBug 4745 - extra dhcp opt: neutron API updated to include ip_version 42/31042/1
Isaku Yamahata [Tue, 8 Dec 2015 21:04:55 +0000 (13:04 -0800)]
Bug 4745 - extra dhcp opt: neutron API updated to include ip_version

Exception occurs as follows with the context of extra_dhcp_opts.
Neutron API of extra_dhcp_opts added ip_version to distinguish ipv4 and ip6.
It needs to be handled, otherwise exception occurs.

create/update port with extra_dhcp_opts
    "extra_dhcp_opts": [
      {
        "opt_value": "pxelinux.0",
        "ip_version": 4,
        "opt_name": "bootfile-name"
      },
      {
        "opt_value": "123.123.123.45",
        "ip_version": 4,
        "opt_name": "server-ip-address"
      },
      {
        "opt_value": "123.123.123.123",
        "ip_version": 4,
        "opt_name": "tftp-server"
      }

> 2015-12-08 10:06:30,307 | ERROR | v2/neutron/ports | ContainerResponse                | 47 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
> java.lang.IllegalArgumentException: All keys must be specified for class org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.ExtraDhcpOptsKey. Missing key is getIpVersion. Supplied key is ExtraDhcpOptsKey [_optName=bootfile-na
> me]
>         at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
>         at org.opendaylight.yangtools.binding.data.codec.impl.ValueContext.getAndSerialize(ValueContext.java:46)
>         at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:124)
>         at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:31)
>         at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.serialize(KeyedListNodeCodecContext.java:80)
>         at org.opendaylight.yangtools.binding.data.codec.impl.BindingToNormalizedStreamWriter.startMapEntryNode(BindingToNormalizedStreamWriter.java:156)
>         at org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.ExtraDhcpOpts$StreamWriter.serialize(DataObjectSerializerPrototype.java)
>         at org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port$StreamWriter.serialize(DataObjectSerializerPrototype.java)
>         at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry$DataObjectSerializerProxy.serialize(BindingNormalizedNodeCodecRegistry.java:295)
>         at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:106)
>         at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:133)
>         at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.put(AbstractWriteTransaction.java:39)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.updateMd(AbstractNeutronInterface.java:177)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.addMd(AbstractNeutronInterface.java:151)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.add(AbstractNeutronInterface.java:360)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface$8.action(AbstractNeutronInterface.java:370)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface$8.action(AbstractNeutronInterface.java:367)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.chainWrapper1(AbstractNeutronInterface.java:94)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.add(AbstractNeutronInterface.java:366)
>         at org.opendaylight.neutron.northbound.api.AbstractNeutronNorthboundIAware.create(AbstractNeutronNorthboundIAware.java:64)[235:org.opendaylight.neutron.northbound-api:0.6.0.SNAPSHOT]
>         at org.opendaylight.neutron.northbound.api.NeutronPortsNorthbound.createPorts(NeutronPortsNorthbound.java:247)[235:org.opendaylight.neutron.northbound-api:0.6.0.SNAPSHOT]
>         at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_45-internal]
>         at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_45-internal]
>         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)[47:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)[174:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)[174:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)[174:com.sun.jersey.servlet:1.17.0]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[142:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[157:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[157:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[157:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.Server.handle(Server.java:366)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[148:org.eclipse.jetty.aggregate.jetty-all-server:8.

Change-Id: I6f2713ad6baedd60be58dbd38ca420906157810a
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoMerge "L2gateway: Added yang, APIs,Transcriber for L2gateway."
Flavio Fernandes [Fri, 4 Dec 2015 16:00:04 +0000 (16:00 +0000)]
Merge "L2gateway: Added yang, APIs,Transcriber for L2gateway."

8 years agoL2gateway: Added yang, APIs,Transcriber for L2gateway. 98/24598/9
raveek [Wed, 29 Jul 2015 21:08:25 +0000 (02:53 +0545)]
L2gateway: Added yang, APIs,Transcriber for L2gateway.

Patch Set 4: Removed I*Aware related code, Addressed review comments.

Patch Set 5: Aligned code with merged changes. Addressed review
comments.
Openstack Neutron API:
https://github.com/openstack/networking-l2gw/blob/master/specs/kilo/l2-gateway-api.rst
Patch Set 8: fixed the review comments

Patch Set 9: fixed the review comments

Change-Id: Icfc93bc39f56f6b103b13834359128f29df804b9
Signed-off-by: raveek <raveek@hp.com>
8 years agoBug 4188 - null pointer exception in NeutronSubnetInterface.addSubnet() 97/25997/2
Isaku Yamahata [Thu, 20 Aug 2015 23:50:53 +0000 (16:50 -0700)]
Bug 4188 - null pointer exception in NeutronSubnetInterface.addSubnet()

When subnet is updated, the following exception happends.
This is because the corresponding network isn't always created before
subnet creation depending on situation.
The order of creation/update of network and subnet can be reordered.

In fact subnets list of network in MD-SAL isn't already well-maintained,
and it can be calculated from list of subnets with its parent network uuid.
Actually Openstack Neutron db generates subnet list by foreign key
with ORM mapper. So it makes sense for ODL neutron northbound to
eliminate subnet list instead of maintaining subnet list correct.

> 2015-08-20 14:10:21,025 | ERROR | p492280269-15502 | ContainerResponse                | 195 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
> java.lang.NullPointerException
>         at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.addSubnet(NeutronSubnetInterface.java:118)
>         at org.opendaylight.neutron.northbound.api.NeutronSubnetsNorthbound.createSubnets(NeutronSubnetsNorthbound.java:218)[373:org.opendaylight.neutron.northbound-api:0.6.0.SNAPSHOT]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_79]
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_79]
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_79]
>         at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_79]
>         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)[196:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)[196:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)[196:com.sun.jersey.servlet:1.17.0]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[159:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[174:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[174:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[174:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.Server.handle(Server.java:370)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]

Change-Id: Ie7861ae292ee7a1666505f0901cad99fb29a9ff3
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoMerge changes from topic 'bgpvpn-fixup'
Flavio Fernandes [Fri, 23 Oct 2015 17:29:36 +0000 (17:29 +0000)]
Merge changes from topic 'bgpvpn-fixup'

* changes:
  use INeutronObject instead of NeutronObject where possible
  bgpvpn: simplify bgpvpn related code
  northbound: Split out AD-SAL logic from AbstractNeturonNorthbound

8 years agoremove unused ConcurrentHashMap 29/28529/1
Isaku Yamahata [Fri, 16 Oct 2015 23:42:50 +0000 (16:42 -0700)]
remove unused ConcurrentHashMap

The variable somehow was missed to be deleted.

Change-Id: I9784b64ee7b32154241d0efe183756e60404b251
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agouse INeutronObject instead of NeutronObject where possible 34/28234/2
Isaku Yamahata [Fri, 9 Oct 2015 22:46:33 +0000 (15:46 -0700)]
use INeutronObject instead of NeutronObject where possible

Change-Id: Id5abdaa58af68985d4ec88ecfd4a1e0c9a60b653
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agobgpvpn: simplify bgpvpn related code 33/28233/2
Isaku Yamahata [Fri, 9 Oct 2015 20:01:09 +0000 (13:01 -0700)]
bgpvpn: simplify bgpvpn related code

This patch simplifies bgpvpn related code.

Change-Id: I36fdb996d4b20dfb1319ec11fe815a882b1bed85
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agonorthbound: Split out AD-SAL logic from AbstractNeturonNorthbound 32/28232/2
Isaku Yamahata [Fri, 9 Oct 2015 18:43:46 +0000 (11:43 -0700)]
northbound: Split out AD-SAL logic from AbstractNeturonNorthbound

This is a follow up patch for
  changeset of 43f88bf737adcb2e5df9e106d8b491de1549c41d
  change id of I3de3f9461047363501f0e3a6428580f93402c65b
  Neutron*Northbound: consolidate crud logic
and
  changeset of aafe31458a9990f50023566aed7f7b296b95067c,
  change id of I2c36c104dbd6c891a36c10419ed28d8060958d29.
  BGPVPN: Added yang, api and transcriber for BGPVPN

bgpvpn which was newly introduced after AD-SAL deprection doesn't implement
AD-SAL. So the class of NeutronBgpvpnsNorthbound requires its super class,
AbstractNeutronNorthbound, not to use AD-SAL.
This patch factors out ad-sal logic from AbstractNeutronNorthbound
into new subclass, AbstractNeutronNorthboundIAware with minor compilation
adjustment.

Change-Id: I9ce990558f178f1571cfac9760dd333b5b40174f
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoNeutron_ID: check uuid string format 65/28365/1
Isaku Yamahata [Wed, 14 Oct 2015 04:11:48 +0000 (21:11 -0700)]
Neutron_ID: check uuid string format

This patch adds check of uuid string format.
also it removes unnecessary String.valueof for consistency.

Change-Id: I340e2098a9f237b35c1072192adf37d265e56f65
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoAlign BGPVPN code with merged changes 18/28218/1
Ryan Moats [Fri, 9 Oct 2015 16:35:03 +0000 (11:35 -0500)]
Align BGPVPN code with merged changes

Change-Id: I508a718ed2a9063d83ddff276dc8cb2848d583cd
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoMerge "BGPVPN: Added yang, api and transcriber for BGPVPN"
Ryan Moats [Fri, 9 Oct 2015 15:35:20 +0000 (15:35 +0000)]
Merge "BGPVPN: Added yang, api and transcriber for BGPVPN"

8 years agoMerge changes from topic 'northbound-refactor'
Ryan Moats [Fri, 9 Oct 2015 15:24:30 +0000 (15:24 +0000)]
Merge changes from topic 'northbound-refactor'

* changes:
  Neutron*Northbound: consolidate crud logic
  NeutronObject: add initDefaults() method to NeutronObject

8 years agoMerge "Changes to prepare for MOXy 2.6.x"
Ed Warnicke [Fri, 9 Oct 2015 15:22:49 +0000 (15:22 +0000)]
Merge "Changes to prepare for MOXy 2.6.x"

8 years agoMerge "northgound: Make Neutron*Request implements INeutronRequest interface"
Ryan Moats [Fri, 9 Oct 2015 15:22:29 +0000 (15:22 +0000)]
Merge "northgound: Make Neutron*Request implements INeutronRequest interface"

8 years agoReversion yang model 42/24042/6
Ryan Moats [Sun, 12 Jul 2015 20:01:53 +0000 (15:01 -0500)]
Reversion yang model

With the yang model cleanup, we really need to reversion it.
This patch will need notification of downstream projects

Change-Id: Iba70ab1a2ac66e9e0e880dd5384966ac2f77b7a9
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoMerge "Bug 4365 - Null pointer exception at org.opendaylight.neutron.spi.NeutronNetwo...
Ryan Moats [Thu, 8 Oct 2015 15:20:32 +0000 (15:20 +0000)]
Merge "Bug 4365 - Null pointer exception at org.opendaylight.neutron.spi.NeutronNetwork.addSubnet"

8 years agoMerge "Fixes Bug 4379"
Ryan Moats [Thu, 8 Oct 2015 15:16:05 +0000 (15:16 +0000)]
Merge "Fixes Bug 4379"

8 years agoMerge "Fixes Bug 4345"
Ryan Moats [Thu, 8 Oct 2015 15:14:37 +0000 (15:14 +0000)]
Merge "Fixes Bug 4345"

8 years agoMerge "Bug 4354 - neutron tenant_id doens't contain '-'(dash)"
Ryan Moats [Thu, 8 Oct 2015 15:13:46 +0000 (15:13 +0000)]
Merge "Bug 4354 - neutron tenant_id doens't contain '-'(dash)"

8 years agoChanges to prepare for MOXy 2.6.x 64/28064/1
Ryan Moats [Thu, 8 Oct 2015 15:11:12 +0000 (10:11 -0500)]
Changes to prepare for MOXy 2.6.x

MOXy 2.6.x adds additional dependencies that need to be included.

Change-Id: I5ababbabef78f1eaf7a35d2fd0c2a76f5ae4c7de
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoBug 4365 - Null pointer exception at 24/27624/4
raveek [Wed, 30 Sep 2015 03:26:04 +0000 (08:56 +0530)]
Bug 4365 - Null pointer exception at
org.opendaylight.neutron.spi.NeutronNetwork.addSubnet

Change-Id: Iff9b269aa99e6450e67edce718763e11ac4f4a9a
Signed-off-by: raveek <raveek@hp.com>
8 years agoFixes Bug 4379 74/27674/3
Aswin Suryanarayanan [Thu, 1 Oct 2015 02:42:01 +0000 (08:12 +0530)]
Fixes Bug 4379

Change-Id: Ia9ef5461bf44557e72c0a5932ed869d9a275cb52
Signed-off-by: Aswin Suryanarayanan <aswin.suryanarayanan@hp.com>
8 years agoNeutron*Northbound: consolidate crud logic 28/27728/2
Isaku Yamahata [Thu, 1 Oct 2015 00:35:11 +0000 (17:35 -0700)]
Neutron*Northbound: consolidate crud logic

This patch conslidates CRUD logic of Neutron*Northbound.
The refactor sorts out inconsistency between resources. As bonus,
all resources supports bulk creation now.

Change-Id: I3de3f9461047363501f0e3a6428580f93402c65b
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoNeutronObject: add initDefaults() method to NeutronObject 27/27727/2
Isaku Yamahata [Thu, 1 Oct 2015 08:05:28 +0000 (01:05 -0700)]
NeutronObject: add initDefaults() method to NeutronObject

Some of Neutron<Resrouce> classes defines initDefaults() method.
Define the method at the base class as preparation for code consolidation.

Change-Id: I4b3277c28aabd9bc94b2a5efeb3eb06ee749bf1c
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agonorthgound: Make Neutron*Request implements INeutronRequest interface 26/27726/2
Isaku Yamahata [Thu, 1 Oct 2015 00:27:31 +0000 (17:27 -0700)]
northgound: Make Neutron*Request implements INeutronRequest interface

Some Neutron*Request class implements INeutronRequest and some doesn't.
Make all of them implements it.
This is preparation for code consolidation.

Change-Id: I3ceb4fc05b5e3e094be9854d6cd81bc05e6f00db
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoMerge changes from topic 'bug/4143'
Ryan Moats [Wed, 30 Sep 2015 21:34:34 +0000 (21:34 +0000)]
Merge changes from topic 'bug/4143'

* changes:
  simplify NeutronNetworkInterface.networkExists()
  transcriber: make use transaction chain more

8 years agoMerge "transcriber: consolidate getAll() logic"
Ryan Moats [Wed, 30 Sep 2015 21:33:41 +0000 (21:33 +0000)]
Merge "transcriber: consolidate getAll() logic"

8 years agoMerge "Bug 4285 - NeutronSubnetInterface.fromMd() null pointer exception"
Ryan Moats [Wed, 30 Sep 2015 21:32:31 +0000 (21:32 +0000)]
Merge "Bug 4285 - NeutronSubnetInterface.fromMd() null pointer exception"

8 years agoFixes Bug 4345 39/27639/1
Aswin Suryanarayanan [Wed, 30 Sep 2015 21:24:36 +0000 (02:54 +0530)]
Fixes Bug 4345

Change-Id: I01a621f65ebe2afbc54dbc01a40d8b8c21335d78
Signed-off-by: Aswin Suryanarayanan <aswin.suryanarayanan@hp.com>
8 years agoFix -Dkaraf.debug 28/27628/1
Stephen Kitt [Wed, 30 Sep 2015 08:06:46 +0000 (10:06 +0200)]
Fix -Dkaraf.debug

The debug setup needs to come after the main distribution
configuration. This patch moves it to the end, instead of the
commented code which used to enable remote debugging.

Change-Id: I7fbeecf8e1a2063fb1f75c3e2b07df7f73c2f1e1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoBug 4285 - NeutronSubnetInterface.fromMd() null pointer exception 19/27619/1
Isaku Yamahata [Tue, 29 Sep 2015 23:24:18 +0000 (16:24 -0700)]
Bug 4285 - NeutronSubnetInterface.fromMd() null pointer exception

null pointer exception as follows when deleting subnet.
gatewayip, ipv6 ra mode, and ipv6 address mode can be null as
neutron api defines. So fromMd() methods should null check for those.

> 2015-09-29 15:39:16,122 | ERROR | p371782331-48632 | ContainerResponse                | 126 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
> java.lang.NullPointerException
>         at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.fromMd(NeutronSubnetInterface.java:140)
>         at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.fromMd(NeutronSubnetInterface.java:50)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.get(AbstractNeutronInterface.java:314)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface$6.action(AbstractNeutronInterface.java:323)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface$6.action(AbstractNeutronInterface.java:320)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.chainWrapper1(AbstractNeutronInterface.java:94)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.get(AbstractNeutronInterface.java:319)
>         at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.getSubnet(NeutronSubnetInterface.java:80)
>         at org.opendaylight.neutron.northbound.api.NeutronSubnetsNorthbound.deleteSubnet(NeutronSubnetsNorthbound.java:328)[364:org.opendaylight.neutron.northbound-api:0.6.0.SNAPSHOT]
>         at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_60]
>         at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_60]
>         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)[126:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)[127:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)[127:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)[127:com.sun.jersey.servlet:1.17.0]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[38:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[53:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[53:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[53:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.Server.handle(Server.java:370)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[44:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_60]

Change-Id: I454889cb21a98bdbcf5207f6676634b139648d87
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoBGPVPN: Added yang, api and transcriber for BGPVPN 11/26711/8
Vishal Thapar [Wed, 9 Sep 2015 06:48:32 +0000 (12:18 +0530)]
BGPVPN: Added yang, api and transcriber for BGPVPN

Based off BGPVPN blueprint: https://review.openstack.org/#/c/177740/

PatchSet3: Added basic ITs.

PatchSet4: Addressed review comments

PatchSet5:
1. Fixed some typo induced bugs
2. Added code for some missing attributes

PatchSet6: Fill in defaults if missing in update

Patchset7:
Incorporates spi and transcriber changes as per following:
a. https://git.opendaylight.org/gerrit/#/c/26975/
b. https://git.opendaylight.org/gerrit/#/c/27003/

Patchset8:
Addresses review comments in Patchset7

Change-Id: I2c36c104dbd6c891a36c10419ed28d8060958d29
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
8 years agosimplify NeutronNetworkInterface.networkExists() 63/27463/2
Isaku Yamahata [Fri, 25 Sep 2015 19:39:36 +0000 (12:39 -0700)]
simplify NeutronNetworkInterface.networkExists()

Somehow I missed networkExists() when refactoring code.

Change-Id: I8508eafce724ca7dc01d373fe1f36bcb2b5d442b
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agotranscriber: make use transaction chain more 62/26962/5
Isaku Yamahata [Fri, 25 Sep 2015 19:36:15 +0000 (12:36 -0700)]
transcriber: make use transaction chain more

This patch makes AbstractNeutronInterface use transaction chain more
with code simplification.

This is a follow up patch of Change-Id of
I2f79877259acf8f642ffa4877552112f7b0da7b5 and Change-Id of
I4fe57ad42867bbbfc38f4d0175ae417bc15afa0a

Related-Bug: 4143
Change-Id: Ifefcb6a3136d0714281a081167f4a2c494a9218b
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agotranscriber: consolidate getAll() logic 72/27372/4
Isaku Yamahata [Wed, 23 Sep 2015 17:17:12 +0000 (10:17 -0700)]
transcriber: consolidate getAll() logic

This patch factors out the logic of getAll()

Change-Id: I4e529bf7a4b3dfd7a4442ae0f63b4e03f23cb79b
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoMerge "Bug 4143 - Transation failed with OptimisticLockFailedException"
Ryan Moats [Fri, 25 Sep 2015 11:48:57 +0000 (11:48 +0000)]
Merge "Bug 4143 - Transation failed with OptimisticLockFailedException"

8 years agoMerge "transcriber: use transaction chain for optimization"
Ryan Moats [Fri, 25 Sep 2015 11:48:39 +0000 (11:48 +0000)]
Merge "transcriber: use transaction chain for optimization"

8 years agoMerge "Bug 4043 - remote ip prefix of security group is type of ietf ip-prefix"
Ryan Moats [Fri, 25 Sep 2015 11:45:48 +0000 (11:45 +0000)]
Merge "Bug 4043 - remote ip prefix of security group is type of ietf ip-prefix"

8 years agoMerge "Bug 4224 - remote_ip_prefix of metering rule should be type of ip-prefix"
Ryan Moats [Fri, 25 Sep 2015 11:44:30 +0000 (11:44 +0000)]
Merge "Bug 4224 - remote_ip_prefix of metering rule should be type of ip-prefix"

8 years agoMerge changes from topic 'bug/4218'
Ryan Moats [Fri, 25 Sep 2015 11:43:12 +0000 (11:43 +0000)]
Merge changes from topic 'bug/4218'

* changes:
  Bug 4218 - northbound: return 404 when deleting unexisting uuid
  northbound: introduce a base class for nortubhound classes

8 years agoBug 4354 - neutron tenant_id doens't contain '-'(dash) 00/25500/3
Isaku Yamahata [Tue, 15 Sep 2015 10:38:10 +0000 (03:38 -0700)]
Bug 4354 - neutron tenant_id doens't contain '-'(dash)

Neutron tenant_id is uuid without '-'(dash).
Some of fromMd forgets to remove dash.
This patch consolidates the logic of setTenantID() and fixes it.

Change-Id: I5b33a78ff08af0e78a8185fc922a59fd403ce07c
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoMerge "neutron-spi: Introduce base class for Neutron object"
Ryan Moats [Wed, 23 Sep 2015 13:26:34 +0000 (13:26 +0000)]
Merge "neutron-spi: Introduce base class for Neutron object"

8 years agoBug 4143 - Transation failed with OptimisticLockFailedException 32/25332/3
Isaku Yamahata [Sat, 15 Aug 2015 05:01:19 +0000 (22:01 -0700)]
Bug 4143 - Transation failed with OptimisticLockFailedException

transaction in AbstractNeutronInterface.updateMd() can abort with
OptimisticLockFailedException as follows when updating a same resource.
For example, when attaching an interface to a router,
neutron creates a port, then update it right after creation. It may
causes transaction abort.

o.o.controller.sal.restconf.impl.RestconfImpl#updateConfigurationData
has a similar issue and retries 2 times.
By following the precedence, add retry logic to updateMd() to mitigate
transaction abort.

> 2015-08-14 17:20:26,623 | WARN  | ult-dispatcher-4 | ConcurrentDOMDataBroker          | 157 - org.opendaylight.controller.sal-distributed-datastore - 1.3.0.SNAPSHOT | Tx: DOM-183 Error during phase CAN_COMMIT, starting Abort OptimisticLockFailedException{message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was created by other transaction.]]}

Change-Id: I4fe57ad42867bbbfc38f4d0175ae417bc15afa0a
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agotranscriber: use transaction chain for optimization 61/26961/2
Isaku Yamahata [Thu, 10 Sep 2015 23:37:08 +0000 (16:37 -0700)]
transcriber: use transaction chain for optimization

This patch makes transcriber use transaction chain.
The next step is to make subclasses use transaction
chain.

Related-Bug: 4143
Change-Id: I2f79877259acf8f642ffa4877552112f7b0da7b5
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoAdd support for karaf.debug 11/27311/1
Flavio Fernandes [Tue, 22 Sep 2015 19:37:44 +0000 (15:37 -0400)]
Add support for karaf.debug

This is the basic version, a better approach would be to use either
AbstractMdsalTestBase or AbstractConfigTestBase (but the impact is
greater).

Original gerrit [1] caused a regression in that the
keepRuntimeFolder() was done conditionally. That broke things and
had to be reverted.

[1]: https://git.opendaylight.org/gerrit/#/c/26983/

Change-Id: I9fcbdb12fed154d3e2c16908b58bb99418fdc098
Also-By: Stephen Kitt <skitt@redhat.com>
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agoMerge "Revert "Add support for karaf.debug and karaf.keep.unpack""
Flavio Fernandes [Tue, 22 Sep 2015 19:33:30 +0000 (19:33 +0000)]
Merge "Revert "Add support for karaf.debug and karaf.keep.unpack""

8 years agoRevert "Add support for karaf.debug and karaf.keep.unpack" 10/27310/1
Ryan Moats [Tue, 22 Sep 2015 19:21:51 +0000 (19:21 +0000)]
Revert "Add support for karaf.debug and karaf.keep.unpack"

This breaks our IT test reporting in jenkins, so let's try this again.

This reverts commit d9c920c3a3e1fffcdd913e0a880ecbbef231d7fe.

Change-Id: I1592768f3d59d220f5fdad5a48070bf338c9787d
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoMerge "Make I*Aware interfaces deprecated"
Ryan Moats [Tue, 22 Sep 2015 16:40:19 +0000 (16:40 +0000)]
Merge "Make I*Aware interfaces deprecated"

8 years agoMerge "transcriber: consolidate crud logic"
Ryan Moats [Tue, 22 Sep 2015 16:39:55 +0000 (16:39 +0000)]
Merge "transcriber: consolidate crud logic"

8 years agoneutron-spi: Introduce base class for Neutron object 75/26975/3
Isaku Yamahata [Tue, 15 Sep 2015 10:38:10 +0000 (03:38 -0700)]
neutron-spi: Introduce base class for Neutron object

This patch introduce base class for Neutron object for code consolidation.
This is preparation for bug fixing 4157.

Change-Id: Ibc0fc28255c6fcfd022fd1feb2af079cff416a61
Related-Bug: 4157
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoMake I*Aware interfaces deprecated 97/27297/1
Flavio Fernandes [Tue, 22 Sep 2015 15:37:20 +0000 (11:37 -0400)]
Make I*Aware interfaces deprecated

Change-Id: If5995a4e4d2f8e75250da7a99a586f4e96ec00fb
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agoBug 4043 - remote ip prefix of security group is type of ietf ip-prefix 66/26266/3
Isaku Yamahata [Mon, 31 Aug 2015 22:45:42 +0000 (15:45 -0700)]
Bug 4043 - remote ip prefix of security group is type of ietf ip-prefix

remote ip prefix of security group rule should be type of ietf ip-prefix,
not ip-address.

Change-Id: Ibd6c74272e9e3ea9926f0992632bf02303870f0a
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoBug 4224 - remote_ip_prefix of metering rule should be type of ip-prefix 67/26267/3
Isaku Yamahata [Mon, 31 Aug 2015 22:50:01 +0000 (15:50 -0700)]
Bug 4224 - remote_ip_prefix of metering rule should be type of ip-prefix

remote_ip_prefix of metering rule is type of ietf ip-prefix,
not ietf ip-address.

Change-Id: If76c8790812e33f626c30cad6968900bbb59ebb3
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoBug 4325: floating ip update is not working 92/27092/3
Flavio Fernandes [Thu, 17 Sep 2015 04:58:22 +0000 (00:58 -0400)]
Bug 4325: floating ip update is not working

Change-Id: I4e028f396defd11bcd477da0c8a817f45c8fca57
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agoMerge "Bug 4324: neutron port for router must allow empty string as tenant id"
Flavio Fernandes [Thu, 17 Sep 2015 21:44:27 +0000 (21:44 +0000)]
Merge "Bug 4324: neutron port for router must allow empty string as tenant id"

8 years agoBug 4324: neutron port for router must allow empty string as tenant id 91/27091/2
Flavio Fernandes [Thu, 17 Sep 2015 04:55:02 +0000 (00:55 -0400)]
Bug 4324: neutron port for router must allow empty string as tenant id

Patch set 2: complement toMd() by adding corresponding check on from Md()

Change-Id: Ifae54f92f85cc73e744a3b348d03fd7ddd290311
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agotranscriber: consolidate crud logic 03/27003/1
Isaku Yamahata [Tue, 15 Sep 2015 19:47:50 +0000 (12:47 -0700)]
transcriber: consolidate crud logic

This patch refactors transcriber by consolidating crud logic

Change-Id: I25b7ed350ca026abda633949441868483a044281
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoAdd support for karaf.debug and karaf.keep.unpack 83/26983/2
Stephen Kitt [Tue, 15 Sep 2015 13:43:29 +0000 (15:43 +0200)]
Add support for karaf.debug and karaf.keep.unpack

This is the basic version, a better approach would be to use either
AbstractMdsalTestBase or AbstractConfigTestBase (but the impact is
greater).

Patch set 2: use constants instead of bare strings

Change-Id: I8c54da0892c8e969c838edb20902ba123065782c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
8 years agoBug 4218 - northbound: return 404 when deleting unexisting uuid 28/26128/3
Isaku Yamahata [Thu, 27 Aug 2015 19:07:46 +0000 (12:07 -0700)]
Bug 4218 - northbound: return 404 when deleting unexisting uuid

Deleting unexisting uuid results in internal server error right now.
It should return 404(not found) instead so that the neutron ODL driver
can behave gracefully.
This patch is paired with the following networking-odl patch.
https://review.openstack.org/#/c/217872/
https://bugs.launchpad.net/networking-odl/+bug/1489593

Change-Id: I9c4f56f5015148fa6c0cc7216c0917b79752f127
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agonorthbound: introduce a base class for nortubhound classes 27/26127/3
Isaku Yamahata [Thu, 27 Aug 2015 01:00:54 +0000 (18:00 -0700)]
northbound: introduce a base class for nortubhound classes

This patch introduces a base class for nortubhound classes to consolidate
some codes.
Related-Bug: 4218

Change-Id: I6a82944cbab555114b294aef1aff4282e03b0d87
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoBug 4265: NPE when sg.getSecurityRules is null 70/26870/2
Flavio Fernandes [Fri, 11 Sep 2015 20:41:11 +0000 (16:41 -0400)]
Bug 4265: NPE when sg.getSecurityRules is null

Patch set 2: add missing call to multiple_sr_create_test().

Change-Id: I532129d9cc370a0170ccfac63c8fcbe0604f1fe2
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
8 years agoMerge "Remove Metering ConcurrentHashMaps"
Ed Warnicke [Fri, 11 Sep 2015 15:45:13 +0000 (15:45 +0000)]
Merge "Remove Metering ConcurrentHashMaps"

8 years agoMerge "Remove security group and security rule ConcurrentHashMaps"
Ed Warnicke [Fri, 11 Sep 2015 15:45:06 +0000 (15:45 +0000)]
Merge "Remove security group and security rule ConcurrentHashMaps"

8 years agoMerge "Remove ConcurrentHashMaps from LBaaS classes"
Ed Warnicke [Fri, 11 Sep 2015 15:44:48 +0000 (15:44 +0000)]
Merge "Remove ConcurrentHashMaps from LBaaS classes"

8 years agoMerge "Remove use of ConcurrentHashMap from FWaaS transcriber"
Ed Warnicke [Fri, 11 Sep 2015 15:44:22 +0000 (15:44 +0000)]
Merge "Remove use of ConcurrentHashMap from FWaaS transcriber"

8 years agoMerge "Remove ConcurrentHashMaps from VPNaaS Interface classes"
Ed Warnicke [Fri, 11 Sep 2015 15:44:17 +0000 (15:44 +0000)]
Merge "Remove ConcurrentHashMaps from VPNaaS Interface classes"

8 years agoMerge "Migration to use MD-SAL Project"
Ryan Moats [Fri, 11 Sep 2015 15:23:57 +0000 (15:23 +0000)]
Merge "Migration to use MD-SAL Project"

8 years agoMerge "Add IT CRUD tests for FWaaS"
Flavio Fernandes [Fri, 11 Sep 2015 13:59:56 +0000 (13:59 +0000)]
Merge "Add IT CRUD tests for FWaaS"

8 years agoMigration to use MD-SAL Project 53/26353/3
Tony Tkacik [Wed, 2 Sep 2015 14:13:29 +0000 (16:13 +0200)]
Migration to use MD-SAL Project

Change-Id: I2427919e79ca44a43966218b72141de1485e114b
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
8 years agoMigrate restconf dependency 85/26585/1
Tomas Cere [Mon, 7 Sep 2015 06:55:57 +0000 (08:55 +0200)]
Migrate restconf dependency

Change-Id: I6dd7e44a2ac876c36af34616fc3111210fcc3568
Signed-off-by: Tomas Cere <tcere@cisco.com>
8 years agoMerge "Use odlparent jacoco configuration"
Ryan Moats [Sun, 6 Sep 2015 23:23:34 +0000 (23:23 +0000)]
Merge "Use odlparent jacoco configuration"

8 years agoRemove ConcurrentHashMaps from VPNaaS Interface classes 81/26581/1
Ryan Moats [Sun, 6 Sep 2015 23:20:48 +0000 (18:20 -0500)]
Remove ConcurrentHashMaps from VPNaaS Interface classes

Change-Id: I4d06b42702d52f591215b9df3abb73d851b3b55b
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoRemove ConcurrentHashMaps from LBaaS classes 78/26578/2
Ryan Moats [Sun, 6 Sep 2015 14:16:06 +0000 (09:16 -0500)]
Remove ConcurrentHashMaps from LBaaS classes

Side effects:
- fix up the lbaas yang model
- collapsed transcriber LoadBalancerPoolMemberInterface class
  into LoadBalancerPoolInterface class
- collapsed LoadBalancerPoolMemberCRUD methods into
  LoadBalancerPoolCRUD interface
- fix up other neutron-spi classes and northbound classes in line
  with the above changes

Change-Id: I353cced2bcd8c2aad9385b19e0f478df35c0a677
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoRemove use of ConcurrentHashMap from FWaaS transcriber 77/26577/1
Ryan Moats [Sun, 6 Sep 2015 14:05:47 +0000 (09:05 -0500)]
Remove use of ConcurrentHashMap from FWaaS transcriber

Side effects: fix up the fwaas yang models,
fix up up the fwaas neutron-spi pojos

Change-Id: If1c1050775aeba0b3b0b05d33ac963a9cffdb288
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoRemove security group and security rule ConcurrentHashMaps 54/26554/1
Ryan Moats [Sat, 5 Sep 2015 18:10:16 +0000 (13:10 -0500)]
Remove security group and security rule ConcurrentHashMaps

Side Effect: tweak to yang model to make sure the whole kit
and kaboodle hangs together.

Change-Id: I3e9cd68aec27fdd73bd690a9e173ddf44e46fe0b
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoRemove Metering ConcurrentHashMaps 51/26551/1
Ryan Moats [Sat, 5 Sep 2015 17:00:25 +0000 (12:00 -0500)]
Remove Metering ConcurrentHashMaps

Side Effect: tweaks to the yang models so that the
whole kit and kaboodle works correctly.

Change-Id: Iebceaf22ac9f88926ab6295dc7533413985f88a0
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoAdd IT CRUD tests for FWaaS 50/26550/1
Ryan Moats [Sat, 5 Sep 2015 15:07:26 +0000 (10:07 -0500)]
Add IT CRUD tests for FWaaS

Side effect: northbound FWaaS Policy and Rule URL anchors have
been corrected.

Change-Id: Id2bbbbc195b1dd8c75755446da0652bdf3491fdc
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoMerge "Add IT case for Bug 4027"
Flavio Fernandes [Thu, 3 Sep 2015 21:10:13 +0000 (21:10 +0000)]
Merge "Add IT case for Bug 4027"

8 years agoAdd IT case for Bug 4027 77/26477/1
Ryan Moats [Thu, 3 Sep 2015 17:47:24 +0000 (12:47 -0500)]
Add IT case for Bug 4027

This is aimed at helping triage that bug and avoiding regression
in the future

Change-Id: Icb4fabdea56f72ff23ccc4943fb784fe0e0acba0
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoUse odlparent jacoco configuration 88/26288/1
Thanh Ha [Tue, 1 Sep 2015 23:06:15 +0000 (19:06 -0400)]
Use odlparent jacoco configuration

Change-Id: I2e5f58412859823a5e8d60735a2b041d35828819
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoAdd LBaaS CRUD cases to IT 95/25695/4
Ryan Moats [Sat, 22 Aug 2015 16:59:43 +0000 (11:59 -0500)]
Add LBaaS CRUD cases to IT

Side effects:
1. this patch implements Pool Member update semantics as
the first was unavailable
2. to make the PoolMembers northbound functions work properly,
it is necessary to collapse the PoolMemberNorthbound class into
the PoolNorthbound class so that they can use the same root URL.
3. Pool overwirte has been removed as it is causing issues
and will be removed anyway as part of the impending CHM removal.

Change-Id: I9c25f843465781baf343cfd6d764896567cf63cb
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoMerge "Remove Router ConcurrentHashMap"
Ed Warnicke [Fri, 21 Aug 2015 16:39:53 +0000 (16:39 +0000)]
Merge "Remove Router ConcurrentHashMap"

8 years agoMerge "Add VPNaaS related test cases"
Flavio Fernandes [Fri, 21 Aug 2015 15:35:58 +0000 (15:35 +0000)]
Merge "Add VPNaaS related test cases"

8 years agoMerge changes from topics 'remove_fip_chm', 'fip_tests'
Ed Warnicke [Fri, 21 Aug 2015 15:35:26 +0000 (15:35 +0000)]
Merge changes from topics 'remove_fip_chm', 'fip_tests'

* changes:
  Remove Floating IP ConcurrentHashMap
  Add IT cases for Floating IPs

8 years agoMerge "Add IT cases for Security Rules"
Flavio Fernandes [Fri, 21 Aug 2015 15:29:03 +0000 (15:29 +0000)]
Merge "Add IT cases for Security Rules"

8 years agoMerge "Add IT cases for Metering Rules"
Flavio Fernandes [Fri, 21 Aug 2015 15:28:57 +0000 (15:28 +0000)]
Merge "Add IT cases for Metering Rules"

8 years agoMerge "Add IT cases for Metering Labels"
Flavio Fernandes [Fri, 21 Aug 2015 15:28:50 +0000 (15:28 +0000)]
Merge "Add IT cases for Metering Labels"

8 years agoMerge "Add IT cases for Security Groups"
Flavio Fernandes [Fri, 21 Aug 2015 15:28:43 +0000 (15:28 +0000)]
Merge "Add IT cases for Security Groups"

8 years agoAdd VPNaaS related test cases 94/25494/4
Ryan Moats [Wed, 19 Aug 2015 16:21:24 +0000 (11:21 -0500)]
Add VPNaaS related test cases

Add CRUD test cases for VPNaaS classes.  This generated
a bunch of side effects as the YANG model, transcriber classes,
and northbound-api classes all needed cleaning up to make these
tests pass.

Change-Id: I1c89081c42b94b7c038f5289931b01b92ff83d0f
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoBUG #4026 : Missing key is getUuid. Supplied key is RouterKey [] 76/24976/4
Isaku Yamahata [Sat, 8 Aug 2015 18:48:36 +0000 (11:48 -0700)]
BUG #4026 : Missing key is getUuid. Supplied key is RouterKey []

When update router, it results in missing key for routers during encoding.
The following stack trace shows router case, but in theory this applies to
other resources.
data of update request doesn't include id, so the key isn't set. it should
be explicitly set by MD code before encoding.

POST to /controller/nb/v2/neutron/routers
DATA:
{
  "router": {
    "status": "ACTIVE",
    "external_gateway_info": null,
    "name": "router1",
    "gw_port_id": null,
    "admin_state_up": true,
    "routes": [],
    "tenant_id": "015ffea9d6094b9fbe465c4f1d76c636",
    "distributed": false,
    "id": "4e23aa01-f3aa-4eb8-83b2-58b59ee17fec"
  }
}

PUT to /controller/nb/v2/neutron/routers/4e23aa01-f3aa-4eb8-83b2-58b59ee17fec
DATA:
{
  "router": {
    "external_gateway_info": {
      "network_id": "a0ad7845-4434-4532-ba9e-3ac861a3d7c4",
      "enable_snat": true,
      "external_fixed_ips": [
        {
          "subnet_id": "08dda021-f395-411d-ad7f-89886c3b2678",
          "ip_address": "172.24.4.2"
        }
      ]
    },
    "name": "router1",
    "gw_port_id": "f46143b7-5eab-4e49-8dc3-094ce7d2cd54",
    "admin_state_up": true,
    "distributed": false,
    "routes": []
  }
}
---

> 2015-08-08 02:08:07,418 | WARN  | tp1647472839-767 | NeutronRouterInterface           | 374 - org.opendaylight.neutron.transcriber - 0.6.0.SNAPSHOT | Attempting to write neutron router without UUID
> 2015-08-08 02:08:07,419 | ERROR | tp1647472839-767 | ContainerResponse                | 195 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
> java.lang.IllegalArgumentException: All keys must be specified for class org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev141002.routers.attributes.routers.RouterKey. Missing key is getUuid. Supplied key is RouterKey []
>         at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
>         at org.opendaylight.yangtools.binding.data.codec.impl.ValueContext.getAndSerialize(ValueContext.java:46)
>         at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:124)
>         at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.serialize(IdentifiableItemCodec.java:31)
>         at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.addYangPathArgument(KeyedListNodeCodecContext.java:52)
>         at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:193)
>         at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)
>         at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.newWriter(BindingCodecContext.java:104)
>         at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:102)
>         at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:133)
>         at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.put(AbstractWriteTransaction.java:39)
>         at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.updateMd(AbstractNeutronInterface.java:77)
>         at org.opendaylight.neutron.transcriber.NeutronRouterInterface.updateRouter(NeutronRouterInterface.java:107)
>         at org.opendaylight.neutron.northbound.api.NeutronRoutersNorthbound.updateRouter(NeutronRoutersNorthbound.java:294)[373:org.opendaylight.neutron.northbound-api:0.6.0.SNAPSHOT]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_79]
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_79]
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_79]
>         at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_79]
>         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)[195:com.sun.jersey.jersey-server:1.17.0]
>         at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)[196:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)[196:com.sun.jersey.servlet:1.17.0]
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)[196:com.sun.jersey.servlet:1.17.0]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[159:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[174:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[174:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[174:org.ops4j.pax.web.pax-web-jetty:3.1.4]
>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.Server.handle(Server.java:370)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[165:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]

Change-Id: Ie2d328adbc80d1279eb8562c7882790fb3ccc236
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
8 years agoAdd IT cases for Metering Rules 32/25432/3
Ryan Moats [Tue, 18 Aug 2015 15:33:38 +0000 (10:33 -0500)]
Add IT cases for Metering Rules

Add missing CRUD operations to IT for Metering Rules

Change-Id: Idcb7efb78583cfda2a2e2cfe8afbc8d104274420
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoAdd IT cases for Metering Labels 31/25431/1
Ryan Moats [Tue, 18 Aug 2015 14:54:52 +0000 (09:54 -0500)]
Add IT cases for Metering Labels

Add missing CRUD operations to IT for Metering Labels

Change-Id: Iafeef55b46e0c46723c363f59784ba403dfa77ac
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoAdd IT cases for Security Rules 30/25430/1
Ryan Moats [Tue, 18 Aug 2015 14:30:18 +0000 (09:30 -0500)]
Add IT cases for Security Rules

Add missing CRUD operations to IT for Security Rules

Change-Id: I564e9cc1c4dc86c5cfaa3ce9c8addb69278f1803
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoAdd IT cases for Security Groups 26/25426/1
Ryan Moats [Tue, 18 Aug 2015 14:11:07 +0000 (09:11 -0500)]
Add IT cases for Security Groups

Add missing CRUD operations to IT for Security Groups

Change-Id: I3f431584709231b94f924f4ef964352d2ce36e94
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
8 years agoMerge "Remove port concurrent hash map"
Ryan Moats [Tue, 18 Aug 2015 13:46:05 +0000 (13:46 +0000)]
Merge "Remove port concurrent hash map"