Steps to reproduce:
Use acl_postman_collection to configure ACLs and ACL assignment.
Then create loop1 interface and assign acls to it via NETCONF:
<rpc message-id="104" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <edit-config> <target> <candidate/> </target> <default-operation>replace</default-operation> <config> <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces" xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="replace"> <interface> <name>local0</name> <type xmlns:x="urn:ietf:params:xml:ns:yang:iana-if-type">x:ethernetCsmacd</type> <enabled>false</enabled> </interface> <interface> <name>loop1</name> <description>for testing purposes</description> <type xmlns:x="urn:opendaylight:params:xml:ns:yang:v3po">x:loopback</type> <loopback xmlns="urn:opendaylight:params:xml:ns:yang:v3po"> <mac>00:ff:ff:ff:ff:ff</mac> </loopback> <acl xmlns="urn:opendaylight:params:xml:ns:yang:interface:acl"> <ingress> <vpp-acls> <type xmlns:x="urn:opendaylight:params:xml:ns:yang:vpp:acl">x:vpp-acl</type> <name>tcp-acl</name> </vpp-acls> <vpp-acls> <type xmlns:x="urn:opendaylight:params:xml:ns:yang:vpp:acl">x:vpp-acl</type> <name>udp-acl</name> </vpp-acls> <vpp-macip-acl> <type xmlns:x="urn:opendaylight:params:xml:ns:yang:vpp:acl">x:vpp-macip-acl</type> <name>macip-acl</name> </vpp-macip-acl> </ingress> </acl> </interface> </interfaces> </config> </edit-config> </rpc> ]]>]]> <rpc message-id="m-33" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <commit/> </rpc>]]>]]>
Then following read
GET http://localhost:8183/restconf/operational/ietf-interfaces:interfaces-state/interface/loop1/
fails with exception:
2018-04-20 12:05:21.098 CEST [qtp1201078845-27] WARN o.o.n.sal.restconf.impl.BrokerFacade - Error reading /(urn:ietf:params:xml:ns:yang:ietf-interfaces?revision=2014-05-08)interfaces-state/interface/interface[{(urn:ietf:params:xml:ns:yang:ietf-interfaces?revision=2014-05-08)name=lopp1}] from datastore OPERATIONAL org.opendaylight.controller.md.sal.common.api.data.ReadFailedException: Failed to read data at io.fd.honeycomb.data.impl.ReadableDataTreeDelegator.read(ReadableDataTreeDelegator.java:114) ~[data-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.data.impl.ReadOnlyTransaction.read(ReadOnlyTransaction.java:81) ~[data-impl-1.18.04-SNAPSHOT.jar:na] at org.opendaylight.netconf.sal.restconf.impl.BrokerFacade.readDataViaTransaction(BrokerFacade.java:557) [restconf-nb-bierman02-1.7.0.jar:na] at org.opendaylight.netconf.sal.restconf.impl.BrokerFacade.readDataViaTransaction(BrokerFacade.java:549) [restconf-nb-bierman02-1.7.0.jar:na] at org.opendaylight.netconf.sal.restconf.impl.BrokerFacade.readOperationalData(BrokerFacade.java:198) [restconf-nb-bierman02-1.7.0.jar:na] at org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.readOperationalData(RestconfImpl.java:739) [restconf-nb-bierman02-1.7.0.jar:na] at org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper.readOperationalData(StatisticsRestconfServiceWrapper.java:120) [restconf-nb-bierman02-1.7.0.jar:na] at org.opendaylight.netconf.sal.rest.impl.RestconfCompositeWrapper.readOperationalData(RestconfCompositeWrapper.java:80) [restconf-nb-bierman02-1.7.0.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_162] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_162] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_162] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_162] at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) [jersey-server-1.19.1.jar:1.19.1] at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) [jersey-servlet-1.19.1.jar:1.19.1] at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) [jersey-servlet-1.19.1.jar:1.19.1] at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) [jersey-servlet-1.19.1.jar:1.19.1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) [jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689) [jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:308) [jetty-servlets-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:262) [jetty-servlets-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) [jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) [jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513) [jetty-security-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) [jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513) [jetty-security-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:461) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.Server.handle(Server.java:524) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) [jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) [jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_162] Caused by: io.fd.honeycomb.translate.read.ReadFailedException: Failed to read: KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface, path=[org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesState, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface[key=InterfaceKey [_name=lopp1]]]} at io.fd.honeycomb.translate.impl.read.GenericReader.readCurrentAttributes(GenericReader.java:62) ~[translate-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.translate.impl.read.registry.CompositeReader.readCurrentAttributes(CompositeReader.java:144) ~[translate-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.translate.util.read.AbstractGenericReader.readCurrent(AbstractGenericReader.java:61) ~[translate-utils-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.translate.impl.read.registry.CompositeReader.read(CompositeReader.java:84) ~[translate-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.translate.impl.read.registry.CompositeReader.readSubtree(CompositeReader.java:109) ~[translate-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.translate.impl.read.registry.CompositeReader.read(CompositeReader.java:87) ~[translate-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.translate.impl.read.registry.CompositeReaderRegistry.read(CompositeReaderRegistry.java:122) ~[translate-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.data.impl.ReadableDataTreeDelegator.readNode(ReadableDataTreeDelegator.java:134) ~[data-impl-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.data.impl.ReadableDataTreeDelegator.read(ReadableDataTreeDelegator.java:102) ~[data-impl-1.18.04-SNAPSHOT.jar:na] ... 56 common frames omitted Caused by: java.lang.IllegalArgumentException: No mapping stored for name: lopp1 at com.google.common.base.Preconditions.checkArgument(Preconditions.java:210) ~[guava-23.6-jre.jar:na] at io.fd.hc2vpp.common.translate.util.NamingContext.getIndex(NamingContext.java:178) ~[vpp-translate-utils-1.18.04-SNAPSHOT.jar:na] at io.fd.hc2vpp.v3po.interfacesstate.InterfaceCustomizer.readCurrentAttributes(InterfaceCustomizer.java:78) ~[v3po2vpp-1.18.04-SNAPSHOT.jar:na] at io.fd.hc2vpp.v3po.interfacesstate.InterfaceCustomizer.readCurrentAttributes(InterfaceCustomizer.java:49) ~[v3po2vpp-1.18.04-SNAPSHOT.jar:na] at io.fd.honeycomb.translate.impl.read.GenericReader.readCurrentAttributes(GenericReader.java:60) ~[translate-impl-1.18.04-SNAPSHOT.jar:na] ... 64 common frames omitted
- relates to
-
HC2VPP-391 Cannot read operational state of interface when VPP uses different name than HC
-
- Done
-