[NETVIRT-367] Data validation failed for path /(urn:opendaylight:genius:interfacemanager:servicebinding?revision=2016-04-06)service-bindings/services-info/services-info Created: 14/Dec/16 Updated: 03/May/18 Resolved: 17/Sep/17 |
|
| Status: | Resolved |
| Project: | netvirt |
| Component/s: | General |
| Affects Version/s: | Carbon |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Sam Hague | Assignee: | Karthikeyan Krishnan |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Attachments: |
|
| External issue ID: | 7380 |
| Description |
|
2016-12-14 14:01:44,099 | WARN | lt-dispatcher-16 | ShardDataTree | 176 - org.opendaylight.controller.sal-distributed-datastore - 1.4.2.SNAPSHOT | member-1-shard-default-config: Store Tx member-1-datastore-config-fe-0-txn-1417: Data validation failed for path /(urn:opendaylight:genius:interfacemanager:servicebinding?revision=2016-04-06)service-bindings/services-info/services-info[ {(urn:opendaylight:genius:interfacemanager:servicebinding?revision=2016-04-06)interface-name=1a8f9b16-e3f5-4f68-90f3-7989965e6a97, (urn:opendaylight:genius:interfacemanager:servicebinding?revision=2016-04-06)service-mode=(urn:opendaylight:genius:interfacemanager:servicebinding?revision=2016-04-06)service-mode-ingress}]. ] does not exist. Cannot apply modification to its children. |
| Comments |
| Comment by Sam Hague [ 14/Dec/16 ] |
|
Attachment odl1_karaf.tar.xz has been added with description: karaf.log |
| Comment by Janki Chhatbar [ 18/Jul/17 ] |
|
Reopening. Seen in https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-nodl-v2-upstream-stateful-nitrogen/131/odl1_karaf.log.gz |
| Comment by Faseela K [ 26/Jul/17 ] |
|
Hi Vivek, |
| Comment by Faseela K [ 08/Aug/17 ] |
|
Clearer description in the log says : 2017-07-17 07:46:06,355 | WARN | CommitFutures-12 | DataStoreJobCoordinator | 237 - org.opendaylight.genius.mdsalutil-api - 0.3.0.SNAPSHOT | Job: JobEntry {key='e6615051-f8e7-4aa2-912a-19bd6c210143', mainWorker=org.opendaylight.netvirt.aclservice.AbstractEgressAclServiceImpl$$Lambda$644/1550301706@438eeaf5, rollbackWorker=null, retryCount=0, futures=[org.opendaylight.controller.cluster.databroker.ConcurrentDOMDataBroker$AsyncNotifyingSettableFuture@47b1665c]} failed ] does not exist. Cannot apply modification to its children.]]} Needs to be debugged from ACL side. |
| Comment by Sam Hague [ 12/Aug/17 ] |
|
snat-conntrack has the issue: |
| Comment by Aswin Suryanarayanan [ 21/Aug/17 ] |
|
Not seen in the later runs. |
| Comment by Aswin Suryanarayanan [ 21/Aug/17 ] |
|
Please reopen if found again. |
| Comment by Tim Rozet [ 30/Aug/17 ] |
|
Re-opening this as we now see this in carbon sr2. Please see attachments. |
| Comment by Tim Rozet [ 30/Aug/17 ] |
|
ODL VERSION |
| Comment by Tim Rozet [ 30/Aug/17 ] |
|
Attachment karaf.log.txt.gz has been added with description: karaf log |
| Comment by Tim Rozet [ 30/Aug/17 ] |
|
Attachment odl_info.txt.gz has been added with description: OVS outputs |
| Comment by Tim Rozet [ 30/Aug/17 ] |
|
Attachment karaf_log.txt has been added with description: karaf log |
| Comment by Tim Rozet [ 30/Aug/17 ] |
|
Attachment odl_info.txt has been added with description: OVS outputs |
| Comment by Sam Hague [ 30/Aug/17 ] |
|
Tim also mentioned that the setup is an all-in-on setup with the ODL on the same node as the compute. The br-ex ip is what is used for the local_ip also. |
| Comment by Vivekanandan Narasimhan [ 30/Aug/17 ] |
|
This exception from Tim's due to ACL being applied on externalInterface incorrectly, is being addressed here: https://git.opendaylight.org/gerrit/62458 |
| Comment by Sam Hague [ 30/Aug/17 ] |
| Comment by Sam Hague [ 30/Aug/17 ] |
|
Adding links to jobs with the issue: |
| Comment by Sam Hague [ 31/Aug/17 ] |
|
Hi Sam, “Why is this a bad port? This is the patch port on br-int that is going to br-ex. This has to be a valid port right? So that we can push traffic out to the external network? “ ACL service must apply only to Neutron Ports. The port here is a patch-port and not a Neutron port. However the above port is a valid ODL Interface and so interfaceState is available for this port. This is a bug in ACL, where we should fix such that we consider only NeutronPorts on InterfaceState (or) InterfaceConfig events and only for them we must construct an ACLInterface, which will be later used for Bind/Unbind logic. I will try to raise a patch tomorrow. Here is the exception from Tims latest attachment: 2017-08-28 23:36:32,405 | INFO | nPool-1-worker-3 | VpnInterfaceManager | 360 - org.opendaylight.netvirt.vpnmanager-impl - 0.4.2.Carbon | VPN Interface add event - intfName 110942673897472:br-ex-patch:trunk onto vpnName 108df187-a590-4c50-a599-a476792966cd running config-driven ]. ] does not exist. Cannot apply modification to its children. |
| Comment by Sam Hague [ 31/Aug/17 ] |
|
AclService do check if port security is enabled for a port. So the expectation is that port security should be disabled for the ports which is not of Aclinterest. So this should be either a case where enable port security is set to truer a missing a check for the parameter in the acl service code flow. |
| Comment by Sam Hague [ 31/Aug/17 ] |
|
This exception below from ACL does not cause dataplane problems at FIP. The patch was raised by me to have ACL not service these external-facing interfaces. I believe in our upstream CI, there is always a VXLAN TEP available on all our compute-nodes. So can you please check (or configure) some VXLAN TEP on that hypervisor where the FIP VM resides, The above observation of mine is based on the following errors seen in Tim’s logs: 2017-08-28 23:37:08,945 | ERROR | nPool-1-worker-3 | VpnFloatingIpHandler | 369 - org.opendaylight.netvirt.natservice-impl - 0.4.2.Carbon | onAddFloatingIp: Unable to retrieve nextHopIp for DPN 110942673897472 to handle floatingIp 192.168.24.104 2017-08-28 23:37:09,087 | ERROR | eChangeHandler-0 | NatUtil | 369 - org.opendaylight.netvirt.natservice-impl - 0.4.2.Carbon | getVpnForRouter : VPN not found for routerID:372363c1-efe6-4348-9e42-093357091509 |
| Comment by Sam Hague [ 31/Aug/17 ] |
|
Hi All, Problematic Area: (RCA for FIP ping failure) VpnFloatingIpHandler à This class will be taking care of installing following DNAT flows on corresponding DPN. INTERNAL_TUNNEL_TABLE (36) -> PDNAT_TABLE (25) {Single Node DPN, this flow is not required) The below code snippet was executed before installing local FIP flow entry { L3_FIB_TABLE (21) -> PDNAT_TABLE (25) } on corresponding DPN. As Vivek already confirmed that, VXLAN TEP is not required for FLAT/VLAN external provider type.if (nextHopIp == null) { LOG.error("onAddFloatingIp: Unable to retrieve nextHopIp for DPN {} to handle floatingIp {}", dpnId, externalIp); return; } 2017-08-28 23:37:08,945 | ERROR | nPool-1-worker-3 | VpnFloatingIpHandler | 369 - org.opendaylight.netvirt.natservice-impl - 0.4.2.Carbon | onAddFloatingIp: Unable to retrieve nextHopIp for DPN 110942673897472 to handle floatingIp 192.168.24.104 Solution Proposal: =============== As nextHop IP validation is required for only before advertising to BGP. This nextHopIp null check validation is already handled by addPrefixToBGP() method. So not required to validate the same check on VpnFloatingIpHandler. This will solve local FIP flow{ L3_FIB_TABLE (21) -> PDNAT_TABLE (25) } installation issue. Please let me know if any further comments on doing this proposed code change. Thanks & Regards, |
| Comment by Sam Hague [ 31/Aug/17 ] |
|
Karthikeyan, Vivek, can we tell what is different in the OOO CI that causes this issue? The upstream CI should be about the same here since it uses the autotunnels and tunnels are not created before hand - they are created as the vms are created. Is it because the OOO is using an all-in-one node where ODL, Os controller and compute are all together so that tunnels would not be created? |
| Comment by Vivekanandan Narasimhan [ 31/Aug/17 ] |
|
This is not about tunnels. It is about presence of a VTEP configuration in ITM for the DPN identified by 110942673897472. If it is a single node setup, then it is possible that the VTEP creation is never triggered on that setup as part of booting VMs. VTEPs available in ODL and can be viewed by GET of ITM URL /transport-zones. |
| Comment by Sam Hague [ 12/Sep/17 ] |
| Comment by Sam Hague [ 17/Sep/17 ] |