CSIT/AArch64

From fd.io
< CSIT
Revision as of 13:26, 18 January 2018 by GabrielGanne (Talk | contribs)

Jump to: navigation, search

CSIT TOI

Based on CSIT committers availability, current proposal is to hold two separate 1hr sessions:

   TOI-1: Tue 23-Jan 07:00-08:00 PST / 15:00-16:00 UTC / 16:00-17:00 CET 
   TOI-1: Fri 31-Jan 07:00-08:00 PST / 15:00-16:00 UTC / 16:00-17:00 CET

Recent Patches

add new topology parameter: arch Merged 2018-01-10 https://gerrit.fd.io/r/#/c/9474/
update nodes dependency Merged 2018-01-02 https://gerrit.fd.io/r/#/c/9584/
update vagrant to use ubuntu 16.04 images https://gerrit.fd.io/r/#/c/8295/
warn against virtualenv --system-site-packages Merged 2017-12-20 https://gerrit.fd.io/r/#/c/9428/

TEST for 2-nodes topology

(gg) based on my tests, in order to reproduce issues more easily across the team.

  • set up 2 aarch64 VMs (TG + DUT)
    • give them 3 interfaces
    • one for management, the other two down for the test
    • compile igb_uio (see known issue #1) and load it
  • write topology file with `arch: aarch64`
    • fill pci_address, and mac_address according to your setup
  • create virtualenv following csit README
    • virtualenv env
    • source env/bin/activate
    • pip install -r requirements.txt
    • export PATH with vpp_api_test, and PYTHONPATH

cmdline to run functional tests only with debug logs. You need the "__init__.robot" present in the folder you give to pybot.

pybot --debugfile /tmp/debugfile --exitonerror -L TRACE -v TOPOLOGY_PATH:topologies/enabled/topology.yaml tests/vpp/func/

Functional test

Tests status:

  • CSIT: 54ad6efd342695d0a7dad5380cc989a8d846f518
  • 3-Nodes topology
  • On VM only
  • only show failing tests

No guarantee that the tests are failing because of arm.

==============================================================================
Func.Crypto.Default                                                           
==============================================================================
Func.Crypto.Default.Eth2P-Ethip4Ipsectnl-Ip4Base-Func :: *IPv4 IPsec tunnel...
==============================================================================
...
------------------------------------------------------------------------------
TC13: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL |
Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'.
------------------------------------------------------------------------------
TC14: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL |
Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'.
------------------------------------------------------------------------------
TC15: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL |
Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'.
------------------------------------------------------------------------------
TC16: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL |
Traffic script execution failed
------------------------------------------------------------------------------
TC17: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL |
Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'.
------------------------------------------------------------------------------
TC18: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL |
Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'.
------------------------------------------------------------------------------
TC19: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL |
Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'.
------------------------------------------------------------------------------
Func.Crypto.Default.Eth2P-Ethip4Ipsectnl-Ip4Base-Func :: *IPv4 IPs... | FAIL |
19 critical tests, 12 passed, 7 failed
19 tests total, 12 passed, 7 failed
==============================================================================
Func.crypto.sw_default
==============================================================================
2 critical tests, 0 passed, 2 failed 
2 tests total, 0 passed, 2 failed
==============================================================================
Func.Honeycomb
... Honeycomb not set up ...
All tests fail.
==============================================================================
Func.Interfaces                                                       | PASS |
6 critical tests, 6 passed, 0 failed
6 tests total, 6 passed, 0 failed
==============================================================================
Func.Ip4                                                                      
==============================================================================
Func.Ip4.Eth2P-Dot1Q-Ip4Base-Func :: *IPv4 with VLAN subinterfaces*           
==============================================================================
TC01: Process untagged send tagged                                    | FAIL |
Setup failed:
SSHTimeout: Timeout exception during execution of command: lspci -vmmks 0000:07:00.0
Current contents of stdout buffer: Slot:        07:00.0
Class:  Ethernet controller
Vendor: Red Hat, Inc.
Device: Virtio network device
SVendor:        Red Hat, Inc.
SDevice:        Device 1100
PhySlot:        0-6
Rev:    01
Driver: virtio-pci
Module: virtio_pci
Current contents of stderr buffer:
------------------------------------------------------------------------------
TC02: Process tagged send untagged                                    | PASS |
------------------------------------------------------------------------------
TC03: Process tagged send tagged                                      | PASS |
------------------------------------------------------------------------------
Func.Ip4.Eth2P-Dot1Q-Ip4Base-Func :: *IPv4 with VLAN subinterfaces*   | FAIL |
3 critical tests, 2 passed, 1 failed
3 tests total, 2 passed, 1 failed
==============================================================================

TODO

  • identify ARM64 hardware to replicate CSIT repo
  • make Jira EPIC for CSIT func
  • make Jira EPIC for CSIT performance


  • disk-image-builder scripts
  • write a bootstrap-* script for aarch64
  • add VPP_REPO_URL* VPP_STABLE_VER* files ... (could be any public server for now)

known issues

  1. dpdk does not compiles igb_uio on aarch64 (it seems to require a kernel patch introduced in kernel 4.12: f719582435afe9c7985206e42d804ea6aa315d33). it has been re-enabled in dpdk v17.11 (f1810113590373b157ebba555d6b51f38c8ca10f)