forked from unixsurfer/anycast_healthchecker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
573 lines (485 loc) · 15.8 KB
/
ChangeLog
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
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
CHANGES
=======
0.9.1
-----
* RELEASE 0.9.1 version
* Update year in \_\_copyright\_\_
* Rephrase a sentence to eliminate the usege of black word
* Typo fixes
* Fix misleading docstring
* Update Debian Changelog
* Exit if configuration file passed with '-f' doesn't exist
* Document what exception load\_configuration() raises
0.9.0
-----
* RELEASE version 0.9.0 version
* Update year in \_\_copyright\_\_
* Simplify conditional statement
* Add support for custom Bird reconfigure per service
* Ensure correct variable name in Bird configuration
* Make docstring more clear
* Simplify return code from a function
* Add docopt in the requires-dist
* More clear log message
* Report information about the lock
* Fix typo in nagios check
* PEP257 compatible docstring for nagios check
* PEP257 compatible docstring for nagios check
* Log stack-trace when a thread dies
* Change the log severity to critical
* Call super in ServiceCheckDiedError
* Rename exception ServiceCheckDied to ServiceCheckDiedError
* Exit main program when a thread dies
* Update Copyright
* Update docstring/comment
* Remove unnecessary coding config
* Add Maximilian Wilhelm to AUTHORS
* Switch to integer for some default values
* Simplify loading default configuration
* Add support for delaying the 1st check
* Fix typo in README
* Rephrase a sentence
* Remove the dependencies to daemon and lockfile
* Disable pylint warnings
* Add configuration for building Debian packages
* Remove unused method \_update\_status
0.8.1
-----
* RELEASE 0.8.1 version
* Make the JSON formatted logs more compatible with syslog
0.8.0
-----
* RELEASE 0.8.0 version
* Fix a typo in README
* Remove trailing whitespace character
* Add Carlo Rengo in the contributers list
* Grammar fixes to improve readability
* Remove unnecessary sub-classing
* Remove unnecessary pylint config
* Dynamically set width in log formatter
* Fix typo in comment
* Print a more meaningful message
* Catch the case where pid is higher than allowed
* Rephrase some docstrings
* Remove from local\_run.sh redundant settings
* Refuse to start if one IP address is used by multiple service checks
* MAJOR: Drop support for daemonization
* Make docstrings compatible with EP257
0.7.4
-----
* RELEASE 0.7.4 version
* Update copyright
* Make sure we return the prefix length
* Add a 2nd IPv6 service check
* Reorder functions in utils module
* Refactor the way we check our bird settings
* Move the check for a directory to sanity check function
* Fail sanity check when config file and dir don't exist
* Fix incorrect format for enumerated list in README
* fix typo reqeusts->requests (issue #9)
* Mention that IPv6 or v4 is disabled for our software
* Fix type in on\_disabled setting
* Add puppet module
* Mention that parent directories for log and pifile files must be present
0.7.3
-----
* RELEASE 0.7.3 version
* Refuse to start when parent directory of pidfile is missing
* Turn on bird6\_keep\_changes in example config
* Make local.sh to create directories under var/lib
* Remove the logic, which creates parent directories
* Add Returns and Returns section in docstring
* Update example configuration
0.7.2
-----
* RELEASE 0.7.2 version
* Add empty line for proper parsing
* Create anycast-prefixes.conf configuration
* PEP257 compatible docstring
* Use os.path.join to build the file path
* Better handling of symbolic links for bird config
* Make docstrings compatible with EP257
* Add ipv4 setting in the configuration generated by local.sh
* Tiny updates on README
0.7.1
-----
* RELEASE 0.7.1 version
* Update local\_run.sh with latest config
* Don't handle bird configuration in local\_run.sh
* Allow floating numbers for check\_[timeout,interval]
* Instruct Systemd to restart daemon upon failure
* Use standard path rather our custom one
* Mention that prefix length is optional
* Fetch the correct parameter name
* Return boolean value instead of a string
* Update example anycast-healthchecker.conf
0.7.0
-----
* RELEASE 0.7.0 version
* Drop 3.4 version of python for the local\_run
* Rephrase usage of CLI
* MAJOR: Add support for IPv6
0.6.3
-----
* RELEASE 0.6.3 version
* Add a note for bird\_conf setting
* Keep a history of changes for bird configuration
* Add support for specifying a single service check
0.6.2
-----
* RELEASE 0.6.2 version
* Remove die parameter from get\_ip\_prefixes\_from\_bird
* Remove unnecessary call to rstrip function
* Use ConfigParser method to fetch configuration
* Don't exit when there aren't any service checks
* Make the use of format consistent in multi-line
* Add support for removing IP-Prefixes without a check
* Move functions to utils module
* Use double quotes silence error with bash 4.4 version
0.6.1
-----
* RELEASE 0.6.1 version
* Include IP address and prefix length in JSON blob
0.6.0
-----
* RELEASE 0.6.0 version
* Rephrase sentences and fix typos in README
* Restructure documentation about settings in README
* Add option to disable the IP assignment check
* Simplify sanity check on configuration
* Log stderr and stdout of check cmd when it fails
* Rephrase some comments
* Add Documentation option in the Systemd unit file
0.5.10
------
* RELEASE 0.5.10 version
* Set more accurate sleep time to avoid interval drifting
* Add contrib dir and move files there
0.5.9
-----
* RELEASE 0.5.9 version
* Remove inaccurate note from README
* Catch the case where check\_cmd can't be killed
* Skip string formatting operation
0.5.8
-----
* RELEASE 0.5.8 version
* Put keywords in 1 line
* Remove empty line
* Work around intermittent ValueErrors
* Add more keywords in setup.cfg
0.5.7
-----
* RELEASE 0.5.7 version
* Change the order of logging a message
* Update bird config when IP isn't assigned to lo
* Update installation instructions
* Update setup.cfg
* Make pylint happy
0.5.6
-----
* RELEASE 0.5.6 version
* Add 'status' key in the JSON blob
* Fix line break before binary operator
* Rewrite docstring of LoggerExt class
* Another set of docstring updates
* Update TODO
* Update docstrings and comments
* Use a more proper name for a variable
* Remove unused reference from README
* Update copyright
0.5.5
-----
* RELEASE 0.5.5 version
* Update TODO.rst
* Enforce HTTP keep-alive on requests
0.5.4
-----
* RELEASE 0.5.4 version
* Fix an indentation issue
* Fix a crash with python-daemon>=2.1
0.5.3
-----
* RELEASE 0.5.3 version
* Use lowercase for the status when is in transition
* Change log level when IP isn't assigned to lo
* Do not send JSON blob for debug messages
* Log only failures when sending JSON blobs
* Reorder the message about zero IP prefixes
* Include the process ID in the header
0.5.2
-----
* RELEASE 0.5.2 version
* Update TODO
* Use lowercase everywhere to simplify log parsing
* Print also the frame stuck
* Remove newline character from the error output
* Implement a more atomic way to update bird conf
* Disable pylint warnings for too-many-arguments
* Store anycast-prefixes.conf under /var/lib/
0.5.1
-----
* RELEASE 0.5.1 version
* Add a module docstring
* Add a warning when all IP prefixes are removed
* Shorten some lines to make pylint happy
* Add module and classes docstrings
* Add support of populating JSON structure
* Rename variable for shorting the length of a line
* Make possible to disable the sending of JSON blobs
* Disable pylint warning attribute-defined-outside-init
* Remove the JSON blob from the log messages
* Wait a bit before starting again the daemon
* Add docstring for a function
* Remove string interpolation within logging calls
* Add version of the daemon in the JSON blob
* Rename a variable for shorting the length of lines
* Add requests module in requirements.txt
0.5.0
-----
* RELEASE 0.5.0 version
* Add support for JSON logging to a remote point
0.4.5
-----
* RELEASE 0.4.5 version
* Catch the error on bird reload due to missing cmd
* Remove unnecessary call to close()
0.4.4
-----
* RELEASE 0.4.4 version
* Update docstring of ip\_prefixes\_check()
* Remove import of an unused exception
* Change the way we handle IP prefixes without check
* Add Ralf Ertzinger in the contributers list
* Add some corrections in README
* Rewrite routing protcol overview
* Add contributers section
0.4.3
-----
* RELEASE 0.4.3 version
* Fix a regression introduced by 168f9aab
0.4.2
-----
* RELEASE 0.4.2 version
* Change the way threads pass operations
* Fix a regression introduced by 37aa574b1159
* Simplify the update of bird configuration
* Call anycast-healthchecker from the virtualenvironment
* Remove unnecessary catch of Empty exception
* Remove unnecessary block on threads
* Modify README based on the feedback received
* ServiceCheck: simplify code by removing superfluous lines
* switch to split from shlex
* tiny changes on modifications from @ndemou
* New Introduction + minor spelling, grammar syntax
* More clear and simple introduction
0.4.1
-----
* RELEASE 0.4.1 version
* mention the use of virtualenvwrapper tool in Testing section
* another set of small updates on README
* fix broken reference in README
* several changes on README
* fix typo in README
* use correct statement to include images
* add drawings to illustrate how anycasted traffic is routed
* tiny fixes in README
* local\_run: get only the list of IPv4 addresses
* tiny fixes on README
* fix typos in README
* add details in README on how someone can test the software
* fix typo in README
* local\_run: report if bird is running
* several clean ups on local\_run
0.4.0
-----
* RELEASE 0.4.0 version
* ServiceCheck: rearrange the check of IPs in lo interface
* correct the directory path which contains the service checks
* add/remove items from README
* remove OPTIONS variable as its settings aren't supported anymore
* change path of the daemon
* change the default directory location for services check configs
* another set of updates on README
* fix for real the typos in README
* fix typos in README
* some tiny updates on README
* add support for bird\_reconfigure\_cmd
* reStructured text is fun:-(
* Revert "align left the parameter names"
* align left the parameter names
* small corrections on README
* update diagram about RIB in bird
* update diagram about RIB in bird
* add proper description/examples/configution
* add example and working bird configuration
* use a more reasonable default value for log\_backups option
* ServiceCheck: remove unnecessary check for wrong value for on\_disabled option
* ServiceCheck: updates on docstrings/comments
* HealthChecker: docstrings/comment updates
* add an item to TODO
* more useful logging on startup
* make pylint happy by shorten length of lines
* remove items from TODO list
* include an example anycast-healthchecker.conf file
* healthchecker: remove unnecessary import of re module
* remove unnecessary empty line
* healthchecker: use get\_ip\_prefixes\_from\_bird to fetch IP prefixes
* ServiceCheck: remove unnecessary code
* local\_run: drop sleep as it isn't needed anymore
* MAJOR: drop event system as it is not needed anymore
* local\_run: use correct file extension
* utils: get\_ip\_prefixes\_from\_bird returns a list
* HealthChecker: docstring updates
* utils: remove unnecessary commented lines
* utils: fix typo in variable name
* utils: docstrings updates
* BUG: always perform sanity checks
* BUG:perform sanity check before we check if daemon is running
* add support for showing configuration
* add items in TODO list
* remove items from TODO which are completed
* MAJOR:switch to INI files with configparser and docopt for CLI
* add item in TODO
* use the 'to' option in ip tool to list addresses matching the prefix
0.3.0
-----
* RELEASE 0.3.0 version
* no need to close file handler as 'with' statement does it
* remove another item from TODO
* one item from TODO is finished
* sys.exit can print as well:-)
* remove unused constant
* detect the case where Ddummy ip prefix is missing from bird conf
* detect prefixes in bird without a configuration
* serviceCheck and healthchecker classes get a config option
* configuration\_check accept a config object rather a dir with conf files
* provide a get\_config() to parse json files and return a dict
* add get\_config\_files() to return the absolute path of json files
* utils:configuration\_check:mention the value for invalid types
* move running function to utils module
* allocate a pid file after all checks has been passed
* refactor configuration\_check function
* remove items from TODO which are completed
* exit if we can't write to bird configuration file
* don't print filename as it is mentioned in exception message
* add support for supplying dummy IP prefix in CLI
* make sure log files exists before we start
* add a touch function in utils module
* introduce utils module with valid\_ip\_prefix function
* remove unused code from local\_run
* one item from TODO is implemented
* add support for version in CLI, print it to log as well
* update TODO
0.2.2
-----
* RELEASE 0.2.2 version
* proper shebang
0.2.1
-----
* RELEASE 0.2.1 version
* polish some log messages, no code changes
* reset always counters for states to zero when state is in transition
* more updates on local\_run
* updates on TODO
* permission changes
* use birdc rather birdcl to reconfigure bird
* adjust interval in service checks
* updates on local\_run
* updates on local\_run
* local\_run assign IPs and install bird configuration
* some updates on local\_run
* exit when parsing bird configuration results to an empty list of IP prefixes
* a script to run the daemon on a development node
* update AUTHORS
* proper handling of invalid data on pid file
* update TODO
* update TODO
* add Systemd unit file
* more updates on TODO
* update TODO
* add TODO file
* proper RST
* add a proper README file
* replace domain in an example conf
* use gmail mail address
* remove old readme
* better catch of IPs in bird config
* include license to \_\_init\_\_
* change License to Apache v2.0
0.2.0
-----
* RELEASE 0.2.0 version
* add some useful info in \_\_init\_\_
* servicecheck.py: less versbose warning
* servicecheck.py: check if we hare received stop signal before perform IP check
* ServiceCheck.py: check was unnecessarily executed twice
* main.py: call configuration checking
* add requirements file
* add a function to perform a sanity check on the configuration
* servicecheck: Tiny rewrite of comment
* servicecheck: Renamed previou\_state to check\_state
* Fixed argument name collision
* Fixed typo
* Made configurable the rotation policy for log files
* \_update\_bird\_prefix\_conf(): Doc string update
* Report valid values for on\_disabled setting
* Update ChangeLog
0.1.1
-----
* Tiny change on the comment we place on BIRD config file
* More docstrings and comment updates
* Tiny docstring update
* More pythonic way of loading module
* Spread logic from main.py to individual module files
* Update docstrings and add some comments
* Handle misconfiguration better
* More PEP8 friendly indentation
* Tiny refactoring
* print on stdout and on stderr loggers that we are daemonized
* added pylint filtering
* set umask to 022 to avoid write access for others on log files
* Cosmetic change: Report check duration earlier
* Updated ChangeLog
* fixed path README
0.1.0
-----
* added git push --tags step in README
* Added (finally) some text in README
* Renamed variable is\_updated -> bird\_updated
* another small doc update
* Various small docstrings updates
* Rewrote ServiceCheck class docstring and changed log severity to error
* Fixed indentation issue and rewrote message when IP-PREFIX is configured
* Catch the case where conf says check disabled but value for on\_disabled is wrong
* Changelog updated
0.0.9
-----
* Better handling of errors when we reload bird
* Fixed typos
* Changelog updated
0.0.8
-----
* Added program name in the header of bird configuration
* Detect if IP-PREFIX is assigned to loopback interface
* changelog
0.0.7
-----
* mpla
0.0.6
-----
* Constant name is configurable, sysconfig file
* Cosmetic change
* removed unused script
0.0.4
-----
* mpla
0.0.3
-----
* mpla
0.0.2
-----
* trying to make it to build
0.0.1
-----
* Initial