# # ChangeLog for /src/noit_check_rest.c # # Generated by Trac 0.10.3 # 05/24/13 10:26:45 # 09/15/11 14:45:15 gdusbabek <gdusbabek@gmail.com> [6033f87e442f369d5fbf40e27d9a1755e0d6ecce] * src/noit_check_rest.c (modified) remove uneeded resolve_rtype and cleanup 09/14/11 15:59:49 gdusbabek <gdusbabek@gmail.com> [e2422ef3902d44137a67bacf12c21559325989c4] * src/modules/check_test.c (modified) * src/noit_check.c (modified) * src/noit_check.h (modified) * src/noit_check_rest.c (modified) fix long line goobers 09/14/11 15:59:49 gdusbabek <gdusbabek@gmail.com> [212da6e4b6f6b0af9ea0a9ceba106f42a1ea04df] * src/modules/check_test.c (modified) * src/noit_check.c (modified) * src/noit_check.h (modified) * src/noit_check_rest.c (modified) apply resolve_rtype to check flags 09/14/11 15:59:49 gdusbabek <gdusbabek@gmail.com> [a33aa52dc08eb296a042f396243bde78cf840b99] * src/noit_check.h (modified) * src/noit_check_rest.c (modified) validate resolve_rtype and show in xml 02/20/11 15:50:57 Theo Schlossnagle <jesus@omniti.com> [09ecd288337978ca01c842684ec58b4bad68ce6e] * src/eventer/eventer.h (modified) * src/eventer/eventer_impl.c (modified) * src/eventer/eventer_jobq.c (modified) * src/eventer/eventer_jobq.h (modified) * src/modules/Makefile.in (modified) * src/modules/test_abort.c (added) * src/noit_check_rest.c (modified) * src/noit_check_tools.c (modified) * src/noit_check_tools.h (modified) * test/t/109_check_cancellation.t (added) * test/t/testconfig.pm (modified) This patch does a lot, all refs #351 * fix up the test harness to support noitd restarts and expected crashes * Add different cancellation methodologies to the jobq implemntation * "evil_brutal" which is the old siglongjmp way. * "cancel_deferred" which uses pthread_cancel w/ CANCEL_DEFERRED * "cancel_asynch" which uses pthread_cancel w/ CANCEL_ASYNCHRONOUS * Add a game over scenario is the cooperative cancellation mechanisms don't work and end up exhausting all the threads in a pool. * Reduce the minimum check period set via REST to 1s to enable better testing. NOTE: maybe this should be much smaller even. * Change the thread pool system to spawn as new jobs are queued. This isn't automatic demand-driven sizing, but rather we don't start the (N) threads until (N) events arrive (not necessarily concurrently). * Added a test_abort module that runs different types of faux workloads to assist in testing the functional correctness of each method. Workloads include, variable work time, variable method of cancellation type and interruptable (nanosleep) and uninterruptable (compute). * Added fairly thorough tests for each method under each workload condition. Tested on darwin (finding cancel_asynch to not work well). Needs testing on other platforms. 01/08/11 17:51:19 Theo Schlossnagle <jesus@omniti.com> [b553f9a4d73487ee85e5cfedf2cd67352b4d5e6b] * src/Makefile.in (modified) * src/java/com/omniti/jezebel/JezebelDispatch.java (modified) * src/java/com/omniti/jezebel/check/JDBC.java (modified) * src/java/com/omniti/jezebel/check/jmx.java (modified) * src/modules-lua/noit/module/haproxy.lua (modified) * src/modules-lua/noit/module/http.lua (modified) * src/modules-lua/noit/module/jezebel.lua (modified) * src/modules-lua/noit/module/memcached.lua (modified) * src/modules-lua/noit/module/munin.lua (modified) * src/modules-lua/noit/module/ntp.lua (modified) * src/modules-lua/noit/module/resmon.lua (modified) * src/modules-lua/noit/module/smtp.lua (modified) * src/modules-lua/noit/module/tcp.lua (modified) * src/modules-lua/noit/module/varnish.lua (modified) * src/modules/dns.c (modified) * src/modules/dns.xml (modified) * src/modules/lua.c (modified) * src/modules/ping_icmp.c (modified) * src/modules/snmp.c (modified) * src/modules/ssh2.c (modified) * src/noit_check.c (modified) * src/noit_check.h (modified) * src/noit_check_resolver.c (added) * src/noit_check_resolver.h (added) * src/noit_check_rest.c (modified) * src/noit_check_tools.c (modified) * src/noit_check_tools_shared.c (modified) * src/noit_conf_checks.c (modified) refs #340 This is a rather major change. Targets can now be hostnames in addition to IP addresses so long as //checks/@resolve_targets is not false. If a target is entered that does not look like an IP (inet_pton fails) then the check is marked as needing resolution NP_RESOLVE. A passive look-aside dns cache has been implemented in noit_check_resolver.c that is used to power the whole system and some reasonably simply console command have been provided: show dns_cache [fqdn1 [fqdn2]] -- shows the state dns_cache <fqdn> [fqdn2 [fqdn3]] -- submits for lookup no dns_cache <fqdn> [fqdn2 [fqdn3]] -- purges from cache The big change is that modules that relied on check->target to be an IP address are going to explode when names are provided. Instead, modules should now use target for the provided target (possibly a FQDN) and use target_ip (check->target_ip or check.target_ip) for a resolved IP address and also check for the case of empty string: (check->target_ip[0] == '\0') for the case that resolution has failed. In lua, the target_ip will be presented as nil in the case of failed name resolution. I believe I've updated all necessary components of the system for this to "just work" but people that have implemented their own check should update them before they elect to use non-IP addresses as targets. The dns subsystem supports both IPv4 and IPv6, but currently prefers IPv4 addresses if any are present. 06/29/10 16:44:13 Theo Schlossnagle <jesus@omniti.com> [1498116489374d46f4e29f25eb69bff7d72ee8e1] * src/noit_check_rest.c (modified) fixes #292 02/02/10 19:33:25 Theo Schlossnagle <jesus@omniti.com> [408e1b41bdb6ca5a28363b80d3055a602c80dcc3] * src/noit_check_rest.c (modified) require the filterset to exist 01/11/10 19:03:38 Theo Schlossnagle <jesus@omniti.com> [33756c85dc11cfd7fffd7acff7e4a3a2196fdc65] * src/noit_check_rest.c (modified) fixes #232 10/24/09 18:57:58 Theo Schlossnagle <jesus@omniti.com> [47a77d02f1268e637a4807266064909be566e1f7] * sql/sprocs/stratcon.get_storage_node_for_sid.sql (modified) * sql/sprocs/stratcon.map_uuid_to_sid.sql (modified) * sql/tables/stratcon.map_uuid_to_sid.sql (modified) * src/noit_check_rest.c (modified) * src/noit_defines.h (modified) * src/stratcon.conf.in (modified) * src/stratcon_datastore.c (modified) * src/stratcon_iep.c (modified) * src/stratcon_realtime_http.c (modified) * src/stratcon_realtime_http.h (modified) * ui/web/etc/httpd.conf.in (modified) * ui/web/htdocs/datapoint_browse_json.php (modified) * ui/web/htdocs/js/recon.js (modified) flag-day(stratcond,webconsole,database) get realtime graphs working on uuids 10/22/09 01:21:50 Theo Schlossnagle <jesus@omniti.com> [ecb7471db3eae36779832e1ef85f3365d57b9d63] * src/noit_check_rest.c (modified) * src/stratcon_jlog_streamer.c (modified) various compiler warnings 10/08/09 18:34:25 Brian Clapper <bclapper@omniti.com> [d83c60ec436c1936f4b7e575a76dc3fe546b6d04] * src/noit_check_rest.c (modified) * src/noit_filters_rest.c (modified) filtersets don't work over REST due to word mixups 10/05/09 21:56:44 Theo Schlossnagle <jesus@omniti.com> [421cec729c18ee6cb786551cedc7b2e672ea6ac9] * src/noit_check_rest.c (modified) XML_GET_CONTENT, you are poorly named 10/02/09 13:56:46 Theo Schlossnagle <jesus@omniti.com> [fc257c3a0ca0ba485d58c775959836e7fdc50721] * src/noit_check_rest.c (modified) * src/noit_filters_rest.c (modified) * src/noit_rest.c (modified) * src/noit_rest.h (modified) * src/stratcon_jlog_streamer.c (modified) closes #196 09/27/09 03:10:32 Theo Schlossnagle <jesus@omniti.com> [be06bddffbd230aec8cb74a84859977d59173f06] * src/noit_check_rest.c (modified) * src/noit_check_rest.h (modified) refactor this and expose some of the bits as helpful utility functions, refs #171 09/21/09 04:07:40 Theo Schlossnagle <jesus@omniti.com> [75ee62d07972a0eb07cde464b4d2244abd0b06ec] * src/Makefile.in (modified) * src/noit_check_rest.c (modified) * src/noit_filters.c (modified) * src/noit_filters.h (modified) * src/noit_filters_rest.c (added) * src/noit_rest.c (modified) * src/noit_rest.h (modified) * src/noitd.c (modified) programmatic configuration will have to suffice for now, closes #182 09/18/09 00:23:15 Theo Schlossnagle <jesus@omniti.com> [6f0b2ab04b6e742c4bac93acdc575612ceabcae1] * src/noit_check_rest.c (modified) refs #171, supports inherit flags on config stanzas 09/16/09 18:41:55 Theo Schlossnagle <jesus@omniti.com> [a4484cbe427852e7f5bed1cfb04af21d20728dac] * src/noit_check_rest.c (modified) allow custom error codes, refs #171 09/16/09 15:07:59 Theo Schlossnagle <jesus@omniti.com> [2082a78beb17f79bf82cda8b6f185dab85593bbe] * src/noit_check_rest.c (modified) * src/noit_rest.c (modified) * src/noit_rest.h (modified) switch the check add to PUT, makes more sense. refs #171 09/16/09 14:59:30 Theo Schlossnagle <jesus@omniti.com> [7f8de6fd1900ed5b0e0bb25a1bc167d8793fa2d7] * src/noit_check_rest.c (modified) * src/noit_rest.c (modified) * src/noit_rest.h (modified) support check deletes, refs #171 09/16/09 05:01:19 Theo Schlossnagle <jesus@omniti.com> [25fec2caf0dfcfa3c997f8f87f6c42d4e176cea0] * src/noit_check_rest.c (modified) * src/noit_conf.c (modified) * src/noit_conf.h (modified) * src/noit_conf_checks.c (modified) auto-save on REST add, refs #171 09/16/09 04:19:24 Theo Schlossnagle <jesus@omniti.com> [7010bc5b07e615c0314ff1c0ebb27bdf8420cca3] * src/noit_check.c (modified) * src/noit_check.h (modified) * src/noit_check_rest.c (modified) * src/noit_conf.c (modified) * src/noit_conf.h (modified) robust input validation, refs #171 09/15/09 05:37:42 Theo Schlossnagle <jesus@omniti.com> [914f04715e543bf76101c324e06a062e7a10b3ba] * src/noit_check.c (modified) * src/noit_check_rest.c (modified) * src/noit_rest.c (modified) * src/noit_rest.h (modified) adding checks, needs a lot of input validation, refs #171 09/13/09 14:43:17 Theo Schlossnagle <jesus@omniti.com> [02569455fdf31dd93db18514b0b4cda5d5181ff7] * src/Makefile.in (modified) * src/noit_check_rest.c (added) * src/noit_check_rest.h (added) * src/noit_check_tools.c (modified) * src/noit_check_tools.h (modified) * src/noit_conf_checks.c (modified) * src/noit_http.c (modified) * src/noit_http.h (modified) * src/noit_rest.c (modified) * src/noit_rest.h (modified) * src/noitd.c (modified) work on #171, getting check info works