Bug 1413178 - Updating security groups fails with HTTP 500
Summary: Updating security groups fails with HTTP 500
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-networking-odl
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: z1
: 10.0 (Newton)
Assignee: Mike Kolesnik
QA Contact: Itzik Brown
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-01-13 20:17 UTC by Mike Kolesnik
Modified: 2018-10-18 07:24 UTC (History)
5 users (show)

Fixed In Version: python-networking-odl-3.2.0-2.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
N/A
Last Closed: 2017-01-26 16:42:16 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1661238 0 None None None 2017-02-20 10:53:02 UTC
Red Hat Product Errata RHBA-2017:0201 0 normal SHIPPED_LIVE openstack-neutron bug fix advisory 2017-01-26 21:40:54 UTC

Description Mike Kolesnik 2017-01-13 20:17:08 UTC
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--

Comment 2 Itzik Brown 2017-01-15 07:47:35 UTC
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

Comment 6 errata-xmlrpc 2017-01-26 16:42:16 UTC
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


Note You need to log in before you can comment on or make changes to this bug.