go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/traffic/libmemif/libmemif_master_trafic1.robot (about)

     1  *** Settings ***
     2  Library      OperatingSystem
     3  #Library      RequestsLibrary
     4  #Library      SSHLibrary      timeout=60s
     5  #Library      String
     6  
     7  Resource     ../../../variables/${VARIABLES}_variables.robot
     8  
     9  Resource     ../../../libraries/all_libs.robot
    10  
    11  Force Tags        traffic     IPv4    ExpectedFailure
    12  Suite Setup       Testsuite Setup
    13  Suite Teardown    Testsuite Teardown
    14  Test Setup        TestSetup
    15  Test Teardown     TestTeardown
    16  
    17  *** Variables ***
    18  ${VARIABLES}=          common
    19  ${ENV}=                common
    20  ${WAIT_TIMEOUT}=     20s
    21  ${SYNC_SLEEP}=       3s
    22  
    23  ${LIBMEMIF_IP1}=       192.168.1.2
    24  ${VPP2MEMIF_IP1}=      192.168.1.2
    25  ${VPP1MEMIF_IP1}=      192.168.1.1
    26  ${LIBMEMIF_IP2}=       192.168.2.2
    27  ${VPP2MEMIF_IP2}=       192.168.2.2
    28  ${VPP1MEMIF_IP2}=       192.168.2.1
    29  # wait for resync vpps after restart
    30  ${RESYNC_WAIT}=        30s
    31  
    32  *** Test Cases ***
    33  Configure Environment
    34      [Tags]    setup
    35      Configure Environment 3
    36  
    37  Show Interfaces Before Setup
    38      vpp_term: Show Interfaces    agent_vpp_1
    39  
    40  Add Memif1 Interface On VPP1
    41      Put Memif Interface With IP    node=agent_vpp_1    name=vpp1_memif1    mac=62:61:61:61:61:61    master=false    id=0    ip=${VPP1MEMIF_IP1}    prefix=24    socket=memif.sock
    42  
    43  
    44  Check Memif1 Interface Created On VPP1
    45      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vpp_term: Interface Is Created    node=agent_vpp_1    mac=62:61:61:61:61:61
    46      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:61  role=slave  id=0  ipv4=${VPP1MEMIF_IP1}/24  connected=0  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
    47  
    48  Modify Memif1 Interface On VPP1
    49      Put Memif Interface With IP    node=agent_vpp_1    name=vpp1_memif1    mac=62:61:61:61:61:62    master=false    id=0    ip=${VPP1MEMIF_IP2}    prefix=24    socket=memif.sock
    50  
    51  
    52  Check Memif1 Interface On VPP1 is Modified
    53      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vpp_term: Interface Is Created    node=agent_vpp_1    mac=62:61:61:61:61:62
    54      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:62  role=slave  id=0  ipv4=${VPP1MEMIF_IP2}/24  connected=0  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
    55  
    56  Create And Chek Memif1 On Agent Libmemif 1
    57      ${out}=      lmterm: Issue Command    agent_libmemif_1   conn 0 1
    58      ${out}=      lmterm: Issue Command    agent_libmemif_1    show
    59      Should Contain     ${out}     interface ip: ${LIBMEMIF_IP1}
    60      Should Contain     ${out}     link: up
    61  
    62  Check Memif1 Interface On VPP1 Connected To LibMemif
    63      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vpp_term: Interface Is Created    node=agent_vpp_1    mac=62:61:61:61:61:62
    64      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:62  role=slave  id=0  ipv4=${VPP1MEMIF_IP2}/24  connected=1  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
    65  
    66  Modify Memif1 On VPP1 back
    67      Put Memif Interface With IP    node=agent_vpp_1    name=vpp1_memif1    mac=62:61:61:61:61:61    master=false    id=0    ip=${VPP1MEMIF_IP1}    prefix=24    socket=memif.sock
    68  
    69  
    70  Check Memif1 on Vpp1 is connected
    71      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:61  role=slave  id=0  ipv4=${VPP1MEMIF_IP1}/24  connected=1  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
    72  
    73  Check Ping VPP1 -> Agent Libmemif 1
    74      vpp_term: Check Ping    agent_vpp_1    ${LIBMEMIF_IP1}
    75  
    76  
    77  Remove VPP Nodes
    78      Remove All VPP Nodes
    79      Sleep    ${SYNC_SLEEP}
    80      Add Agent VPP Node    agent_vpp_1
    81      #Add Agent VPP Node    agent_vpp_2
    82      Sleep    ${RESYNC_WAIT}
    83  
    84  Check Memif1 Interface On VPP1 Connected To LibMemif After Resync
    85      vpp_term: Interface Is Created    node=agent_vpp_1    mac=62:61:61:61:61:61
    86      vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:61  role=slave  id=0  ipv4=${VPP1MEMIF_IP1}/24  connected=1  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
    87  
    88  Check Ping VPP1 -> Agent Libmemif 1 After Resync
    89      vpp_term: Check Ping    agent_vpp_1    ${LIBMEMIF_IP1}
    90  
    91  ##############################################################################
    92  
    93  
    94  Delete Memif On Agent Libmemif 1
    95      ${out}=      lmterm: Issue Command    agent_libmemif_1   del 0
    96  
    97  
    98  Check Memif1 Interface On VPP1 Disconnected After Master Deleted
    99      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vpp_term: Interface Is Created    node=agent_vpp_1    mac=62:61:61:61:61:61
   100      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:61  role=slave  id=0  ipv4=${VPP1MEMIF_IP1}/24  connected=0  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
   101  
   102  Create Memif1 On Agent Libmemif 1 Again
   103      ${out}=      lmterm: Issue Command    agent_libmemif_1   conn 0 1
   104  
   105  Check Memif1 Interface On VPP1 Connected After Master Deleted and Created
   106      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vpp_term: Interface Is Created    node=agent_vpp_1    mac=62:61:61:61:61:61
   107      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:61  role=slave  id=0  ipv4=${VPP1MEMIF_IP1}/24  connected=1  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
   108  
   109  Check Ping VPP1 -> Agent Libmemif 1 After Delete and Create
   110      vpp_term: Check Ping    agent_vpp_1    ${LIBMEMIF_IP1}
   111  
   112  ###### Here VPP crashes
   113  Modify Memif1 Interface On VPP1 While Connected
   114      Put Memif Interface With IP    node=agent_vpp_1    name=vpp1_memif1    mac=62:61:61:61:61:62    master=false    id=0    ip=${VPP1MEMIF_IP2}    prefix=24    socket=memif.sock
   115  
   116  
   117  Check Memif1 Interface On VPP1 Modified
   118      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vpp_term: Interface Is Created    node=agent_vpp_1    mac=62:61:61:61:61:62
   119      Wait Until Keyword Succeeds   ${WAIT_TIMEOUT}   ${SYNC_SLEEP}    vat_term: Check Memif Interface State     agent_vpp_1  vpp1_memif1  mac=62:61:61:61:61:62  role=slave  id=0  ipv4=${VPP1MEMIF_IP2}/24  connected=1  enabled=1  socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock
   120  
   121  ###########################################################
   122  
   123  
   124  *** Keywords ***
   125  TestSetup
   126      Make Datastore Snapshots    ${TEST_NAME}_test_setup
   127  
   128  TestTeardown
   129      Make Datastore Snapshots    ${TEST_NAME}_test_teardown