<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:31:24 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[OPNFLWPLUG-31] Queue list for a node connector is always empty</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-31</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;1. add queue for a port using mininet:&lt;/p&gt;

&lt;p&gt;sudo ovs&#8722;vsctl &#8722;&#8722; set port s1-eth1 qos=@newqos &#8722;&#8722; &#8722;&#8722;id=@newqos create qos type=linux&#8722;htb other&#8722;config:max&#8722;rate=1000000 queues:0=@newqueue &#8722;&#8722; &#8722;&#8722;id=@newqueue create queue other&#8722;config:min&#8722;rate=1000000 other&#8722;config:max&#8722;rate=1000000&lt;/p&gt;

&lt;p&gt;2. read queue operational data as shown below, queue list is always empty.&lt;br/&gt;
InstanceIdentifier&amp;lt;FlowCapableNodeConnector&amp;gt; connectorRef = InstanceIdentifier.builder(Nodes.class)&lt;br/&gt;
                        .child(Node.class, nodeKey).child(NodeConnector.class, nodeConnectorKey)&lt;br/&gt;
                        .augmentation(FlowCapableNodeConnector.class).toInstance();&lt;/p&gt;

&lt;p&gt;   FlowCapableNodeConnector nodeConnector = &lt;br/&gt;
(FlowCapableNodeConnector) dataProviderService.readOperationalData(connectorRef);&lt;/p&gt;

&lt;p&gt;   List&amp;lt;Queue&amp;gt; queueList = nodeConnector.getQueue();&lt;/p&gt;

&lt;p&gt;queueList is always empty.&lt;/p&gt;


&lt;p&gt;3. we are able to see queue stats using REST API&lt;br/&gt;
     &lt;a href=&quot;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
    &quot;node-connector&quot;: [&lt;br/&gt;
        {&lt;br/&gt;
            &quot;flow-node-inventory:current-feature&quot;: &quot;copper 10gb-fd&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:hardware-address&quot;: &quot;0E:52:5A:55:C0:47&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:peer-features&quot;: &quot;&quot;,&lt;br/&gt;
            &quot;id&quot;: &quot;openflow:1:1&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:state&quot;: &lt;/p&gt;
{
                &quot;flow-node-inventory:blocked&quot;: false,
                &quot;flow-node-inventory:link-down&quot;: false,
                &quot;flow-node-inventory:live&quot;: false
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;flow-node-inventory:configuration&quot;: &quot;&quot;,&lt;br/&gt;
            &quot;opendaylight-port-statistics:flow-capable-node-connector-statistics&quot;: {&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-over-run-error&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:transmit-errors&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-drops&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-crc-error&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:duration&quot;: {},&lt;br/&gt;
                &quot;opendaylight-port-statistics:packets&quot;: &lt;/p&gt;
{
                    &quot;opendaylight-port-statistics:transmitted&quot;: 774,
                    &quot;opendaylight-port-statistics:received&quot;: 5
                }
&lt;p&gt;,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-frame-error&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-errors&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:transmit-drops&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:bytes&quot;: &lt;/p&gt;
{
                    &quot;opendaylight-port-statistics:transmitted&quot;: 48762,
                    &quot;opendaylight-port-statistics:received&quot;: 378
                }
&lt;p&gt;,&lt;br/&gt;
                &quot;opendaylight-port-statistics:collision-count&quot;: 0&lt;br/&gt;
            },&lt;br/&gt;
            &quot;flow-node-inventory:port-number&quot;: 1,&lt;br/&gt;
            &quot;flow-node-inventory:supported&quot;: &quot;&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:advertised-features&quot;: &quot;&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:name&quot;: &quot;s1-eth1&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:queue&quot;: [&lt;br/&gt;
                {&lt;br/&gt;
                    &quot;flow-node-inventory:queue-id&quot;: 0,&lt;br/&gt;
                    &quot;opendaylight-queue-statistics:flow-capable-node-connector-queue-statistics&quot;: {&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:duration&quot;: {},&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:transmitted-bytes&quot;: 45360,&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:transmitted-packets&quot;: 720,&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:transmission-errors&quot;: 0&lt;br/&gt;
                    }&lt;br/&gt;
                }&lt;br/&gt;
            ]&lt;br/&gt;
        }&lt;br/&gt;
    ]&lt;br/&gt;
}&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Windows&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="27299">OPNFLWPLUG-31</key>
            <summary>Queue list for a node connector is always empty</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                                <status id="10004" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Verified</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="Avishnoi">Anil Vishnoi</assignee>
                                    <reporter username="angujele@in.ibm.com">Anil Gujele</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Jan 2014 05:30:49 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:01 +0000</updated>
                            <resolved>Mon, 3 Feb 2014 06:22:36 +0000</resolved>
                                                                    <component>General</component>
                        <due>Thu, 23 Jan 2014 00:00:00 +0000</due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="55195" author="angujele@in.ibm.com" created="Mon, 20 Jan 2014 06:26:33 +0000"  >&lt;p&gt;As per my understanding, There are code changes required from controller and plugin side.&lt;/p&gt;

&lt;p&gt;Controller side: &lt;br/&gt;
  Currently controller does not support to query the Queue for node connector and add queue to the node connector. So queue list is not found for the node connector in controller even if queue is added in Switch. &lt;/p&gt;

&lt;p&gt;Plugin Side:&lt;br/&gt;
 ModelDrivenSwitch.java does not implement interface SalQueueService.java to support queue , So interface implementation for queue support is missing.&lt;br/&gt;
 Queue reply is also not yet implemented to attach the Queue to node connector.&lt;/p&gt;</comment>
                            <comment id="55196" author="angujele@in.ibm.com" created="Mon, 20 Jan 2014 11:00:28 +0000"  >&lt;p&gt;As per my understanding, There are code changes required from controller , plugin and Yang model side. i am not good with Yang and Controller side, so pls assign it to controller team.&lt;/p&gt;

&lt;p&gt;Yang Model:&lt;br/&gt;
  Queue Model at controller side (GetQueueOutput.java Or QueueGetConfigReply.java) supports port:queue mapping as 1:1&lt;br/&gt;
  Queue Model at plugin side (GetQueueConfigOutput.java) supports port:queue mapping as 1:n&lt;/p&gt;

&lt;p&gt;Controller side: &lt;br/&gt;
  Currently controller does not support to query the Queue for node connector and add queue to the node connector. So queue list is not found for the node connector in controller even if queue is added in Switch. &lt;/p&gt;

&lt;p&gt;Plugin Side:&lt;br/&gt;
 ModelDrivenSwitch.java does not implement interface SalQueueService.java to support queue , So interface implementation for queue support is missing.&lt;br/&gt;
 Queue reply is also not yet implemented to attach the Queue to node connector.&lt;/p&gt;</comment>
                            <comment id="55197" author="abhijit2511" created="Mon, 20 Jan 2014 16:50:56 +0000"  >&lt;p&gt;Anil - Ed said there were changes made to the controller - which may be fixing this and wanted it retested.&lt;/p&gt;</comment>
                            <comment id="55198" author="angujele@in.ibm.com" created="Tue, 21 Jan 2014 11:40:37 +0000"  >&lt;p&gt;Retested this issue and found that it is still happening.&lt;br/&gt;
Below test code can be use to recheck the issue.&lt;/p&gt;

&lt;p&gt;Test code to reproduce this issue.&lt;br/&gt;
    public void testQueue()&lt;br/&gt;
     {&lt;br/&gt;
      List&amp;lt;Node&amp;gt; nodes = getNodes();&lt;br/&gt;
        for (Iterator&amp;lt;Node&amp;gt; iterator = nodes.iterator(); iterator.hasNext()&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; {&lt;br/&gt;
            NodeKey nodeKey = iterator.next().getKey();&lt;br/&gt;
            InstanceIdentifier&amp;lt;Node&amp;gt; nodeRef = InstanceIdentifier.builder(Nodes.class).child(Node.class, nodeKey)&lt;br/&gt;
                    .toInstance();&lt;br/&gt;
            Node node = (Node) dataProviderService.readOperationalData(nodeRef);&lt;br/&gt;
            List&amp;lt;NodeConnector&amp;gt; ports = node.getNodeConnector();&lt;br/&gt;
            for (Iterator&amp;lt;NodeConnector&amp;gt; iterator2 = ports.iterator(); iterator2.hasNext()&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; {&lt;br/&gt;
                NodeConnectorKey nodeConnectorKey = iterator2.next().getKey();&lt;br/&gt;
                InstanceIdentifier&amp;lt;FlowCapableNodeConnector&amp;gt; connectorRef = InstanceIdentifier.builder(Nodes.class)&lt;br/&gt;
                        .child(Node.class, nodeKey).child(NodeConnector.class, nodeConnectorKey)&lt;br/&gt;
                        .augmentation(FlowCapableNodeConnector.class).toInstance();&lt;br/&gt;
                FlowCapableNodeConnector nodeConnector = (FlowCapableNodeConnector) dataProviderService&lt;br/&gt;
                        .readOperationalData(connectorRef);&lt;br/&gt;
                // queue list is always empty, &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-31&quot; title=&quot;Queue list for a node connector is always empty&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-31&quot;&gt;&lt;del&gt;OPNFLWPLUG-31&lt;/del&gt;&lt;/a&gt; is raised.&lt;br/&gt;
                List&amp;lt;Queue&amp;gt; queueList = nodeConnector.getQueue();&lt;/p&gt;

&lt;p&gt;                for (Iterator&amp;lt;Queue&amp;gt; iterator3 = queueList.iterator(); iterator3.hasNext()&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;
{
                    QueueKey queueKey = iterator3.next().getKey();
                    InstanceIdentifier&amp;lt;Queue&amp;gt; queueRef = InstanceIdentifier.builder(Nodes.class)
                            .child(Node.class, nodeKey).child(NodeConnector.class, nodeConnectorKey)
                            .augmentation(FlowCapableNodeConnector.class).child(Queue.class, queueKey).toInstance();
                    Queue queue = (Queue) dataProviderService.readOperationalData(queueRef);
                }
&lt;p&gt;            }&lt;br/&gt;
        }&lt;br/&gt;
   }&lt;/p&gt;</comment>
                            <comment id="55199" author="vishnoianil@gmail.com" created="Wed, 22 Jan 2014 15:28:53 +0000"  >&lt;p&gt;Hi AnilG,&lt;/p&gt;

&lt;p&gt;This bug seems to be similar to &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-33&quot; title=&quot;Not able to read GroupStats from Operational data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-33&quot;&gt;&lt;del&gt;OPNFLWPLUG-33&lt;/del&gt;&lt;/a&gt;. Where you can access the group statistics when you fetch data for /node/openflow:1 but it throws exception when you try to access the specific group like /node/openflow:1/group/1 using restconf. This is a bug (329) in yangtools which Martin Sunal is working on currently. &lt;/p&gt;

&lt;p&gt;Similarly in this issue, To recreate the issue locally I created queue on node-connector:1 of the switch and then I fetch details of node-connector:1 using restconf, I do see queue statistics data in the response. Following is the snapshot of the restconf data&lt;/p&gt;

&lt;p&gt;URI:&lt;a href=&quot;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
    &quot;node-connector&quot;: [&lt;br/&gt;
        {&lt;br/&gt;
            &quot;flow-node-inventory:peer-features&quot;: &quot;&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:maximum-speed&quot;: 1048576,&lt;br/&gt;
            &quot;flow-node-inventory:state&quot;: &lt;/p&gt;
{
                &quot;flow-node-inventory:blocked&quot;: false,
                &quot;flow-node-inventory:link-down&quot;: false,
                &quot;flow-node-inventory:live&quot;: true
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;id&quot;: &quot;openflow:1:1&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:port-number&quot;: 1,&lt;br/&gt;
            &quot;flow-node-inventory:supported&quot;: &quot;pause hundred-gb-fd hundred-mb-hd other copper hundred-mb-fd fiber&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:advertised-features&quot;: &quot;pause hundred-gb-fd hundred-mb-hd other copper hundred-mb-fd fiber&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:name&quot;: &quot;eth1&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:current-speed&quot;: 0,&lt;br/&gt;
            &quot;flow-node-inventory:current-feature&quot;: &quot;pause other&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:hardware-address&quot;: &quot;00:21:CC:BA:14:E4&quot;,&lt;br/&gt;
            &quot;flow-node-inventory:configuration&quot;: &quot;&quot;,&lt;br/&gt;
            &quot;opendaylight-port-statistics:flow-capable-node-connector-statistics&quot;: {&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-over-run-error&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:transmit-errors&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-drops&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-crc-error&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:duration&quot;: &lt;/p&gt;
{
                    &quot;opendaylight-port-statistics:second&quot;: 1541,
                    &quot;opendaylight-port-statistics:nanosecond&quot;: 682000
                }
&lt;p&gt;,&lt;br/&gt;
                &quot;opendaylight-port-statistics:packets&quot;: &lt;/p&gt;
{
                    &quot;opendaylight-port-statistics:transmitted&quot;: 295,
                    &quot;opendaylight-port-statistics:received&quot;: 0
                }
&lt;p&gt;,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-frame-error&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:receive-errors&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:transmit-drops&quot;: 0,&lt;br/&gt;
                &quot;opendaylight-port-statistics:bytes&quot;: &lt;/p&gt;
{
                    &quot;opendaylight-port-statistics:transmitted&quot;: 18585,
                    &quot;opendaylight-port-statistics:received&quot;: 0
                }
&lt;p&gt;,&lt;br/&gt;
                &quot;opendaylight-port-statistics:collision-count&quot;: 0&lt;br/&gt;
            },&lt;br/&gt;
            &quot;flow-node-inventory:queue&quot;: [&lt;br/&gt;
                {&lt;br/&gt;
                    &quot;flow-node-inventory:queue-id&quot;: 1,&lt;br/&gt;
                    &quot;opendaylight-queue-statistics:flow-capable-node-connector-queue-statistics&quot;: {&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:duration&quot;: &lt;/p&gt;
{
                            &quot;opendaylight-queue-statistics:second&quot;: 154,
                            &quot;opendaylight-queue-statistics:nanosecond&quot;: 966000
                        }
&lt;p&gt;,&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:transmitted-bytes&quot;: 0,&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:transmitted-packets&quot;: 0,&lt;br/&gt;
                        &quot;opendaylight-queue-statistics:transmission-errors&quot;: 0&lt;br/&gt;
                    }&lt;br/&gt;
                }&lt;br/&gt;
            ]&lt;br/&gt;
        }&lt;br/&gt;
    ]&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;But when I tried to access the queue details of this node connector using following URI:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/queue/1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/queue/1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am getting following exception ( similar to &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-33&quot; title=&quot;Not able to read GroupStats from Operational data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-33&quot;&gt;&lt;del&gt;OPNFLWPLUG-33&lt;/del&gt;&lt;/a&gt;)&lt;br/&gt;
                &amp;lt;b&amp;gt;exception&amp;lt;/b&amp;gt;&lt;br/&gt;
                &amp;lt;pre&amp;gt;java.lang.IllegalArgumentException&lt;br/&gt;
	com.google.common.base.Preconditions.checkArgument(Preconditions.java:76)&lt;br/&gt;
	org.opendaylight.controller.sal.restconf.impl.ControllerContext.addKeyValue(ControllerContext.java:787)&lt;br/&gt;
	org.opendaylight.controller.sal.restconf.impl.ControllerContext.collectPathArguments(ControllerContext.java:672)&lt;br/&gt;
	org.opendaylight.controller.sal.restconf.impl.ControllerContext.collectPathArguments(ControllerContext.java:688)&lt;br/&gt;
	org.opendaylight.controller.sal.restconf.impl.ControllerContext.collectPathArguments(ControllerContext.java:688)&lt;br/&gt;
	org.opendaylight.controller.sal.restconf.impl.ControllerContext.collectPathArguments(ControllerContext.java:688)&lt;br/&gt;
	org.opendaylight.controller.sal.restconf.impl.ControllerContext.toInstanceIdentifier(ControllerContext.java:170)&lt;br/&gt;
	org.opendaylight.controller.sal.restconf.impl.RestconfImpl.readOperationalData(RestconfImpl.java:215)&lt;/p&gt;

&lt;p&gt;I believe when you are trying to get the queues programmatically, you are hitting the same bug. I will discuss this issue with Martin and will update you with further details.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="55200" author="vishnoianil@gmail.com" created="Wed, 22 Jan 2014 15:35:32 +0000"  >&lt;p&gt;Hi AnilG,&lt;/p&gt;

&lt;p&gt;I discussed with Martin and this bug also seems to be causing because of yangtoolks bug &amp;#8211; 329.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="55201" author="vishnoianil@gmail.com" created="Thu, 23 Jan 2014 14:00:07 +0000"  >&lt;p&gt;Hi AnilG,&lt;/p&gt;

&lt;p&gt;Dependent yangtools bug (bug -329) is now fixed, can you please verify that this fix resolves this issue.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="55202" author="angujele@in.ibm.com" created="Sat, 25 Jan 2014 06:31:33 +0000"  >&lt;p&gt;Hi AnilV,&lt;/p&gt;

&lt;p&gt;I tested this issue with today&apos;s build, it is still not resolved.&lt;/p&gt;

&lt;p&gt;Test code to reproduce this issue (after adding the queue as mention in defect description).&lt;/p&gt;

&lt;p&gt;    public void testQueue()&lt;br/&gt;
     {&lt;br/&gt;
      List&amp;lt;Node&amp;gt; nodes = getNodes();&lt;br/&gt;
        for (Iterator&amp;lt;Node&amp;gt; iterator = nodes.iterator(); iterator.hasNext()&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; {&lt;br/&gt;
            NodeKey nodeKey = iterator.next().getKey();&lt;br/&gt;
            InstanceIdentifier&amp;lt;Node&amp;gt; nodeRef = InstanceIdentifier.builder(Nodes.class).child(Node.class, nodeKey)&lt;br/&gt;
                    .toInstance();&lt;br/&gt;
            Node node = (Node) dataProviderService.readOperationalData(nodeRef);&lt;br/&gt;
            List&amp;lt;NodeConnector&amp;gt; ports = node.getNodeConnector();&lt;br/&gt;
            for (Iterator&amp;lt;NodeConnector&amp;gt; iterator2 = ports.iterator(); iterator2.hasNext()&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; {&lt;br/&gt;
                NodeConnectorKey nodeConnectorKey = iterator2.next().getKey();&lt;br/&gt;
                InstanceIdentifier&amp;lt;FlowCapableNodeConnector&amp;gt; connectorRef = InstanceIdentifier.builder(Nodes.class)&lt;br/&gt;
                        .child(Node.class, nodeKey).child(NodeConnector.class, nodeConnectorKey)&lt;br/&gt;
                        .augmentation(FlowCapableNodeConnector.class).toInstance();&lt;br/&gt;
                FlowCapableNodeConnector nodeConnector = (FlowCapableNodeConnector) dataProviderService&lt;br/&gt;
                        .readOperationalData(connectorRef);&lt;br/&gt;
                // queue list is always empty, &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-31&quot; title=&quot;Queue list for a node connector is always empty&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-31&quot;&gt;&lt;del&gt;OPNFLWPLUG-31&lt;/del&gt;&lt;/a&gt; is raised.&lt;br/&gt;
                List&amp;lt;Queue&amp;gt; queueList = nodeConnector.getQueue();&lt;/p&gt;

&lt;p&gt;                for (Iterator&amp;lt;Queue&amp;gt; iterator3 = queueList.iterator(); iterator3.hasNext()&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;
{
                    QueueKey queueKey = iterator3.next().getKey();
                    InstanceIdentifier&amp;lt;Queue&amp;gt; queueRef = InstanceIdentifier.builder(Nodes.class)
                            .child(Node.class, nodeKey).child(NodeConnector.class, nodeConnectorKey)
                            .augmentation(FlowCapableNodeConnector.class).child(Queue.class, queueKey).toInstance();
                    Queue queue = (Queue) dataProviderService.readOperationalData(queueRef);
                }
&lt;p&gt;            }&lt;br/&gt;
        }&lt;br/&gt;
   }&lt;/p&gt;


&lt;p&gt;  Regards&lt;br/&gt;
   ANil&lt;/p&gt;</comment>
                            <comment id="55203" author="vishnoianil@gmail.com" created="Fri, 31 Jan 2014 09:28:25 +0000"  >&lt;p&gt;Hi AnilG,&lt;/p&gt;

&lt;p&gt;I followed the step you mentioned in the Description for creating queue and I tested this issue locally with the latest code from repo. When i directly fetch queue stats through RESTCONF, i am able to fetch the stats. I used following URI to fetch individual queue stats&lt;/p&gt;

&lt;p&gt;URI:&lt;a href=&quot;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/queue/0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1/queue/0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stats:&lt;br/&gt;
{&lt;br/&gt;
    &quot;flow-node-inventory:queue&quot;: [&lt;br/&gt;
        {&lt;br/&gt;
            &quot;flow-node-inventory:queue-id&quot;: 0,&lt;br/&gt;
            &quot;opendaylight-queue-statistics:flow-capable-node-connector-queue-statistics&quot;: {&lt;br/&gt;
                &quot;opendaylight-queue-statistics:duration&quot;: &lt;/p&gt;
{
                    &quot;opendaylight-queue-statistics:second&quot;: 4294967295,
                    &quot;opendaylight-queue-statistics:nanosecond&quot;: 4294967295
                }
&lt;p&gt;,&lt;br/&gt;
                &quot;opendaylight-queue-statistics:transmitted-bytes&quot;: 2331,&lt;br/&gt;
                &quot;opendaylight-queue-statistics:transmitted-packets&quot;: 37,&lt;br/&gt;
                &quot;opendaylight-queue-statistics:transmission-errors&quot;: 0&lt;br/&gt;
            }&lt;br/&gt;
        }&lt;br/&gt;
    ]&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;Can you please check by fetching queue/stats programmatically.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
AnilV&lt;/p&gt;</comment>
                            <comment id="55204" author="angujele@in.ibm.com" created="Mon, 3 Feb 2014 06:22:36 +0000"  >&lt;p&gt;Hi AnilV,&lt;/p&gt;

&lt;p&gt; Verified, Now programatically also we are able to get the queue list from the port if there is any queue is added for the port. &lt;/p&gt;

&lt;p&gt;&amp;#8211; ANil&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="22495">YANGTOOLS-75</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>307</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=307]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02yn3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>