[CONTROLLER-135] Create group through restconf fails. Created: 24/Jan/14  Updated: 25/Jul/23  Resolved: 02/May/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: None
Fix Version/s: None

Type: Improvement
Reporter: jyoti porwal Assignee: Moiz Raja
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: PC



 Description   

URL-

http://localhost:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/group/2

Request body

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<group xmlns="urn:opendaylight:flow:inventory">
    <group-name>Foo</group-name>
    <buckets>
        <bucket>
            <action>
                <pop-vlan-action/>
                <order>0</order>
            </action>
            <bucket-id>12</bucket-id>
            <watch_group>14</watch_group>
            <watch_port>1234</watch_port>
            <weight>50</weight>
        </bucket>
    </buckets>
    <barrier>false</barrier>
    <group-id>2</group-id>
    <group-type>group-select</group-type>
</group>

Response headers-

500 Internal Server Error

Logs in controller-

java.lang.NullPointerException: null
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.GroupConvertor.toGroupModInput(GroupConvertor.java:68) ~[na:na]
at org.opendaylight.openflowplugin.openflow.md.core.sal.ModelDrivenSwitchImpl.addGroup(ModelDrivenSwitchImpl.java:289) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService$$Broker$Router.addGroup(SalGroupService$$Broker$Router.java) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService$$Broker$DirectProxy.addGroup(SalGroupService$$Broker$DirectProxy.java) ~[na:na]
at org.opendaylight.controller.frm.group.GroupTransaction.add(GroupTransaction.java:106) ~[na:na]
at org.opendaylight.controller.frm.AbstractTransaction.callRpcs(AbstractTransaction.java:56) ~[na:na]
at org.opendaylight.controller.frm.AbstractTransaction.finish(AbstractTransaction.java:28) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:94) [bundlefile:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) [bundlefile:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
2014-01-24 16:05:41.785 IST [pool-23-thread-5] ERROR o.o.c.m.s.c.i.service.TwoPhaseCommit - Transaction: DOM-5823 Finish Commit failed
java.lang.IllegalStateException:
at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$DomToBindingTransaction.finish(BindingIndependentConnector.java:392) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:94) [bundlefile:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) [bundlefile:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.7.0_45]
at java.util.concurrent.FutureTask.get(FutureTask.java:188) [na:1.7.0_45]
at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$DomToBindingTransaction.finish(BindingIndependentConnector.java:387) ~[na:na]
... 6 common frames omitted
Caused by: java.lang.NullPointerException: null
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.GroupConvertor.toGroupModInput(GroupConvertor.java:68) ~[na:na]
at org.opendaylight.openflowplugin.openflow.md.core.sal.ModelDrivenSwitchImpl.removeGroup(ModelDrivenSwitchImpl.java:446) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService$$Broker$Router.removeGroup(SalGroupService$$Broker$Router.java) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService$$Broker$DirectProxy.removeGroup(SalGroupService$$Broker$DirectProxy.java) ~[na:na]
at org.opendaylight.controller.frm.group.GroupTransaction.remove(GroupTransaction.java:53) ~[na:na]
at org.opendaylight.controller.frm.AbstractTransaction.rollbackRpcs(AbstractTransaction.java:96) ~[na:na]
at org.opendaylight.controller.frm.AbstractTransaction.rollback(AbstractTransaction.java:38) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.rollback(TwoPhaseCommit.java:147) [bundlefile:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:104) [bundlefile:na]
... 5 common frames omitted



 Comments   
Comment by Vaclav Demcak [ 24/Jan/14 ]

http://localhost:8080/restconf/config/opendaylight-inventory:nodes/node/foo:node:1/group/2

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<group xmlns="urn:opendaylight:flow:inventory">
<group-name>Foo</group-name>
<buckets>
<bucket>
<action>
<pop-vlan-action/>
<order>0</order>
</action>
<bucket-id>12</bucket-id>
<watch_group>14</watch_group>
<watch_port>1234</watch_port>
<weight>50</weight>
</bucket>
</buckets>
<barrier>false</barrier>
<group-id>2</group-id>
<group-type>group-select</group-type>
</group>

2014-01-24 13:39:03.287 CET [md-sal-binding-commit-2] INFO o.o.o.t.OpenflowpluginGroupTestServiceProvider - addGroup - AddGroupInput [_groupRef=GroupRef [_value=InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=foo:node:1]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group[key=GroupKey []]]]], _barrier=null, _buckets=null, _containerName=null, _groupId=null, _groupName=null, _groupType=null, _node=NodeRef [_value=InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=foo:node:1]]]]]], _transactionUri=Uri [_value=BA-4], augmentation=[]]
java.lang.IllegalStateException:

No default provider is available

at org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.OpendaylightGroupStatisticsService$$Broker$DirectProxy.getGroupDescription(OpendaylightGroupStatisticsService$$Broker$DirectProxy.java)
at org.opendaylight.controller.md.statistics.manager.StatisticsProvider.sendGroupDescriptionRequest(StatisticsProvider.java:408)
at org.opendaylight.controller.md.statistics.manager.StatisticsUpdateHandler.onDataChanged(StatisticsUpdateHandler.java:88)
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.publishDataChangeEvent(TwoPhaseCommit.java:131)
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:97)
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

Comment by Moiz Raja [ 31/Mar/14 ]

Vaclav,

Is this still an issue? Looks to me like the original issue was fixed and then you ran into another issue. Were you trying to add a group to a switch which was not connected?

Comment by Moiz Raja [ 31/Mar/14 ]

Vaclav,

Is this still an issue? Looks to me like the original issue was fixed and then you ran into another issue. Were you trying to add a group to a switch which was not connected?

Comment by Vaclav Demcak [ 02/May/14 ]

I've tested it on new DataStore and I haven't seen any problems.

Generated at Wed Feb 07 19:52:17 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.