go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/libraries/acl/acl_etcd.robot (about) 1 [Documentation] ACL-related keywords for working with ETCD 2 3 *** Settings *** 4 Library String 5 6 Library ../etcdctl.py 7 Library ../vpp_term.py 8 9 Resource ../etcdctl.robot 10 11 *** Variables *** 12 13 *** Keywords *** 14 15 Check ACL Reply 16 [Arguments] ${node} ${acl_name} ${reply_json} ${reply_term} ${api_h}=$(API_HANDLER} 17 [Documentation] Get ACL data from VAT terminal and verify response against expected data. 18 ${acl_d}= Get ACL As Json ${node} ${acl_name} 19 ${term_d}= vpp_term: Check ACL ${node} ${acl_name} 20 ${data}= OperatingSystem.Get File ${reply_json} 21 ${data}= Replace Variables ${data} 22 Should Be Equal ${data} ${acl_d} 23 ${data}= OperatingSystem.Get File ${reply_term} 24 ${data}= Replace Variables ${data} 25 Should be Equal ${term_d} ${data} 26 27 Check ACL in ETCD - TCP 28 [Arguments] ${node} ${acl_name} ${egr_intf1} ${ingr_intf1} 29 ... ${acl_action} ${dest_ntw} ${src_ntw} ${dest_port_low} 30 ... ${dest_port_up} ${src_port_low} ${src_port_up} 31 ... ${tcp_flags_mask} ${tcp_flags_value} 32 [Documentation] 33 ... Get ACL data from ETCD 34 ... and verify response against expected data. 35 ${acl_d}= Get ACL As Json ${node} ${acl_name} 36 ${data}= OperatingSystem.Get File ${CURDIR}/../../resources/acl/acl_TCP.json 37 ${data}= Replace Variables ${data} 38 ${data}= Strip String ${data} 39 ${acl_d}= Strip String ${data} 40 Should Be Equal As Strings ${data} ${acl_d} 41 42 Check ACL in ETCD - UDP 43 [Arguments] ${node} ${acl_name} 44 ... ${egr_intf1} ${ingr_intf1} ${egr_intf2} ${ingr_intf2} 45 ... ${acl_action} ${dest_ntw} ${src_ntw} ${dest_port_low} 46 ... ${dest_port_up} ${src_port_low} ${src_port_up} 47 [Documentation] 48 ... Get ACL data from ETCD 49 ... and verify response against expected data. 50 ${acl_d}= Get ACL As Json ${node} ${acl_name} 51 ${data}= OperatingSystem.Get File ${CURDIR}/../../resources/acl/acl_UDP.json 52 ${data}= Replace Variables ${data} 53 ${data}= Strip String ${data} 54 ${acl_d}= Strip String ${data} 55 Should Be Equal As Strings ${data} ${acl_d} 56 57 Check ACL in ETCD - ICMP 58 [Arguments] ${node} ${acl_name} ${egr_intf1} ${ingr_intf1} 59 ... ${acl_action} ${dest_ntw} ${src_ntw} 60 ... ${icmpv6} ${code_range_low} ${code_range_up} ${type_range_low} ${type_range_up} 61 [Documentation] 62 ... Get ACL data from ETCD 63 ... and verify response against expected data. 64 ${acl_d}= Get ACL As Json ${node} ${acl_name} 65 ${data}= OperatingSystem.Get File ${CURDIR}/../../resources/acl/acl_ICMP.json 66 ${data}= Replace Variables ${data} 67 ${data}= Strip String ${data} 68 ${acl_d}= Strip String ${data} 69 Should Be Equal As Strings ${data} ${acl_d} 70 71 Put ACL TCP 72 [Arguments] ${node} ${acl_name} ${egr_intf1} ${ingr_intf1} 73 ... ${acl_action} ${dest_ntw} ${src_ntw} ${dest_port_low} 74 ... ${dest_port_up} ${src_port_low} ${src_port_up} 75 ... ${tcp_flags_mask} ${tcp_flags_value} 76 ${data}= OperatingSystem.Get File ${CURDIR}/../../resources/acl/acl_TCP.json 77 ${uri}= Set Variable /vnf-agent/${node}/config/vpp/acls/${AGENT_VER}/acl/${acl_name} 78 ${data}= Replace Variables ${data} 79 #OperatingSystem.Create File ${REPLY_DATA_FOLDER}/reply.json ${data} 80 Put Json ${uri} ${data} 81 82 Put ACL UDP 83 [Arguments] ${node} ${acl_name} ${egr_intf1} ${ingr_intf1} ${egr_intf2} ${ingr_intf2} ${acl_action} ${dest_ntw} ${src_ntw} ${dest_port_low} ${dest_port_up} ${src_port_low} ${src_port_up} 84 ${data}= OperatingSystem.Get File ${CURDIR}/../../resources/acl/acl_UDP.json 85 ${uri}= Set Variable /vnf-agent/${node}/config/vpp/acls/${AGENT_VER}/acl/${acl_name} 86 ${data}= Replace Variables ${data} 87 #OperatingSystem.Create File ${REPLY_DATA_FOLDER}/reply.json ${data} 88 Put Json ${uri} ${data} 89 90 Put ACL MACIP 91 [Arguments] ${node} ${acl_name} ${egr_intf1} ${ingr_intf1} ${acl_action} ${src_addr} ${src_addr_prefix} ${src_mac_addr} ${src_mac_addr_mask} 92 ${data}= OperatingSystem.Get File ${CURDIR}/../../resources/acl/acl_MACIP.json 93 ${uri}= Set Variable /vnf-agent/${node}/config/vpp/acls/${AGENT_VER}/acl/${acl_name} 94 ${data}= Replace Variables ${data} 95 #OperatingSystem.Create File ${REPLY_DATA_FOLDER}/reply.json ${data} 96 Put Json ${uri} ${data} 97 98 Put ACL ICMP 99 [Arguments] ${node} ${acl_name} ${egr_intf1} ${ingr_intf1} ${acl_action} ${dest_ntw} ${src_ntw} ${icmpv6} ${code_range_low} ${code_range_up} ${type_range_low} ${type_range_up} 100 ${data}= OperatingSystem.Get File ${CURDIR}/../../resources/acl/acl_ICMP.json 101 ${uri}= Set Variable /vnf-agent/${node}/config/vpp/acls/${AGENT_VER}/acl/${acl_name} 102 ${data}= Replace Variables ${data} 103 #OperatingSystem.Create File ${REPLY_DATA_FOLDER}/reply.json ${data} 104 Put Json ${uri} ${data} 105 106 Get ACL As Json 107 [Arguments] ${node} ${acl_name} 108 ${key}= Set Variable /vnf-agent/${node}/config/vpp/acls/${AGENT_VER}/acl/${acl_name} 109 ${data}= Read Key ${key} 110 ${data}= Set Variable If '''${data}'''=="" or '''${data}'''=='None' {} ${data} 111 [Return] ${data} 112 113 Get All ACL As Json 114 [Arguments] ${node} 115 ${key}= Set Variable /vnf-agent/${node}/config/vpp/acls/${AGENT_VER}/acl 116 #${data}= etcd: Get ETCD Tree ${key} 117 ${data}= Read Key ${key} true 118 ${data}= Set Variable If '''${data}'''=="" or '''${data}'''=='None' {} ${data} 119 [Return] ${data} 120 121 Delete ACL 122 [Arguments] ${node} ${name} 123 ${uri}= Set Variable /vnf-agent/${node}/config/vpp/acls/${AGENT_VER}/acl/${name} 124 ${out}= Delete key ${uri} 125 [Return] ${out}