Hi team,
I am currently working with the OPNFV SFC team and I am currently testing the OpenDaylight Boron RC1 release. The testcase I am running is the following: <https://gerrit.opnfv.org/gerrit/gitweb?p=functest.git;a=tree;f=testcases/features/sfc/testcases/features/sfc;h=0431ccae49f802e5d26164a3e99365ac77c49179;hb=HEAD> https://gerrit.opnfv.org/gerrit/gitweb?p=functest.git;a=tree;f=testcases/features/sfc/testcases/features/sfc;h=0431ccae49f802e5d26164a3e99365ac77c49179;hb=HEAD This testcase is an automated version of this demo: <https://www.youtube.com/watch?v=QknJMX83q1k> https://www.youtube.com/watch?v=QknJMX83q1k In summary, the testcase boots a client and a server instance and 2 firewall VNFs. One firewall blocks HTTP and the other SSH. The client tries to access the server instance through HTTP and SSH and by modifying the classifier we expect to see the right firewall being active. To run the testcase I deploy OpenStack + ODL and I run the sfc.py script. I observe the following problem - The first time I run the testcase it fails, because the HTTP is blocked while it should be working - If I delete the instances/vnfds/vnfs/sfcs/classifiers and run the testcase again it is successful I have captured the karaf logs and OpenFlow table flows in a successful and a failed run during various phases of the testcase lifetime here: <https://github.com/georgepar/sfc-work/tree/master/boron/netvirt-test> https://github.com/georgepar/sfc-work/tree/master/boron/netvirt-test I can see that in the failed run some flows are missing when the test is running, specifically: - a flow in table=11 which does the classification and also checks if we are on the last hop (in our test case, checking nsi=254) table=11, n_packets=0, n_bytes=0, nsi=254,nsp=139,in_port=6 actions=load:0x1->NXM_NX_REG0[],move:NXM_NX_NSH_C2[]->NXM_NX_TUN_ID[0..31],resubmit(9,1) - and a flow in table=1 which does the pop_nsh when the table=11 decided that it is the last hop: table=1, n_packets=0, n_bytes=0, priority=40000,nsi=254,nsp=139,reg0=0x1,in_port=9 actions=pop_nsh,goto_table:21 The only difference I see in the karaf logs when I delete the sfc's after a failed run I get the following errors in the Karaf log: 2016-08-24 08:42:58,025 | INFO | NV-SfcDTL-0 | DelegatingDataTreeListener | 329 - org.opendaylight.netvirt.openstack.net-virt-sfc-impl - 1.3.0.Boron-RC1 | onDataTreeChanged: Received Data Tree Changed ... 2016-08-24 08:42:58,025 | INFO | n-dispatcher-120 | SfcOfRspDataListener | 326 - org.opendaylight.sfc.openflow-renderer - 0.3.0.Boron-RC1 | SfcOfRspDataListener.onDataChanged delete RSP 2016-08-24 08:42:58,025 | INFO | NV-SfcDTL-0 | DelegatingDataTreeListener | 329 - org.opendaylight.netvirt.openstack.net-virt-sfc-impl - 1.3.0.Boron-RC1 | onDataTreeChanged: Received Data Tree Changed Update of Type=DELETE for Key=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.rsp.rev140701.rendered.service.paths.RenderedServicePath, path=[org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.rsp.rev140701.RenderedServicePaths, org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.rsp.rev140701.rendered.service.paths.RenderedServicePath[key=RenderedServicePathKey [_name=RspName [_value=Path-blue-Path-106]]]]} 2016-08-24 08:42:58,026 | INFO | n-dispatcher-120 | SfcOfFlowWriterImpl | 326 - org.opendaylight.sfc.openflow-renderer - 0.3.0.Boron-RC1 | deleteFlowSet: deleting 13 flows 2016-08-24 08:43:09,948 | ERROR | p1050245083-1134 | SfcProviderServiceForwarderAPI | 170 - org.opendaylight.sfc.provider - 0.3.0.Boron-RC1 | org.opendaylight.sfc.provider.api.SfcProviderServiceForwarderAPI.deletePathFromServiceForwarderState(SfcProviderServiceForwarderAPI.java:344): Rendered Service Path RspName [_value=Path-red-Path-55] does not exist 2016-08-24 08:43:09,954 | ERROR | p1050245083-1134 | SfcProviderServiceFunctionAPI | 170 - org.opendaylight.sfc.provider - 0.3.0.Boron-RC1 | org.opendaylight.sfc.provider.api.SfcProviderServiceFunctionAPI.deleteServicePathFromServiceFunctionState(SfcProviderServiceFunctionAPI.java:365): Rendered Service Path SfpName [_value=Path-red-Path-55] does not exist while when I delete them after a successful run the logs are clean ( <https://github.com/georgepar/sfc-work/blob/master/boron/netvirt-test/success-test/sfc-delete-karaf.log> https://github.com/georgepar/sfc-work/blob/master/boron/netvirt-test/success-test/sfc-delete-karaf.log) Can this probably be indicating a bug in Netvirt? Thanks, George George Paraskevopoulos Software Engineer (SDN/NFV), INTRACOM-TELECOM + 30 210 667 7689 <mailto:geo...@intracom-telecom.com> geo...@intracom-telecom.com 19.7 km Markopoulou Ave 19002 Peania, Athens, Greece The information in this e-mail message and any attachments are intended only for the individual or entity to whom it is addressed and may be confidential. If you have received this transmission in error, and you are not an intended recipient, be aware that any copying, disclosure, distribution or use of this transmission or its contents is prohibited. INTRACOM TELECOM and the sender accept no liability for any loss, disruption or damage to your data or computer system that may occur while using data contained in, or transmitted with, this email. Views or opinions expressed in this message may be those of the author and may not necessarily represent those of INTRACOM TELECOM.
_______________________________________________ opnfv-tech-discuss mailing list opnfv-tech-discuss@lists.opnfv.org https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss
