go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/api/management_api/management_api.robot (about) 1 *** Settings *** 2 3 Library OperatingSystem 4 Library String 5 6 Resource ../../../variables/${VARIABLES}_variables.robot 7 8 Resource ../../../libraries/all_libs.robot 9 10 Suite Setup Setup 11 Suite Teardown Testsuite Teardown 12 13 *** Variables *** 14 ${VARIABLES}= common 15 ${ENV}= common 16 17 *** Test Cases *** 18 List All Loggers 19 Get All Loggers on agent_vpp_1 20 21 Change Logger Level 22 #Change Log Level On agent_vpp_1 From debug To info On defaultLogger 23 Change Log Level On agent_vpp_1 From debug To info On vpp-plugin 24 Change Log Level On agent_vpp_1 From debug To info On vpp-plugin-if-conf 25 ${from_now}= Get Time epoch 26 Put Loopback Interface With IP agent_vpp_1 loop0 8a:f1:be:90:00:03 10.1.1.1 27 Sleep 5 28 ${out}= Write To Machine docker docker logs --since ${from_now} agent_vpp_1 29 Should Not Contain ${out} level=debug msg="Start processing change for key: vpp/config/${AGENT_VER}/interface/loop0" 30 Should Not Contain ${out} level=debug msg="MAC address added" MAC address="8a:f1:be:90:00:03" 31 Should Not Contain ${out} level=debug msg="IP address added." IPAddress=10.1.1.1 32 33 Check If Agent Is Live 34 Agent liveness Should Be OK On agent_vpp_1 35 36 Check If Agent Is Ready 37 Agent readiness Should Be OK On agent_vpp_1 38 39 Check Agent State Data In ETCD 40 Get Agent Status For agent_vpp_1 From ETCD Should be OK 41 42 Check Plugins State Data In ETCD 43 Get govpp Plugin Status For agent_vpp_1 From ETCD 44 45 46 Change API Port 47 [Teardown] Teardown 48 Change API Port From 9191 To 8888 On agent_vpp_1 49 50 *** Keywords *** 51 Setup 52 Testsuite Setup 53 Add Agent VPP Node agent_vpp_1 54 55 Teardown 56 Remove Node agent_vpp_1 57 58 Get All Loggers On ${node} 59 ${out}= rest_api: Get Loggers List agent_vpp_1 60 Should Contain ${out} etcd 61 Should Contain ${out} govpp 62 Should Contain ${out} http 63 Should Contain ${out} health-rpc 64 Should Contain ${out} status-check 65 Should Contain ${out} kafka 66 Should Contain ${out} redis 67 Should Contain ${out} cassandra 68 69 Change Log Level On ${node} From ${old_level} To ${expected_level} On ${logger_name} 70 ${out}= rest_api: Get Loggers List ${node} 71 ${level}= Extract Logger Level ${logger_name} ${out} 72 Should Be Equal ${level} ${old_level} 73 Should Not Be Equal ${level} ${expected_level} 74 rest_api: Change Logger Level ${node} ${logger_name} ${expected_level} 75 ${out}= rest_api: Get Loggers List ${node} 76 ${level}= Extract Logger Level ${logger_name} ${out} 77 Should Be Equal ${level} ${expected_level} 78 Should Not Be Equal ${level} ${old_level} 79 80 Agent ${ability} Should Be ${expected} On ${node} 81 ${expected}= Set Variable if "${expected}"=="OK" 1 0 82 ${uri}= Set Variable /${ability} 83 ${out}= rest_api: Get ${node} ${uri} 84 #Should Match Regexp ${out} \\{\\"build_version\\":\\"[a-f0-9]+\\"\\,\\"build_date\\"\\:\\"\\d{4}\\-\\d{2}\\-\\d{2}\\T\\d{2}\\:\\d{2}\\+\\d{2}\\:\\d{2}\\",\\"state\\"\\:${expected},\\"start_time\\":\\d+,\\"last_change\\":\\d+,\\"last_update\\":\\d+,\\"commit_hash\\":\\"[a-e0-9]+\\"\\} 85 Should Match Regexp ${out} \\"build_version\\":\\"[a-z0-9_.-]+\\" 86 Should Match Regexp ${out} \\"build_date\\"\\:\\"\\d{4}\\-\\d{2}\\-\\d{2}\\T\\d{2}\\:\\d{2}\\+\\d{2}\\:\\d{2}\\" 87 Should Match Regexp ${out} \\"state\\"\\:${expected} 88 Should Match Regexp ${out} \\"start_time\\":\\d+ 89 Should Match Regexp ${out} \\"last_change\\":\\d+ 90 Should Match Regexp ${out} \\"last_update\\":\\d+ 91 Should Match Regexp ${out} \\"commit_hash\\":\\"[a-f0-9]+\\" 92 93 Change API Port From ${old_port} To ${new_port} On ${node} 94 Set Test Variable ${${node}_REST_API_PORT} ${new_port} 95 Set Test Variable ${${node}_REST_API_HOST_PORT} ${new_port} 96 Should Be Equal ${${node}_REST_API_PORT} ${new_port} 97 Should Not Be Equal ${${node}_REST_API_PORT} ${old_port} 98 Remove Node agent_vpp_1 99 Add VPP Agent agent_vpp_1 100 Start VPP On Node agent_vpp_1 101 Start Agent On ${node} With Port ${new_port} 102 Sleep 20 # we need wait until agent is fully loaded 103 Agent readiness Should Be OK On ${node} 104 105 Get Agent Status For ${node} From ETCD Should be ${expected} 106 ${expected}= Set Variable if "${expected}"=="OK" 1 0 107 ${out}= Write To Machine docker docker exec -it etcd etcdctl get /vnf-agent/${node}/check/status/${AGENT_VER}/agent 108 Should Contain ${out} ${node} 109 #Should Match Regexp ${out} \\{\\"build_version\\":\\"[a-f0-9]+\\"\\,\\"build_date\\"\\:\\"\\d{4}\\-\\d{2}\\-\\d{2}\\T\\d{2}\\:\\d{2}\\+\\d{2}\\:\\d{2}\\",\\"state\\"\\:${expected},\\"start_time\\":\\d+,\\"last_change\\":\\d+,\\"last_update\\":\\d+\\} 110 Should Match Regexp ${out} \\"build_version\\":\\"[a-z0-9_.-]+\\" 111 Should Match Regexp ${out} \\"build_date\\"\\:\\"\\d{4}\\-\\d{2}\\-\\d{2}\\T\\d{2}\\:\\d{2}\\+\\d{2}\\:\\d{2}\\" 112 Should Match Regexp ${out} \\"state\\"\\:${expected} 113 Should Match Regexp ${out} \\"start_time\\":\\d+ 114 Should Match Regexp ${out} \\"last_change\\":\\d+ 115 Should Match Regexp ${out} \\"last_update\\":\\d+ 116 Should Match Regexp ${out} \\"commit_hash\\":\\"[a-f0-9]+\\" 117 Sleep 20s 118 ${out2}= Write To Machine docker docker exec -it etcd etcdctl get /vnf-agent/${node}/check/status/${AGENT_VER}/agent 119 Should Not Be Equal ${out} ${out2} 120 121 Get ${plugin} Plugin Status For ${node} From ETCD 122 ${out}= Write To Machine docker docker exec -it etcd etcdctl get /vnf-agent/${node}/check/status/${AGENT_VER}/plugin/${plugin} 123 Should Contain ${out} ${node} 124 125 126 Start Agent On ${node} With Port ${port} 127 ${out}= Execute In Container ${node} vpp-agent -http-probe-port ${port} --etcd-config=${AGENT_VPP_ETCD_CONF_PATH} --kafka-config=${AGENT_VPP_KAFKA_CONF_PATH} & 128 [Return] ${out} 129 130 Add VPP Agent ${node} 131 # Log ${node} 132 # Execute On Machine docker ${DOCKER_COMMAND} run -e MICROSERVICE_LABEL=${node} -itd --privileged -v "${DOCKER_SOCKET_FOLDER}:${${node}_SOCKET_FOLDER}" -p ${${node}_VPP_HOST_PORT}:${${node}_VPP_PORT} -p ${${node}_REST_API_HOST_PORT}:${${node}_REST_API_PORT} --name ${node} ${AGENT_VPP_1_DOCKER_IMAGE} bash 133 # Append To List ${NODES} ${node} 134 # Sleep 5 135 # Create Session ${node} http://${DOCKER_HOST_IP}:${${node}_REST_API_HOST_PORT} 136 # ${hostname}= Execute On Machine docker ${DOCKER_COMMAND} exec ${node} bash -c 'echo $HOSTNAME' 137 # Set Suite Variable ${${node}_HOlSTNAME} ${hostname} 138 139 Open SSH Connection ${node} ${DOCKER_HOST_IP} ${DOCKER_HOST_USER} ${DOCKER_HOST_PSWD} 140 Execute On Machine ${node} ${DOCKER_COMMAND} create -e MICROSERVICE_LABEL=${node} -it --privileged -v "${DOCKER_SOCKET_FOLDER}:${${node}_SOCKET_FOLDER}" -p ${${node}_VPP_HOST_PORT}:${${node}_VPP_PORT} -p ${${node}_REST_API_HOST_PORT}:${${node}_REST_API_PORT} --name ${node} ${AGENT_VPP_1_DOCKER_IMAGE} bash 141 Write To Machine ${node} ${DOCKER_COMMAND} start ${node} 142 Append To List ${NODES} ${node} 143 # Open SSH Connection ${node}_term ${DOCKER_HOST_IP} ${DOCKER_HOST_USER} ${DOCKER_HOST_PSWD} 144 # Open SSH Connection ${node}_vat ${DOCKER_HOST_IP} ${DOCKER_HOST_USER} ${DOCKER_HOST_PSWD} 145 # vpp_term: Open VPP Terminal ${node} 146 # vat_term: Open VAT Terminal ${node} 147 148 Create Session ${node} http://${DOCKER_HOST_IP}:${${node}_REST_API_HOST_PORT} 149 ${hostname}= Execute On Machine docker ${DOCKER_COMMAND} exec ${node} bash -c 'echo $HOSTNAME' 150 Set Suite Variable ${${node}_HOSTNAME} ${hostname} 151 152 Start VPP On Node ${node} 153 # Execute In Container ${node} vpp unix { cli-listen localhost:5002 } plugins { plugin dpdk_plugin.so { disable } } & 154 Execute In Container ${node} vpp unix { nodaemon cli-listen 0.0.0.0:5002 cli-no-pager } plugins { plugin dpdk_plugin.so { disable } } & 155 Open SSH Connection ${node}_term ${DOCKER_HOST_IP} ${DOCKER_HOST_USER} ${DOCKER_HOST_PSWD} 156 Open SSH Connection ${node}_vat ${DOCKER_HOST_IP} ${DOCKER_HOST_USER} ${DOCKER_HOST_PSWD} 157 vpp_term: Open VPP Terminal ${node} 158 vat_term: Open VAT Terminal ${node} 159