Commit 18114ee
authored
healthcheck: A brand new Healthcheck that realizes vip/vip-port/backend 3-tier topology, and supports flexible actioner/checker configurations for each layer.
* healthcheck: main and manager module
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: metric server
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: comm module
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: service-lister
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: virtual-address module
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: virtual-service module
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: checkere module
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: fix metric server problem
1. Stop metric server after all checkers done.
2. Fix state duration update and display problem.
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: fix crash problem in stopping
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: add more checker method frames, fix thunder herd problem and minus count problem
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: sort metric data
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: support cache entry deletion in metric server
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement tcp checker
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: align metric server outputs
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement udp checker
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement ping checker
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: terminate VAs, VSs and Checkers concurrently and asynchronously
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement udpping checker
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: fix some counting problems
1. VA's VS counting turbulence problem.
2. VS's Backend counting turbulence problem.
3. up/down retry counting skew problem.
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement http checker
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: add more testing codes for checker methods
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement BackendUpdate actioner
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: udp checker return Healthy rather than Unknown when state undetermined
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: name more empty actioners
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement KernelRouteAddDel actioner
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement Script actioner
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: use extra params for actioner creation to avoid contaminating configs from file
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement DpvsAddrAddDel actioner
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement DpvsAddrKernelRouteAddDel actioner
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement blank actioner
Signed-off-by: ywc689 <ywc689@163.com>
* export types for parsing config from yaml file, and provide config sample/template files
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: add HTTP APIs for config file lookup and validation
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: implement config file reloader
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: conf validation support tpye-proned params
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: Fix config validation failure caused by auto check param
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: fix 2 minor problems found in code review by Copilot
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: fix several problems for config update
1. Merge correct default configs for VAs and VSs.
2. Call VA actioner creation with DpvsAgentAddr param, which is essential for some ationer types.
3. Make actioner params config independent of actioner method.
4. Checkers send health state notice on config updates only when necessary.
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: add checker and va-down-policy annotations to conf metric server outputs
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: fix more problems for config dynamic update
1. Set VA state to Unhealthy when no VS configured.
2. Fix update failure problems of VA down-policy and Checker interval.
3. Reset VA/VS state to default state (Unhealthy/Healthy respectively) before changing actioner.
4. Do update even if service deployment revision version is unchanged to support dynamic config updates.
5. Add logs before configs are actually updated.
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: fix problems in checker retry and update config sample file
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: add license banner message
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: reduce config file reload interval from 177s to 53s
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: add doc README.md
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: set backend weight to 0 when unhealthy
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: add script for service backend replace test
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: fix high cpu utilization problem caused by busy polling in running task and metric server
The healthcheck CPU utilization is up to 300% even if no healthcheck tasks are running. As shown in the
pprof-cpu report in ./test/cpu-profile001.svg, the problem is caused by the unnecessary "default" clause
which make the "select" loop busy polling.
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck2: add stress test doc
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: replace healthcheck with healthcheck2
Signed-off-by: ywc689 <ywc689@163.com>
* healthcheck: fix issues reported by Copilot code review
Signed-off-by: ywc689 <ywc689@163.com>
---------
Signed-off-by: ywc689 <ywc689@163.com>1 parent 8f62a3a commit 18114ee
File tree
66 files changed
+8191
-2619
lines changed- tools/healthcheck
- conf
- pkg
- actioner
- checker
- comm
- helthcheck
- test
- lb
- manager
- types
- utils
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
66 files changed
+8191
-2619
lines changedThis file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
22 | 32 | | |
23 | 33 | | |
24 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
0 commit comments