|
When we try to create a meter using a PUT REST call with the following body:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<meter xmlns="urn:opendaylight:flow:inventory">
<container-name>serro</container-name>
<flags>meter-burst</flags>
<barrier>true</barrier>
<meter-name>mymeter</meter-name>
<meter-band-headers>
<meter-band-header>
<band-id>0</band-id>
<dscp-remark-rate>3000</dscp-remark-rate>
<prec_level>14</prec_level>
<band-rate>200</band-rate>
<band-burst-size>10</band-burst-size>
<meter-band-types>
<flags>ofpmbt-drop</flags>
</meter-band-types>
</meter-band-header>
</meter-band-headers>
<meter-id>8</meter-id>
</meter>
PUT: http://172.16.11.13:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:10308256236310759730/flow-node-inventory:meter/8
The following error appear on karaf.log:
-------------------------------------------
2017-03-01 10:52:36,978 | ERROR | on-dispatcher-61 | AbstractService | 209 - org.opendaylight.openflowplugin.impl - 0.3.2.Boron-SR2 | Failed to build request for AddMeterInput [_containerName=ser
ro, _flags=MeterFlags [_meterKbps=false, _meterPktps=false, _meterBurst=true, _meterStats=false], _meterBandHeaders=MeterBandHeaders{getMeterBandHeader=[MeterBandHeader{getBandBurstSize=10, getBandId=BandId [_val
ue=0], getBandRate=200, getBandType=DscpRemark{getDscpRemarkRate=3000, getPrecLevel=14, augmentations={}}, getMeterBandTypes=MeterBandTypes{getFlags=MeterBandType [_ofpmbtDrop=true, _ofpmbtDscpRemark=false, _ofpm
btExperimenter=false], augmentations={}}, augmentations={}}], augmentations={}}, _meterId=MeterId [_value=8], _meterName=mymeter, _meterRef=MeterRef [_value=KeyedInstanceIdentifier
{targetType=interface org.openda
ylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.Meter, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.re
v130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:10308256236310759730]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendayli
ght.flow.inventory.rev130819.meters.Meter[key=MeterKey [_meterId=MeterId [_value=8]]]]}
], _node=NodeRef [_value=KeyedInstanceIdentifier
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory
.rev130819.nodes.Node, 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=open
flow:10308256236310759730]]]]}
], _transactionUri=Uri [_value=DOM-4], _barrier=true, augmentation=[]], forfeiting request 13329
java.lang.ClassCastException: com.sun.proxy.$Proxy147 cannot be cast to org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.MeterConvertor.getBandsFromSAL(MeterConvertor.java:86)[208:org.opendaylight.openflowplugin:0.3.2.Boron-SR2]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.MeterConvertor.convert(MeterConvertor.java:186)[208:org.opendaylight.openflowplugin:0.3.2.Boron-SR2]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.MeterConvertor.convert(MeterConvertor.java:58)[208:org.opendaylight.openflowplugin:0.3.2.Boron-SR2]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager.lambda$convert$2(ConvertorManager.java:94)[208:org.opendaylight.openflowplugin:0.3.2.Boron-SR2]
at java.util.Optional.map(Optional.java:215)[:1.8.0_111]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager.convert(ConvertorManager.java:94)[208:org.opendaylight.openflowplugin:0.3.2.Boron-SR2]
at org.opendaylight.openflowplugin.impl.services.MeterService.buildRequest(MeterService.java:35)[209:org.opendaylight.openflowplugin.impl:0.3.2.Boron-SR2]
at org.opendaylight.openflowplugin.impl.services.MeterService.buildRequest(MeterService.java:22)[209:org.opendaylight.openflowplugin.impl:0.3.2.Boron-SR2]
at org.opendaylight.openflowplugin.impl.services.AbstractService.handleServiceCall(AbstractService.java:123)[209:org.opendaylight.openflowplugin.impl:0.3.2.Boron-SR2]
at org.opendaylight.openflowplugin.impl.services.SalMeterServiceImpl.addMeter(SalMeterServiceImpl.java:62)[209:org.opendaylight.openflowplugin.impl:0.3.2.Boron-SR2]
at org.opendaylight.yangtools.yang.binding.util.RpcMethodInvokerWithInput.invokeOn(RpcMethodInvokerWithInput.java:31)[73:org.opendaylight.mdsal.yang-binding:0.9.2.Boron-SR2]
at org.opendaylight.yangtools.yang.binding.util.AbstractMappedRpcInvoker.invokeRpc(AbstractMappedRpcInvoker.java:52)[73:org.opendaylight.mdsal.yang-binding:0.9.2.Boron-SR2]
|