Updating security group fails. This is due to V2 driver sending only the delta i.e.: { 'security-group: { 'name':'whatever'} } This should succeed since the SG ID is already available in the request URL, but fails with: 2016-11-28 18:28:28,226 | WARN | qtp956555648-511 | NeutronSecurityGroupInterface | 240 - org.opendaylight.neutron.transcriber - 0.6.0.Beryllium | Attempting to write neutron securityGroup without UUID 2016-11-28 18:28:28,227 | ERROR | qtp956555648-511 | ContainerResponse | 173 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeExc eption 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.secgroups.rev150712.s ecurity.groups.attributes.security.groups.SecurityGroupKey. Missing key is getUuid. Supplied key is SecurityGroupKey [] 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:177) at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.update(AbstractNeutronInterface.java:399) at org.opendaylight.neutron.transcriber.AbstractNeutronInterface$10.action(AbstractNeutronInterface.java:409) at org.opendaylight.neutron.transcriber.AbstractNeutronInterface$10.action(AbstractNeutronInterface.java:406) at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.chainWrapper2(AbstractNeutronInterface.java:105) at org.opendaylight.neutron.transcriber.AbstractNeutronInterface.update(AbstractNeutronInterface.java:405) at org.opendaylight.neutron.northbound.api.AbstractNeutronNorthboundIAware.update(AbstractNeutronNorthboundIAware.java:137)[237:org.opendayl ight.neutron.northbound-api:0.6.0.Beryllium] at org.opendaylight.neutron.northbound.api.NeutronSecurityGroupsNorthbound.updateSecurityGroup(NeutronSecurityGroupsNorthbound.java:216)[237 :org.opendaylight.neutron.northbound-api:0.6.0.Beryllium] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_72] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_72] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_72] at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_72] at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[173:com.sun.jersey.jersey-server:1.17.0] at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMeth odDispatchProvider.java:205)[173:com.sun.jersey.jersey-server:1.17.0] at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[173:com.sun. --snip--
Created security group. Updated the name of the security group. The change is reflected both in Neutron and in OpenDaylight controller. Verified with: python-networking-odl-3.2.0-2.el7ost.noarch
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2017-0201.html