File: basic_sync.vtc

package info (click to toggle)
haproxy 3.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 24,600 kB
  • sloc: ansic: 275,217; sh: 3,607; xml: 1,756; python: 1,345; makefile: 1,162; perl: 168; cpp: 21
file content (135 lines) | stat: -rw-r--r-- 3,346 bytes parent folder | download
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
vtest "Basic test for peers protocol"
feature ignore_unknown_macro

#REGTEST_TYPE=slow

haproxy h1 -arg "-L A" -conf {
    global
    .if feature(THREAD)
        thread-groups 1
    .endif

    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
        bind "fd@${A}"
        server A
        server B ${h2_B_addr}:${h2_B_port}
        server C ${h3_C_addr}:${h3_C_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 {
    global
    .if feature(THREAD)
        thread-groups 1
    .endif

    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@${B}"
        server A ${h1_A_addr}:${h1_A_port}
        server B
        server C ${h3_C_addr}:${h3_C_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 {
    global
    .if feature(THREAD)
        thread-groups 1
    .endif

    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@${C}"
        server A ${h1_A_addr}:${h1_A_port}
        server B ${h2_B_addr}:${h2_B_port}
        server C

    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

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}"
}