1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
vtest "Basic test for peers protocol over SSL/TLS"
#REQUIRE_OPTIONS=OPENSSL
feature ignore_unknown_macro
#REGTEST_TYPE=slow
haproxy h1 -arg "-L A" -conf {
defaults
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
default-server ssl crt ${testdir}/common.pem verify none
bind "fd@${A}" ssl crt ${testdir}/common.pem
server A
server B ${h2_B_addr}:${h2_B_port}
server C ${h3_C_addr}:${h3_C_port}
server D ${h4_D_addr}:${h4_D_port}
frontend fe
bind "fd@${fe}"
tcp-request inspect-delay 100ms
tcp-request content track-sc0 url table stkt
tcp-request content sc-inc-gpc0(0)
}
haproxy h2 -arg "-L B" -conf {
defaults
mode http
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
default-server ssl crt ${testdir}/common.pem verify none
bind "fd@${B}" ssl crt ${testdir}/common.pem
server A ${h1_A_addr}:${h1_A_port}
server B
server C ${h3_C_addr}:${h3_C_port}
server D ${h4_D_addr}:${h4_D_port}
frontend fe
bind "fd@${fe}"
http-request track-sc0 url table stkt
http-request sc-inc-gpc0(0)
}
haproxy h3 -arg "-L C" -conf {
defaults
mode http
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
default-server ssl crt ${testdir}/common.pem verify none
bind "fd@${C}" ssl crt ${testdir}/common.pem
server A ${h1_A_addr}:${h1_A_port}
server B ${h2_B_addr}:${h2_B_port}
server C
server D ${h4_D_addr}:${h4_D_port}
frontend fe
bind "fd@${fe}"
http-request track-sc0 url table stkt
http-request sc-inc-gpc0(0)
}
haproxy h4 -arg "-L D" -conf {
defaults
mode http
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
bind "fd@${D}"
server A ${h1_A_addr}:${h1_A_port}
server B ${h2_B_addr}:${h2_B_port}
server C ${h3_C_addr}:${h3_C_port}
server D
frontend fe
bind "fd@${fe}"
http-request track-sc0 url table stkt
http-request sc-inc-gpc0(0)
}
client c1 -connect ${h1_fe_sock} {
txreq -url "/c1_client"
expect_close
} -start
client c2 -connect ${h1_fe_sock} {
txreq -url "/c2_client"
expect_close
} -start
client c3 -connect ${h1_fe_sock} {
txreq -url "/c3_client"
expect_close
} -start
client c4 -connect ${h1_fe_sock} {
txreq -url "/c4_client"
expect_close
} -start
haproxy h1 -start
delay 0.2
haproxy h2 -start
delay 0.2
haproxy h3 -start
delay 0.2
haproxy h4 -start
delay 0.2
client c1 -wait
client c2 -wait
client c3 -wait
client c4 -wait
delay 2
haproxy h1 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:4(\n0x[0-9a-f]*: key=/c[1-4]_client use=0 exp=0 shard=0 server_id=0 gpc0=1 conn_rate\\(50000\\)=1 conn_cur=0){4}"
}
haproxy h2 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:4(\n0x[0-9a-f]*: key=/c[1-4]_client use=0 exp=0 shard=0 server_id=0 gpc0=1 conn_rate\\(50000\\)=1 conn_cur=0){4}"
}
haproxy h3 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:4(\n0x[0-9a-f]*: key=/c[1-4]_client use=0 exp=0 shard=0 server_id=0 gpc0=1 conn_rate\\(50000\\)=1 conn_cur=0){4}"
}
haproxy h4 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:0\n"
}
|